-
Universit dAvignon et des Pays de VaucluseCERI, M1-M2
Alternance, 2009-2010
Scurit des Systmes dInformation et des Rseaux :
Cryptographie
Khalil IBRAHIMI
Laboratoire dInformatique dAvignon (LIA)Laboratoire d
Informatique d Avignon (LIA)
1Contact : [email protected]
PlanPlanChapitre 1 : Concepts gnraux et dfinitions;
Chapitre 2 : Aspects techniques de la cryptographie
symtrique;
Chapitre 3 : Aspects techniques de la cryptographie
asymtrique;asymtrique;
Ch it 4 A th tifi ti h h i t tChapitre 4 : Authentification,
hachage, signature et gestion de cls;
2
HSCTDOC.blogspot.com
-
RfrencesRfrences
1- Titre : Cryptographie applique : protocoles, algorithmes, et
code yp g p pp q p , g ,source en C,Auteur : Bruce Schneier.
2- Titre : Handbook of Applied Cryptography, Auteurs : A.
Menezes, P. van Oorschot and S.
Vanstone.http://www.cacr.math.uwaterloo.ca/hac/index.htmlhttp://www.cacr.math.uwaterloo.ca/hac/index.html
Chapitre 1 : Concepts gnraux et dfinitionsChapitre 1 : Concepts
gnraux et dfinitions
4
HSCTDOC.blogspot.com
-
Cryptologieyp g
Cryptographie Cryptanalyse
CryptosystmeSymtriques
CryptosystmeAsymtrique
Confidentialit desConfidentialit des informations transmises
ou
stockes
5Schma gnral de la cryptologie
Quelques applications civiles :Quelques applications civiles
:
Protocoles cryptographiques scuriss tels que : Protocole dIBM de
gestion de cls secrtes,
Kerberos Kerberos, SSL, IPsec,
Systme de paiement scurisC t t t ti b i Carte puce et
transactions bancaires
change confidentiel de donnes mdicales, juridiques,
Rseaux tlphoniques (Tlphonie fixe et mobile, fax, ) )
HSCTDOC.blogspot.com
-
A quoi sert la cryptographie?A quoi sert la cryptographie?
Confidentialit des informations stockes ou transmises. Seuls les
utilisateurs autoriss peuvent accder linformation.
Intgrit des informations stockes ou transmises. Seuls les
utilisateurs autoriss peuvent modifier linformation.
Authentification des utilisateurs. Lutilisateurs est-il ou non
autoris ? L utilisateurs est-il ou non autoris ?
Rendre une information incomprhensible.p
Concepts gnraux et dfinitionsConcepts gnraux et dfinitions
Objectif principal dun cryptosystme est de chiffrer un message
en clair en un message chiffr appel cryptogramme. Ce message ne
doit pas tre dchiffr par les cryptanalystesCe message ne doit pas
tre dchiffr par les cryptanalystes, dcrypteurs, hackeurs,
Il doit tre uniquement dchiffr par le destinataire lgitime Un Il
doit tre uniquement dchiffr par le destinataire lgitime. Un
cryptosystme est caractris par cinq composants :
Un espace M = {M1 M2 } des messages en clair;Un espace M = {M1,
M2, } des messages en clair;
Un espace C = {C1, C2, } des messages chiffrs;
Un espace K = {K1, K2, } des cls;
8
HSCTDOC.blogspot.com
-
Concepts gnraux et dfinitionsConcepts gnraux et dfinitions
Un algorithme de chiffrement paramtr par une cl K dans Un
algorithme de chiffrement paramtr par une cl K dans K
Un algorithme de dchiffrement paramtr par une cl K dans K
9
Concepts gnraux et dfinitionsConcepts gnraux et dfinitions
Cryptosystme :
Message en clair (M) + algorithme de chiffrement (E) avec la cl
K;ou bienou bien
Algorithme de dchiffrement (D) + Message chiffr (C) + toutes les
cls possibles K et K.
Un cryptosystme moderne doit satisfaire les conditions suivantes
:
Les algorithmes de chiffrements (E) / dchiffrement (D) doivent
tre oprationnels pour tout cl K stables ils sont publiquement
connus (grandoprationnels pour tout cl K, stables ils sont
publiquement connus (grand public, );
La scurit de systme doit reposer uniquement sur le secret des
cls K et K.
=> Ce qui donne naissance aux cryptosystmes usage gnral.
10
HSCTDOC.blogspot.com
-
Cryptosystmes usage gnraleCryptosystmes usage gnrale
Les cryptosystmes modernes sont conus en tenant compte des
conditions prcdentes. Ils forment deux classes de cryptosystmes :
Symtrique et Asymtrique.
Les cryptosystmes symtriques sont synonymes de systmes
cryptographiques cls secrtes ou prives Une mme cl K est
utilisecryptographiques cls secrtes ou prives. Une mme cl K est
utilise pour le chiffrement et dchiffrement cest--dire K = K.
G l t l l ith t tili l hiff t t l Gnralement un seul algorithme
est utilis pour le chiffrement et le dchiffrement (D = E).
Le secret de la cl de chiffrement / dchiffrement est donc partag
entre metteur A et rcepteur B.
11
Cryptosystmes usage gnraleCryptosystmes usage gnrale
Message en l i M
Message en clair M
Dchiffrement
clair M clair M
ChiffrementC = EK (M)
DchiffrementM = DK (C)
Canal de communication non scuris
Message chiffr C
tt A Rcepteur B
Cl K Cl K
metteur A Rcepteur B
12Fig 1 : Synoptique gnrale dun cryptosystmes usage gnrale
HSCTDOC.blogspot.com
-
Cryptosystmes usage gnraleyp y g g
metteur A Rcepteur B
Message en l i M
metteur A p
Message en clair M
Dchiffrement
clair M clair M
ChiffrementC = EK (M)
DchiffrementM = DK (C)
Canal de communication non scuris
Message chiffr C
Cl K Cl K
Canal de communication scuris pour changer la cl K
13Fig 2 : Synoptique gnrale dun cryptosystmes cl symtrique
Cryptosystmes cl symtriqueCryptosystmes cl symtrique
Avantages Rapidit de chiffrement / dchiffrement,
C fid ti lit l l l tili t ( t ti d fi hi d Confidentialit locale
par un seul utilisateur (protection de fichiers dans une
machine),
Champs dapplication trs vaste (Banques, communications
tlphoniques),
Longueur de la cl relativement petite code entre 40 bits et 256
bits.
Inconvnients Si la cl est compromise (vole, pirate, ) le systme
nest plus fiable
et donc plus de confidentialitet donc plus de confidentialit,
Dans un rseau de N correspondants, il faut distribuer N (N-1)/2
cls
par des canaux sr et donc problme de distributions des cls par
des voies scurises
14
voies scurises.
HSCTDOC.blogspot.com
-
Cryptosystmes cl symtriqueCryptosystmes cl symtrique
Outils Substitution, Transposition,Transposition, Ou Exlusif,
Dcalage logique,
C bi i d f ti i d Combinaison des fonctions ci-dessus.
Exemples de ralisationp DES, IDEA,
MARS MARS, 3DES,
15
Cryptosystmes usage gnraleCryptosystmes usage gnrale
L t d t t t i t i t d it 1976 Le concept de cryptosystmes
asymtriques a t introduit, en 1976, par Delfie Hellman. Lide de
base est repose essentiellement sur deux algorithmes Ek diffrent de
Dk pour K diffrent de K (voir la figure 3 ci-aprs)aprs).
Ce cryptosystme met en jeu deux cls, une pour le chiffrement (K)
et une autre pour le dchiffrement (K). De ce fait, chaque
utilisateur doit possder une paire de cl (K, K). La cl k est appele
publique Kp : elle peut tre rendue publique dans un annuaire, une
base de donne. Lautre cl K est
l i K d i d dappele prive Kpr doit tre garder secrte et nest
connue que de son propritaire.
La cl Kp est utilise pour le chiffrement du message en clair
M.
La cl Kpr est utilise pour le dchiffrement du message chiffr
C
16
La cl Kpr est utilise pour le dchiffrement du message chiffr
C.
HSCTDOC.blogspot.com
-
Cryptosystmes usage gnraleyp y g g
metteur A Rcepteur B
Message en l i M
metteur A p
Message en clair M
Dchiffrement
clair M clair M
ChiffrementC = EK (M)
DchiffrementM = DK (C)
Canal de communication non scuris
Message chiffr C
Cl K Cl K
17Fig 3 : Synoptique gnrale dun cryptosystmes cl asymtrique
Aspects techniques de la cryptographie asymtrique
Diffrente possibilits dutilisation de Kp et Kpr Diffrente
possibilits dutilisation de Kp et Kpr
1 Confidentialit (voir la figure 4)1. Confidentialit (voir la
figure 4) Il sagit de garantir le secret de linformation transmise
ou
archive. S it A tili t l i d l i t K A l l Soit A un utilisateur
avec la paire de cl suivante : KpA la cl publique, KprA la cl
prive,
Soit B un utilisateur avec la paire de cl suivante : KpB la cl
bli K B l l i publique, KprB la cl prive,
A est lmetteur du message chiffr et B est le rcepteur de ce
message.
18
HSCTDOC.blogspot.com
-
Message en clair M
Message en clair M
Chiffrement DchiffrementCanal de communication non
scurisChiffrementC = EKpB (M)
M = DKprB (C)Canal de communication non scuris
A chiffre le message M avec
Message chiffr C
KpBB dchiffre le
message C avec sa
message M avec la cl publique de B provenant dun
centre de di ib i
K A
cl prive tenue secrte
distribution
KpA
KpB Centre de distribution
Canal de communication
non scuris
metteur A Rcepteur B
de cls publiques
19Fig 4 : Synoptique du mcanisme de confidentialit
Aspects techniques de la cryptographieAspects techniques de la
cryptographie asymtrique
Dans ce schma, le chiffrement / dchiffrement est ralis
uniquement en utilisant la paire de cl de B (K B K B)uniquement en
utilisant la paire de cl de B (KpB, KprB).
A chiffre le message M avec la cl publique B C = EkpB (M).g p q
p ( )
B dchiffre le message c avec sa cl prive M = DkprB (C).
Linconvnient majeur est que lauteur du message nest pas forcment
identifi et peut tre anonyme (que les cls publiqueforcment identifi
et peut tre anonyme (que les cls publique
qui sont connus).
20
HSCTDOC.blogspot.com
-
Aspects techniques de la cryptographie asymtrique
2 Authentification (voir la figure 5)
Il i d i l i i d i f i (l i Il sagit de garantir lorigine dune
information (le courrier lectronique, un bon de commande transmis
en ligne),
A chiffre le message M avec sa cl prive tenue secrte A chiffre
le message M avec sa cl prive tenue secrte
(KprA) (C = EkprA(M),
B dchiffre le message c avec la cl publique de A (kpA)
M = DkpA(C) = DkpA[EkprA(M)],M Dkp (C) Dkp [Ekpr (M)],
Dans ce schma, le chiffrement / dchiffrement seffectue en
utilisant uniquement la pair de cl de A (kpA, kprA).
21
p p
Aspects techniques de la cryptographieAspects techniques de la
cryptographie asymtrique
B identifie A en tilisant la cl p bliq e de A po r dchiffrer le
B identifie A en utilisant la cl publique de A pour dchiffrer le
message C ce qui donne lauthentification de A.
Pas de confidentialit puisque la cl publique de A est connue
etPas de confidentialit puisque la cl publique de A est connue et
publique (nimporte qui peut dchiffrer le message C).
3 Intgritg
Il sagit de garantir la confidentialit et lauthenticit,
A chiffre le message avec sa cl prive (kprA), puis le rsultat
sera
22
HSCTDOC.blogspot.com
-
Aspects techniques de la cryptographie p q yp g pasymtrique
ensuite chiffr par la cl publique de B (kprB),1. C = EkprA (M)
p2. C = EkpB(C) = EkpB[ EkprA (M) ]
B dchiffre le message c avec sa cl prive (kprB), puis le rsultat
g p ( pr ) psera ensuite dchiffr par la cl publique de A
(kprA),
1. DkprB (C) = C2 Ek A(C) = Ek A[ Dk B (C)2. Ekp (C) Ekp [ Dkpr
(C )
= EkpA[ DkprB (EkpB[ EkprA (M) ]) ] = M
Hypothse fondamentale : Hypothse fondamentale :On ne doit pas
pouvoir trouver la cl prive partir de la cl publique (connue par
tous le monde et circule sur des canaux non scuriss).
23
Message en
metteur ARcepteur B
Assure la confidentialitgclair M
C = EKprA (M) C = DKprB (C)Canal de communication non scurisC =
EKpB (C)
Message hiff C
M = EKpA (C)
chiffr C
Message en A l th ti it gclair MAssure lauthenticit
24Fig 5 : Schma du mcanisme de confidentialit /
authentification
HSCTDOC.blogspot.com
-
Cryptosystmes cl asymtriqueCryptosystmes cl asymtrique
Avantages change de cl publique sur un canal non scuris (pas
besoin dun
canal scuris), Possibilit de cration de base de donnes des cls
publiques, Authentification du message grce la signature numrique,
Nombre de cls crot linairement avec le nombre dutilisateurs N
utilisateurs N pairs de clsutilisateurs N pairs de cls.
InconvnientsTemps de calcul mathmatique et espace mmoire
relativement Temps de calcul mathmatique et espace mmoire
relativement important, donc moins rapides que les cryptosystmes
symtriques,
Sensible aux attaques message clairs choisis (cl publique),
Validit des cls publiques problme de certifications des clsValidit
des cls publiques problme de certifications des cls
publiques confiance une tiers personne organisme de distribution
des cls,
Longueur des cls trs grandes : nombre premiers alatoires avec
une certaine probabilit code entre 1024 et 4096 bits
25
certaine probabilit code entre 1024 et 4096 bits.
Cryptosystmes cl asymtriqueCryptosystmes cl asymtrique
O il Outils Thorie des grands nombres premiers, Fonctions
dexponentiation modulaires.p
Exemples de ralisationRSA Diffi H ll RSA, Diffie-Hellman,
El Gamal,
Cryptosystme hybridesLide de base consiste utiliser un
cryptosystme asymtrique pour changer les cls dun cryptosystme
symtrique Ce systme combinechanger les cls d un cryptosystme
symtrique. Ce systme combine donc tous les avantages des deux
cryptosystmes symtriques et asymtriques.
26
HSCTDOC.blogspot.com
-
Cryptosystmes hybride
Cryptosystmes hybride
La cl de
metteur A Rcepteur B
Ks = DKprB (C)La cl de
session KsCanal de communication non
scurisC = EKpB (Ks)
La cl de session Ks
B dchiffre la cl de session Ksen utilisant sa cl priv
A chiffre la cl de session Ks en tili t l l bli d B
Fi 6 S h d t t h b id h d l d i
en utilisant sa cl privutilisant la cl publique de B
27
Fig 6 : Schma dun cryptosystme hybride : change de cl de session
(cryptosystme asymtrique)
Cryptosystmes hybrideCryptosystmes hybride
metteur A Rcepteur B
Message en clair M M = DKs(C)Canal de communication non scurisC
= EKs (M)
Message en clair M
Fig 7 : Schma dun cryptosystme hybride : communication
(cryptosystme
clair M
symtrique)
Exemple de ralisation :
28
pPGP (Pretty Good Privacy)
HSCTDOC.blogspot.com
-
Chapitre 2 : Aspects techniques de laChapitre 2 : Aspects
techniques de la cryptographie symtrique
29
Cryptographie classiqueCryptographie classique
Substitution SubstitutionUne substitution est un remplacement
dalphabet. A chaque caractre ou groupe de caractres du message en
clair on substitue un autre caractre ou groupe de caractres Ce
procd doit augmenter la confusion de faon groupe de caractres. Ce
procd doit augmenter la confusion de faon compliquer la liaison
entre le message en clair. La substitution inverse redonne le
message en claire.
1 Substitution monoalphabtique
S { }Soient A = {a0, a1, , an-1} les caractres alphabtiques
ordonns dans le message en clair et C = {f(a0), f(a1), , f(an-1)}
les caractres alphabtiques utiliss dans le message chiffr. La
fonction f t l f ti d hiff t S it M { 0 1 1} lf est la fonction de
chiffrement. Soit M = {m0, m1, , mr-1} le message en clair o mi
sont les caractres du message M de A.La cl et lalgorithme de
chiffrement sont combins et reprsents par
30C = Ek(M) = f(m0) f(m1) f(mr-1)
HSCTDOC.blogspot.com
-
Cryptographie classiqueCryptographie classique
Les substitutions monoalphabtiques dcaler de K positions modulo
le nombre de caractre de A. La forme explicite de la fonction f est
donne par :
f(a) = (a+K) mod nOO a: caractre chiffrer K: nombre de dcalage,
cl de chiffrement
n: dimension de A n: dimension de A.
Exemple :
A : ABCDEFGHIJKLMNOPQRSTUVWXYZ (les caractres alphabtiques
majuscule du franais standard)
M : RENAISSANCE
n: 26
31K :3 (chiffrement de Jule Cesar)
Cryptographie classiqueCryptographie classique
Exercice :Exercice :
Trouvez lensemble de lalphabets de substitution C?
Chiffrez le message en clair M?
Dchiffrez le message chiffr C = Ek(M)?Dchiffrez le message
chiffr C = Ek(M)?
Vrifiez que la redondance dans le message en clair apparat dans
le message chiffr et aussi si lensemble C est choisie
alatoirement?chiffr et aussi si l ensemble C est choisie
alatoirement?
32
HSCTDOC.blogspot.com
-
Cryptographie classiqueCryptographie classique
2 S b i i l l h b i2. Substitution polyalphabtique
Dans la substitution monoalphabtique la frquence de distribution
desp q qcaractres du message en clair est prserve dans le message
chiffr(redondance ce qui donne la possibilit de lanalyse
statistique). Pour
di bl l b tit ti l l h bti i t tiliremdier ce problme, la
substitution polyalphabtique consiste utiliserplusieurs alphabets
de substitution. Son principe est bas sur une cl (unmot, une
phrase, ) et dune matrice dalphabets de substitution C1, ,)Cn avec
la fonction de chiffrement associe Ci :
fi(A) = Ci pour i = 1, , nfi(A) Ci pour i 1, , n
33
Cryptographie classiqueCryptographie classique
E ti l b d l h b t tili d l hiff t t lEn pratique le nombre
dalphabets utilises dans le chiffrement est galeau nombre utiliss
dans la cl. De ce fait, la cl de chiffrement doit donctre constitue
de d caractre, chaque caractre de la cl on attribut unqalphabet de
substitution Ci. Donc, cette cl sera rpte autant de fois
quencessaire pour chiffrer le message M.
M = m1, , md, md+1, , m2d, ,Cl = k1, , kd, k1, , kd, ,Ek(M) =
f1(m1), , fd(md), f1(md+1), , fd(m2d), ,
Les fonctions fi peuvent tre dcalage :Les fonctions fi peuvent
tre dcalage :fi(mi) = (mi + ki) mod n,OKi (i 1 d) l d hiff t t l l
d d l d l i
34
Ki (i=1, , d) cl de chiffrement, est la valeur de dcalage de la
imealphabet de substitution par rapport lalphabet standard A.
HSCTDOC.blogspot.com
-
Exemple : Chiffrement de Vignere dcalage (1863)La matrice de
lalphabet est obtenue en choisissant la valeur de Ki gale la kime
position du caractre dans lalphabet A. Cette matrice propose 26
alphabets de substitution :
35
Exemple en utilisant la matrice de lalphabets de
substitutionExemple en utilisant la matrice de l alphabets de
substitution
K = K1 K2 K3 K4 (d=4, 4 alphabets de substitution parmi 26)K1 =
1 (mod 26)K1 = 1 (mod 26)K2 = 0 (mod 26)K3 = 13 (mod 26)K4 = 3 (mod
26)K4 = 3 (mod 26)
La cl est donc gale K = BAND
Message en clair
M = INFO RMAT IQUE S
K = BAND BAND BAND BMessage chiffrg
C = Ek(M) = JNSR SMNW JQHH T
36
HSCTDOC.blogspot.com
-
3 Substitution par polygrammes Cette technique permet de
chiffrer les carctres par blocs de deuxcaractres (bigramme) ou
trois caractres (trigramme) Lalgorithme lecaractres (bigramme) ou
trois caractres (trigramme), . L algorithme leplus connu est play
fair Wheastone (1854) qui a tutilis par les anglais durant la
premire guerre mondiale.
Dans cet algorithme, bas sur la substitution bigramme, on
utilise unematrice alphabtique carr (5x5) de 25 caractres dont les
caractresp q ( )dpendent du choix dune cl K.
ffa- Prparation du message chiffrer1- Elimination des signes,
ponctuation et on groupe les lettres par
groupe de deuxg p2- Si une paire se compose de deux lettres
identiques la 2me lettre
sera remplace par X.3- Le caractre J est trait comme I3 Le
caractre J est trait comme I.
37
b- Construction de la matrice carrLe mot cl, choisi, est inscrit
horizontalement sans rpter aucun caractre p
puis les caractres restants de lalphabet sont crits en
respectant leur ordre alphabtique et en traitant I et J comme
IJ.
c- Rgle suivre pour chiffrer le bigramme mi mj dun message Mc
Rgle suivre pour chiffrer le bigramme mi mj d un message M1- Si mi
et mj occupent la mme ligne ci et cj sont les caractres de
substitution situs respectivement droite de mi et mj.2 Si i t j
t d l l i t j t l t2- Si mi et mj sont dans la mme colonne ci et cj
sont les caractres
de substitution situs respectivement en dessous de mi et mj.3-
Si mi et mj, se trouvent dans des lignes et colonnes diffrentes
ci
( j) l t i t li t ti d l li i(ou cj) sera le caractre qui se
trouve lintersection de la ligne mi(ou mj) et de la colonne de mj
(ou mi).
d-Exemple :Avec la cl K = SPART, trouvez le message chiffr C du
message en clairM = INFORMATIQUES
38
HSCTDOC.blogspot.com
-
3 M j bl ( i P d)3. Masque jetable (one time Pad)Pour viter les
attaques statistiques, cette technique consiste utiliser une
cl,appel masque, constitue de K caractres tries au hasard et de mme
longueurappel masque, constitue de K caractres tries au hasard et
de mme longueurque le message en clair. Le chiffrement est effectu
par :Ci = f(mi) = (mi + Ki) mod nOOmi : le caractre chiffrerKi :
caractre de la cl (masque) gnr alatoirement pour chiffrer min :
dimension de lensemble de lalphabets An : dimension de l ensemble
de l alphabets A.
Cette fonction est identique au systme de vignere avec une
gnration alatoiredes caractres de la cl dont la taille est celle du
message en clairdes caractres de la cl dont la taille est celle du
message en clair.Exemple :n = 26K = TBFRGFARFMIKLK = TBFRGFARFMIKLM
= MASQUEJETABLECalculer le message chiffr C = Ek(M)?
39
Cryptographie classiqueCryptographie classique
T iti TranspositionLe chiffrement par transposition est bas sur
les permutations des caractresdu message en clair De ce fait les
caractres sont toujours mais dans undu message en clair. De ce
fait, les caractres sont toujours mais dans unAutre ordre pour
augmenter les diffusions dans le message en clair. Ceprocd est fond
essentiellement sur des matrices dordres nxp.
Lecture du
Message en clair M
Matrice de taille
n x p
Lecture du message chiffr
partir de la
Message chiffr C
n x p partir de la matrice
Fi 6 P i i d l t iti40
Fig 6. Principe de la transposition
HSCTDOC.blogspot.com
-
1 T i i i l l1. Transposition simple par colonnes Dans la
matrice, le message en clair est crit horizontalement et le message
chiffrest obtenu en lisant la matrice verticalement. De ce fait,
lordre de la matriceest obtenu en lisant la matrice verticalement.
De ce fait, l ordre de la matricereprsente la cl de chiffrement
K.
Exemple :Exemple :K = 4 x 4M = INFORMATIQUESDonc nous avons une
matrice de 4 lignes et 4 colonnesDonc nous avons une matrice de 4
lignes et 4 colonnes.X est pour complter la matrice.
1 2 3 4I N F OR M A T
D l hiff t
I Q U ES X X X
Do le message chiffr estC = IRISNMQXFAUXOTEX 41
Le dchiffrement seffectue en crivant le message C en colonnes Le
message enLe dchiffrement seffectue en crivant le message C en
colonnes. Le message enclair est obtenu en lisant horizontalement
la matrice. La transposition par colonnepeut tre complique si on
lit les colonnes dans autre ordre. La cl K sera
t l d d l t i t l t d l l t d lreprsente par lordre de la
matrice et le squencement de la lecture des colonnes.Exemple :K = 4
x 4, lecture des colonnes 2-4-1-3M INFORMATIQUESM =
INFORMATIQUES
1 2 3 4I N F OR M A TI Q U ES X X X
Do le message chiffr estC = NMQXOTEXIRISFAUX
42
HSCTDOC.blogspot.com
-
1 T i i l l1. Transposition complexe par colonnes Dans la
transposition complexe par colonnes, le nombre de colonnes (p) de
lamatrice est fix par le nombre de caractres dune cl K (tous les
caractres sontmatrice est fix par le nombre de caractres d une cl K
(tous les caractres sontdiffrents les uns aux autres), le nombre de
ligne (n) dpendra de la longueur dumessage en clair. Le classement
dans lordre alphabtique des caractres de la clpermet de fixer le
squencement de la lecture des colonnes de la matricepermet de fixer
le squencement de la lecture des colonnes de la matrice.
Exemple :K = GATS p = 4K = GATS, p = 4M = INFORMATIQUES
G A T SI N F OR M A T
QI Q U ES X X X
43
Classement par ordre alphabtique des caractres de KClassement
par ordre alphabtique des caractres de K
A G S TN I O FM R T AQQ I E UX S X X
Message chiffr estC = NMQX IRIS OTEX FAUX
44
HSCTDOC.blogspot.com
-
Cryptographie moderneCryptographie moderne
L t hi t i l i t it i t d t t b La cryptographie symtrique
classique traitaient des cryptosystmes bassur des caractres. Les
diffrents algorithmes remplaaient outransposaient les caractres.
Les meilleurs systmes combinaient les deuxp yoprations plusieurs
fois.Actuellement la cryptographie symtrique moderne utilise la
mmephilosophie La diffrence est que les algorithmes associs
manipulent desphilosophie. La diffrence est que les algorithmes
associs manipulent desbits au lieu des caractres. Donc, il y a un
passage dun alphabet de 26caractres un alphabet de 2 caractres
(base 2).La plus part des algorithmes combinent galement des
substitutions avecdes transpositions en plus des deux fonctions
logiques : ou-exclusif et dcalage logique.exclusif et dcalage
logique.
45
Cryptographie moderneCryptographie moderne
1 O E l if i l1. Ou Exclusif simpleLa fonction logique
ou-exclusif ou XOR est une opration classiquesur les bits, est note
^ en langage C et (+) en mathmatique binaire.sur les bits, est note
en langage C et ( ) en mathmatique binaire.La table de vrit ou a et
b sont cods sur un bit est
Entre a Entre b Sortie S0 0 00 1 11 0 11 0 11 1 0
La fonction canonique est
Table de vrit
46
HSCTDOC.blogspot.com
-
Considrons n bloc M d message en clair et ne cl K de chiffrement
IlsConsidrons un bloc M du message en clair et une cl K de
chiffrement. Ilssont cods lintrieur dune machine informatique en
code ASCII, et lechiffrement se ralise en effectuant un XOR entre
les diffrents bits de Met C :et C :
ci : ltat logique du ime bit du message chiffr,ci : l tat
logique du ime bit du message chiffr,mi : ltat logique du ime bit
du message en clair,Ki : ltat logique du ime bit de la cl K.
Le dchiffrement bit bit est
Le message dchiffr est
47
2. Masque jetable (one time Pad)Lide du masque jetable peut tre
facilement tendue au chiffrement ded bi i C tt th d t li ti d
XORdonnes binaires. Cette mthode reprsente une gnralisation de
XORsimple. On utilise donc un masque compos de bits au lieu des
caractreset au lieu de laddition, on utilise le XOR. Pour
dchiffrer, on applique aumessage chiffr le XOR avec le mme masque
jetable. On rappel que lataille du masque jetable est gale celle du
message en clair, et que lemasque doit tre gnr alatoirement et
utilis une seul foismasque doit tre gnr alatoirement et utilis une
seul fois.Linconvnient majeur du masque jetable est la
synchronisation entrelexpditeur et le destinateur sur le canal de
transmission. Si ledestinataire est dcal de quelques bits (bits
perdu durant la transmission)et donc le message dchiffr naura aucun
sens. Malgr cela, lesmasques jetables ont encore leur utilit
essentiellement pour des canauxq j pde communications ultra-secrets
et faible dbit. Le chiffrement esteffectu par lopration :M t l l i
K t l l d hiff t t C t l
C = M KM est le message en clair; K est la cl de chiffrement et
C est le messagechiffr. 48
HSCTDOC.blogspot.com
-
Modes cryptographiquesyp g p q
Il i t d d d b d f ti t d l ithIl existe deux modes de base de
fonctionnement des algorithmes symtriques ou cl secrte : les
algorithmes de chiffrement par blocs et les algorithmes de
chiffrement en continu. Les algorithmes de g gchiffrement par blocs
manipulent des blocs de texte en clair et de texte chiffr. Les
algorithmes de chiffrement en continu manipulent des flux de texte
en clair et de texte chiffr bit par bit ou octet par octetde texte
en clair et de texte chiffr bit par bit ou octet par octet.
Modes de chiffrement par blocsModes de chiffrement par blocs
Carnet de codage lectronique (ECB : Electronic Code Blook)Chaque
bloc de n bits du message en clair est chiffr indpendamment des
autres blocs du message en clair. Le mme bloc sera donc toujours
chiffr en un mme bloc de mme taille en utilisant la mme cl.
Bloc M1 Bloc M2 Bloc MnMessage en clair M
Ek Ek EkCl K
Bloc C1 Bloc C2 Bloc CnMessage chiffr C
Fig 7 : Mode ECB
Le chiffrement par ECB est : Ci = Ek(Mi) et le dchiffrement est
Mi = Dk(Ci).
50
HSCTDOC.blogspot.com
-
Modes cryptographiques
Modes de chiffrement par blocs Modes de chiffrement par blocs
Chanage de blocs (CBC : Cipher Block Chaining)Dans le mode CBC, le
chiffrement seffectue par un mcanisme de chanage Ainsi le rsultat
du chiffrement du bloc prcdent est combinchanage. Ainsi, le rsultat
du chiffrement du bloc prcdent est combin, par un ou exclusif, avec
le bloc courant du message en clair. De ce fait, le rsultat de
chiffrement de ce bloc dpendra non seulement du bloc en clair qui
la engendr mais aussi du bloc du message en clair qui le prcdequi l
a engendr mais aussi du bloc du message en clair qui le prcde. Le
chiffrement du dernier bloc dpendra du rsultat de chiffrement de
tous les blocs qui le prcdent.
Un message en clair M est dcompos en blocs de mme taille n que
celle de la cl K en nombre de bits (n=64 bits (8caractres), n=128
(16 caractres), ). Aussi le bloc chiffr Ci est de mme taille n. ),
)Pour chiffr le premier bloc M1 un vecteur dinitialisation VI est
utilis comme bloc prcdent et sa valeur peut tre alatoire.
C1 = Ek(M1 VI) Ci = Ek(Mi Ci-1)
Message en clair M
Bloc M1 Bloc M2 Bloc Mi-1
Vecteur dinitialisation VI
Message chiffr C
VI
Ek Ek Ek
Bloc C1 Bloc C2 Bloc Ci-1
Fi 8 M d CBC Chiff t52
Fig 8 : Mode CBC : Chiffrement
HSCTDOC.blogspot.com
-
Mi = Dk(Ci) Ci-1M1 = Dk(C1) VI
Message chiffr C
Bloc C1 Bloc C2 Bloc Ci-1
Dk Dk Dk
V tVecteur dinitialisation VI
Message Bloc M1 Bloc M2 Bloc Mi-1
Fi 9 M d CBC D hiff t
gen clair M
53
Fig 9 : Mode CBC : Dchiffrement
Modes cryptographiques
M d d hiff t ti Modes de chiffrement en continu Chiffrement
rtroaction (CFB : Cipher Feed Back )En mode CBC, les donnes peuvent
tre chiffres par units de m , p pbits plus petite ou gale la taille
dun bloc chiffrer de n bits. La figure suivante montre un exemple
de chiffrement en mode CFB 8 bits appliqu un algorithme de
chiffrement par bloc de 64 bits (n = 64 et m =appliqu un algorithme
de chiffrement par bloc de 64 bits (n 64 et m 8). Un algorithme de
chiffrement par bloc en mode CFB manipule une file dattente de la
taille dun bloc dentre. Initialement, la file est initialise par un
bloc quelconque de mme taille que le bloc chiffrer : vecteurun bloc
quelconque de mme taille que le bloc chiffrer : vecteur
dinitialisation VI. Ensuite, la file est chiffre par un algorithme
de chiffrement par bloc Ek et les 8 bits les plus gauche du rsultat
de hiff t t bi l if l i t d 8chiffrement sont combins par ou
exclusif avec le premier caractre de 8
bits du message en clair pour former les 8 premiers bits du
message chiffr.
HSCTDOC.blogspot.com
-
Modes cryptographiques
Les 8 bits sont placs dans les 8 bits les plus droite de la file
dattente et les autres bits sont dcals de 8 positions vers la
gauche Les 8 bits les pluset les autres bits sont dcals de 8
positions vers la gauche. Les 8 bits les plus gauche sont ignors.
Les autres caractres sont chiffrs de la mme manire jusqu la fin du
bloc de 64 bits.
File dattente de 64 bits (8 octets)File d attente de 64 bits (8
octets)
Octet 1Octet 2Octet 3Octet 4Octet 5Octet 6Octet 7Octet 8
EkCl K
Octet le plus gauche
Chiffrement
Mi (8 bits) Ci (8 bits)
Chiffrement
Ci = Mi Ek(Ci-1)
DchiffrementDchiffrement
Mi = Ci Ek(Ci-1)Fig 8 : Mode CFB
Modes cryptographiques
Mode de rtroaction de sortie (OFB : Output-Feed Back)Ce mode est
similaire au mode CFB, sauf que n bits chiffrs sont rangs , q gdans
les 8 positions les plus droite de la file dattente. Le rsultat de
chiffrement peut tre transmis et ne contribue pas au chiffrement du
caractre suivantcaractre suivant.
File dattente de 64 bits (8 octets)
Octet 1Octet 2Octet 3Octet 4Octet 5Octet 6Octet 7Octet 8
EkCl K Ek
Octet le plus gauche Si-1 Chiffrement
Mi (8 bits)Ci (8 bits) peut tre
transmis
gauche Si 1 Chiffrement
Ci = Mi Ek(Si-1)
DchiffrementDchiffrement
Mi = Ci Ek(Si-1)Fig 10 : Mode CFB
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : le DES
(Data Encryption Standard)
Historique : Ds le dbut des annes 1960 la technologie des
circuitsintgrs permet de travailler des circuits combinatoires
complexesintgrs permet de travailler des circuits combinatoires
complexespermettant d'automatiser:
la mthode de substitution et la mthode de transposition Un
chercheurla mthode de substitution et la mthode de transposition.
Un chercheurDes laboratoires dIBM, Feistal Horst, propose lide dun
algorithme dechiffrement trs fiable dont les composantes simples
permettent le codaget f il t i it l t i L j t E t t ttrs facilement
sur un circuit lectronique. Le projet Est retenu et seradvelopp
sous le nom de code LUCIFER.
En 1972, la recherche de lalgorithme le plus sr possible, le NBS
lance unappel doffre travers un cahier de charge. Vu les traits de
ressemblanceavec le projet LUCIFER, IBM apporte quelques
modifications afin desatisfaire la norme propose.
Le standard des algorithmes de chiffrement de donnes : le
DES
1977 : Lalgorithme de chiffrement conu par IBM est retenu par le
NBS (National Bureau of Standards) sous le nom de DES.
1978 : LANSI valide son tour cet algorithme sous le nom du DEA
(Data E ti Al ith )Encryption Algorithm).
Principe : Lalgorithme DES est un cryptosystme de chiffrement p
g yp ysymtrique par blocs (mode ECB). Le principe de base du DES
est fond essentiellement sur la transposition binaire ou
permutation pour insrer le mcanisme de diffusion et sur la
substitution binaire pour intgrer lemcanisme de diffusion et sur la
substitution binaire pour intgrer le mcanisme de confusion.
Dans un premier temps, le message en clair est dcoup en
plusieurs blocs de 64 bits (8 caractres). Chaque bloc est chiffr
par une cl de 64 bits. Le bloc chiffr a la mme taille que le bloc
initial du message en clair de 64bloc chiffr a la mme taille que le
bloc initial du message en clair de 64 bits.
HSCTDOC.blogspot.com
-
Bloc 64 bits Bloc 64 bits Bloc 64 bitsMessage en clair M
DES DES DESCl K de 64 bits
Bloc 64 bits Bloc 64 bits Bloc 64 bitsMessage chiffr C
Figure 11 : Principe du DES en mode ECB
59
Le standard des algorithmes de chiffrement de donnes : le
DES
Chiff t P hiff bl d 64 bit l f ti i i l dChiffrement : Pour
chiffrer un bloc de 64 bits, la fonction principale du DES est
fondue sur un processus itratif compos de 16 itrations. De ce fait,
partir de la cl de chiffrement on gnre 16 sous cls Ki (i=1, 2,
,16). A chaque itration correspond une sous cl Ki et chaque
itration estA chaque itration correspond une sous cl Ki et chaque
itration est compose de 5 tapes comme le montre la figure 12.
Le message en clair de 64 bits constitue donc lentre de la
premire itrationLe message en clair de 64 bits constitue donc l
entre de la premire itration.
1 2 3 4 5 6 7 8
Bloc T
9 10 11 12 13 14 15 16
17 18 19 20 12 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
Indices des bits dun bloc T de 8 octets du message en clair
M.
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : le
DES
Avant la premire tape dune itration i, ce bloc va subir
unepermutation initiale comme suit. Cette permutation consiste
dplacerles 4 colonnes paires vers les 4 premires lignes tout en
inversant lesp p gindices des bits dune colonne. Ensuite, les 4
colonnes impaires restantssont dplacs vers les 4 lignes en
inversant galement lordre des bits.Voir les tableaux dans la page
suivanteVoir les tableaux dans la page suivante.
Le nouveau bloc gnr par cette permutation est divis en deux
partiesde 32 bits chacune. La partie droite note R(i-1), constitue
uniquementdes bits pairs de la permutation. La partie gauche note
L(i-1) estconstitue par les indices des bits impairs
restantsconstitue par les indices des bits impairs restants.
Le standard des algorithmes de chiffrement de donnes : le
DES
P t ti i iti l IPPermutation initiale IP
Indices des bits dun bloc T permut par IP.
HSCTDOC.blogspot.com
-
Figure 12 : Principe de fonctionnement dune itration
58 50 42 34 26 18 10 2 57 49 41 33 25 17 9 1
Partie droite R(i-1) Partie gauche L(i-1)
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Aprs cette division les 5 tapes de litration i sont:Aprs cette
division, les 5 tapes de l itration i sont:
tape 1: Les 32 bits de R(i-1) entrent dans une table de
permutation expansive not E(Ri-1). Elle change lordre des bits et
rpte certains bits
li i d 32 48 bi C itout en ralisant une extension de 32 48 bits.
Cette prsentation reprsente de la manire suivante :
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : le
DES
La table correspondante E(Ri-1) de 48 bits est :
Bloc E(Ri-1)
32 1 2 3 4 54 5 6 7 8 98 9 10 11 12 1312 13 14 15 16 1716 17 18
19 20 2120 21 22 23 24 2520 21 22 23 24 2524 25 26 27 28 2928 29 30
31 32 128 29 30 31 32 1
Le standard des algorithmes de chiffrement de donnes : le
DES
tape 2: E(Ri-1) a une taille de 48 bits, elle sera transforme
par un XOR avec la sous cl Ki gnre pour litration i partir de la cl
K et elle doit avoir galement une mme taille de 48 bits. Etape 3:
Le rsultat de ltape 2 est de 48 bits, il sera divis en 8 sous blocs
de 6 bits chacun. Chaque sous bloc subira une substitution binaire
compressive qui gnre un bloc de 4 bits. Ainsi, cette substitution
gnrera 8 blocs de 4 bits chacun et donc un bloc de 32 bits. Ceci
gpermet de couper dfinitivement tout rapport entre le bloc du
message en clair et le bloc chiffr correspondant. De ce fait, il y
a 8 tables de substitutions. Voir la figure 13.substitutions. Voir
la figure 13. Etape 4: Les bits du bloc B vont tre ensuite permuts
selon la table P Suivante : Les bits changent de position, aucun
bit nest utilis deux fois et aucun bit nest ignoret aucun bit n est
ignor. Une table Sj (j=1,,8) est constitue de 4 lignes, 16
colonnes. Llment gnral de cette table est cod sur 4 bits.
HSCTDOC.blogspot.com
-
b1b2b3 Table de
b1b3b4b5b6
Table de substitution
S1b2b3b4 B
b6
b1
B = S
(E(R
b1b2b3b4
Table de substitution
b5b6b7
Ri-1) XO
Rb4b5b6
S2 b7b8
RK
i) de 3
b43
32 bits
b44b45b46
Table de substitution
S8
b29b30b31
b47b48
S8b32
Figure 13 : Substitution compressive
Le standard des algorithmes de chiffrement de donnes : le
DES
M iMcanisme:Substitution pour le bloc b1b2b3b4b5b6. Les deux
bits faible et fort slectionnent le numro de la ligne b6b1 =X, les
4 bits intermdiaires le gnumro de la colonne b2b3b4b5 =Y. La
position (X,Y) permet de substituer le bloc b6b5b4b3b2b1 par un
autre bloc de 4 bits comme intersection de la ligne X et colonne YX
et colonne Y. Exemple : G = 101110. Les premiers et derniers bits
donnent 10, c'est--dire2 en binaire. Les bits 2,3,4 et 5 donnent
0111, soit 7 en binaire. Le rsultat de la fonction de slection est
donc la valeur situ la ligne n2=X, dans la colonne n7=Y. Il s'agit
de la valeur 11=(X,Y), soit en binaire 1011.
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : le
DES
Les tables de substitutions :
Le standard des algorithmes de chiffrement de donnes : le
DES
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : le
DES
Le standard des algorithmes de chiffrement de donnes : le
DES
Etape 5: Dans cette tape lopration suivante est effectue : P(B)
XOR L(i-1) et elle va constituer la nouvelle partie droite de
litration suivante Ri Et la nouvelle partie gauche de litration
suivante sera lasuivante Ri. Et la nouvelle partie gauche de l
itration suivante sera la partie droite avant le chiffrement du
bloc Li = Ri-1. Ainsi, sachve une itration Ri = P(B) XOR Li et Li =
Ri-1 constituent les
i d i h d li i i A l fi d l 16parties droite et gauche de
litration suivante. A la fin de la 16me
itration on obtient le bloc L16, R16 de 64 bits qui subira une
permutation finale (inverse de la permutation initiale et constitue
le bloc chiffr T du ( pmessage en clair M.).
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : le
DES
Le bloc chiffr est
La figure 14 suivante prsente le synoptique gnrale pour chiffrer
un g p y p q g pbloc T du message M.
Dchiffrement : Procder exactement de la mme manire en appliquant
les cls en sens inverse (de k16 k1).
Figure 14 : Architecture gnrale du DES
HSCTDOC.blogspot.com
-
Domaine dutilisation:Sur limplmentation matrielle, le DES est
actuellement capable de chiffrer et de dchiffrer jusqu 1 Gegabits
/seconde. Il est donc ligible pour chiffrer etde dchiffrer jusqu 1
Gegabits /seconde. Il est donc ligible pour chiffrer et dchiffrer
sans surcot dchange sur un rseau ou sur un bus. Ila t utilis dans
tous les domaines dsirant une scurit acceptable : Banque, industrie
et galement il a t envisag pour les communications tlphoniques et
pour les g g p p q psignaux vido de haute dfinition.
Niveau de scurit du DES : La qualit dun cryptosystme est value
par le temps ncessaire et le cot du matriel utilis pour trouver le
message en clair partir dun message chiffr. Depuis sa naissance, le
DES a t soumis toutes les techniques imaginables d t l (li i diff
ti ll ) R li t l i dde cryptoanalyse (linaire, diffrentielle, ).
Rgulirement, loccasion des confrences internationales sur le
chiffrement (CRYPTOxx, EUROCRYPT, AUSTCRYPT ), des experts ont
cherch les faiblesses de ce code qui, rappelons le est act ellement
le pl s rpand s r le march Les rs ltats derappelons le, est
actuellement le plus rpandu sur le march. Les rsultats de ces
recherches ont mis jour quelques faiblesses savoir : la taille de
la cl, le nombre ditrations et le schma de conception des
tables-S.
75
Taille de la cl :Les experts ont estim que la taille de la cl
utilise est trs faible. Leursarguments tournaient principalement
autour de la possibilit dune attaqueexhaustive Le DES code des
messages en clair grce une cl de taille 56exhaustive. Le DES code
des messages en clair grce une cl de taille 56bits. Donc, le nombre
des cls possibles est de 256=7,2*1016 cls. Enimaginant un
ordinateur capable de tester la validit dune cl parmicroseconde
(attaque directe), et en supposant que la bonne cl est ladernire
teste, le temps de calcul approcherai 2258 annes. Mais
cessuppositions sont toutes prises par excs Certains mathmaticiens
estimentsuppositions sont toutes prises par excs. Certains
mathmaticiens estimentque pour que le code soit inviolable la cl
doit avoir la taille de 300 bits. Audbut IBM a propos une cl de 128
bits mais la NSA la rduit 64 bits. Laraison dune telle rduction na
pas t rendue publique..
76
HSCTDOC.blogspot.com
-
Tables-S (S-Box) :Lexistence de ces tables-S permettent dimposer
au message chiffr uncaractre non linaire des bits entre eux.
Classifis par la NSA, lescritres de ralisation des fonctions S(i)
nont jamais t rendus publics.Aussi est-il difficile de se prononcer
sur le caractre fortement nonlinaire de leur comportement. De plus,
travers plusieurs articles critsd l ti li d f d th ti idans les
parutions rgulires des confrences, deux mathmaticiens(Diffie &
Hellman) ont mis en vidence la structure quasi-linaire de
cesfameuses fonctions. Cette considration pourrait
rduireconsidrablement le temps de cryptoanalyseconsidrablement le
temps de cryptoanalyse.
Nombre ditration :La scurit du DES avec 16 itrations est grande
et rsiste lheureLa scurit du DES avec 16 itrations est grande et
rsiste l heure actuelle toutes les attaques effectues avec des
moyens financiers et temporels raisonnables (i.e. moins de 10
millions de dollars et moins dun mois) Plusieurs versions du DES
avec 3 4 6 itrations ont t toutsmois). Plusieurs versions du DES
avec 3, 4, 6, itrations ont t touts casses.
77
Modes opratoires : Le DES peut tre utilis avec les 4
modescryptographiques : ECB, CBC, OFB et CFB. Le mode le plus
utilis, causede simplicit est ECB et il ne protge pas contre la
prsence des blocsredondants. Le mode CBC est occasionnellement
utilis.
C l iConclusion:
Ancien standard ayant tenu plus de 20 ans.Excellentes
performances en vitesse de chiffrement : 1 G bit / s en
matrielExcellentes performances en vitesse de chiffrement : 1 G bit
/ s en matrielet 1 M bits / s en logiciel.Niveau de scurit trs
raisonnable pour les applications civiles.Il est probablement peu
sr pour un attaquant de gros moyens mais trsIl est probablement peu
sr pour un attaquant de gros moyens mais trssuffisant pour les
applications habituelles.
78
HSCTDOC.blogspot.com
-
Variantes du DES :
Un grand nombre dalgorithmes ont vu le jour ces dernires annes
pourrenforcer la scurit et dessayer de surmonter les inconvnients
du DES(taille des cls tables-S et le nombre ditration)(taille des
cls, tables-S et le nombre d itration).Triple DESLes mcanismes de
chiffrement et dchiffrement sont raliss par troisutilisations
successives du DES en impliquant trois cls diffrentes : K1, K2p q
,et K3 comme suit:
DES DES-1 DES
Message chiffr
Message en clair K2
K3K1
DES DES-1DES-1
79
Le standard des algorithmes de chiffrement de donnes : AES
(Advenced Encryption Standard)
Historique : Le 2 janvier 1997 le NIST a lanc un processus de
remplacement de DES :Le 2 janvier 1997, le NIST a lanc un processus
de remplacement de DES :Advanced Encryption Standard, (AES). Un
appel doffre a t lanc le 12Septembre 1997. Il y tait requis quAES
possde une longueur de bloc gale 128 bits et quil supporte des
longueurs de clef gales 128, 192 et 256 bits. De128 bits et qu il
supporte des longueurs de clef gales 128, 192 et 256 bits. Deplus,
Il tait ncessaire quAES soit libre de droits dans le monde
entier.Les soumissions devaient tre rendues le 15 juin 1998. Des
vingt-et-un systmescryptographiques soumis, quinze remplissaient
tous les critres ncessaires et ontyp g p q , q pt accepts en tant
que candidats AES. Le NIST a prsent les quinze candidatslors de la
First AES Candidate Conference le 20/08/1998. Une second
AESCandidate Conference sest tenue en mars 1999. En aot 1999, cinq
candidats ontt choisis par le NIST comme finalistes : MARS, RC6,
Rijndael, Serpent etTwofish. En avril 2000, une Third AES Candidate
Conference a eu lieu. Le 2octobre 2000, Rijndael a t choisis comme
standard avanc de chiffrement.
80
HSCTDOC.blogspot.com
-
Le standard des algorithmes de chiffrement de donnes : AES
(Advenced Encryption Standard)
Critres principaux dvaluation dAES: 1 Scurit :1. Scurit :
La scurit des algorithmes proposs tait absolument essentielle et
nimporte quel algorithme prsentant des faiblesses de scurit aurait
t limin.limin.
2. CotLe cot se rapporte lefficacit en termes de calculs
(vitesse et besoin en mmoire) sur divers types de plates-formes,
que ce soit en logiciel, en ) yp p , q g ,matriel ou sur une carte
puce.
3. Caractristiques de lalgorithme et de son implmentation.Elles
incluent la flexibilit et la simplicit de lalgorithme.
81
Le standard des algorithmes de chiffrement de donnes : AES
(Advenced Encryption Standard)
Description dAES: AES est un algorithme de chiffrement symtrique
itr; le nombre dtages ou de
ronde, quon le note Ne, dpend de la longueur de la clef. Ne = 10
si la cl al d 128 bi N 12 d l d l d l 192 biune longueur de 128
bits; Ne=12 dans le cas dune cl de longueur 192 bits et
Ne =14 si la cl comporte 256 bits.
L fi 15 t i t t l d l t d hiff t ChLa figure 15 montre
succinctement le droulement du chiffrement. Chaqueronde/tage est
compos comme suit :
1. BYTE_SUB (Byte Substitution) est une fonction non-linaire
oprantindpendamment sur chaque bloc partir d'un table dite de
substitutionindpendamment sur chaque bloc partir d un table dite de
substitution.
2. SHIFT_ROW est une fonction oprant des dcalages (typiquement
elle prendl'entre en 4 morceaux de 4 octets et opre des dcalages
vers la gauche de0 1 2 et 3 octets pour les morceaux 1 2 3 et 4
respectivement)0, 1, 2 et 3 octets pour les morceaux 1, 2, 3 et 4
respectivement).
3. MIX_COL est une fonction qui transforme chaque octet d'entre
en unecombinaison linaire d'octets d'entre et qui peut tre
exprimemathmatiquement par un produit matriciel sur le corps de
Galois (28)
82
mathmatiquement par un produit matriciel sur le corps de Galois
(2 ).4. Le + entour d'un cercle dsigne l'opration de OU exclusif
(XOR). Ki est la
ime sous-cl calcule par un algorithme partir de la cl principale
K.
HSCTDOC.blogspot.com
-
MK
BYTE_SUB
SHIFT ROW
Etage 1
SHIFT_ROW
MIX_COL
k1
Etage 2
Etage 9
Etage 10
BYTE_SUB
SHIFT_ROW
g
k10
C
83Figure 15 : Chiffrement selon lalgorithme AES.
C
Chapitre 3 : Aspects techniques de laChapitre 3 : Aspects
techniques de la cryptographie asymtrique
84
HSCTDOC.blogspot.com
-
Le concept de la cryptographie asymtrique a t introduit pour la
premire fois par Diffie Hellman en 1976fois par Diffie Hellman en
1976.
Utilise lexponentielle modulaire, le problme dchanges des cls
des algorithmes symtriquesalgorithmes symtriques.
Lide neuve dans le domaine tait dutiliser deux cls diffrentes
pour chiffrer et dchiffrer un message. Une des cls sera publie et
lautre doitchiffrer et dchiffrer un message. Une des cls sera
publie et l autre doit tre maintenu secrte.
Cryptosystmes asymtriques ou cl publique.yp y y q p q
A la mme poque une nouvelle approche cl publique a t propose par
Rivest, Shamir et Aldeman appele RSA.
Les algorithmes RSA, ElGamal et Rabin seront la fois pour le
chiffrement et les signatures numriques.
Utilise galement lexponentielle modulaire.
Chiff t t d hiff t l h d l t i t85
Chiffrement et dchiffrement, lchange des cls symtriques et
lauthentification des messages.
Les algorithmes cl publique sont conus pour rsister aux attaques
texte en clair choisi; leur scurit dpend la fois de la difficult de
dduire la cl prive partir de la cl publique et la difficult de
dduire le texte en clair partir du texte chiffr.
Inconvnient majeur de ces algorithmes
La vitesse de chiffrement et de dchiffrement sont nettement plus
faible que pour les algorithmes de la cryptographie symtrique.
Habituellement sont trop lent pour le chiffrement de donnes en
massetrop lent pour le chiffrement de donnes en masse.
Avantage
Chiffrement et le dchiffrement
Authentification des messages (sorte de signature
numrique)Authentification des messages (sorte de signature
numrique).
Chiffrer et changer des cls de session des algorithmes symtrique
dans un rseau non scurise.
86
un rseau non scurise.
HSCTDOC.blogspot.com
-
I- RSA
Le principe de base de cet algorithme est fond sur des fonctions
appartenant la famille des fonctions trappes ou piges. Elles sont
appeles des fonction sens unique brche secrte : facile
calculerappeles des fonction sens unique brche secrte : facile
calculer dans un sens et difficile voir impossible calculer dans le
sens inverse sans la connaissance de la brche secrte.
I- 1. Principe Lutilisation du RSA consiste gnrer tout dabord
des cls publiques et prives et ensuite effectuer le chiffrement, le
dchiffrement des messagesprives et ensuite effectuer le
chiffrement, le dchiffrement des messages ou lauthentification
(signature numrique des messages).
Etape 1 : Gnration des cls pPour gnrer les cls publique et prive
dun utilisateur, cette tape est base sur une multiplication de deux
grands nombres premiers faciles calculer et sur la difficult de
factoriser le rsultat de cette multiplication. Sous cette
condition, cette tape consiste calculer trois nombres e, d et
npermettant de dfinir :
Une cl publique Kp = ( e , n )
87Une cl prive Kpr = ( d , n )
Etape2 : Chiffrement et dchiffrementLe chiffrement/ dchiffrement
des messages est base sur lexponentielleLe chiffrement/
dchiffrement des messages est base sur lexponentielle modulaire de
base a et dexposant b modulo n :
a b mod na b mod n
Elle est facile calculer dans un sens et elle est difficile
inverser ( leElle est facile calculer dans un sens et elle est
difficile inverser ( le logarithme discret)
ChiffrementChiffrement
C = Ekp (M) =Me mod n avec Kp= (e, n)
Dchiffrement
M = D kpr (C) = Cd mod n avec Kpr = (d, n)
88
HSCTDOC.blogspot.com
-
Pour que les deux mcanismes soient rversibles il faut que
(Me mod n)d mod n = (Med mod n) mod n = M(Me mod n)d mod n =
(Med mod n) mod n = M
Ainsi, les cls publiques et prives sont lies par lquation
suivante :
ed mod n = 1 calcul de linversion modulaire
Si on fixe e on calcul d ou inversementSi on fixe e on calcul d
ou inversement
II- Outils mathmatiquesLa cryptographie asymtrique utilise
essentiellement la thorie des yp g p y qnombres et plus
particulirement les outils suivants :
1. Gnration de trs grands nombres premiers,
2. Arithmtique modulaire de base n,
3. Exponentielle modulaire de base n,
4. Inversion modulaire de base n,
895. Fonction dEuler et thorme dEuler.
1. Gnration de trs grands nombres premiers
Un nombre premier est un entier dont les seuls facteurs soit 1
et lui-mme. Deux nombres entiers sont premiers entre eux si leurs
PGCD = 1.Lalgorithme le plus utilis pour tester la primalit dun
entier de grandeL algorithme le plus utilis pour tester la primalit
d un entier de grande valeur est celui de Rabin-Miller.
2. Arithmtique modulaire de base n2. Arithmtique modulaire de
base n
b = a mod n a b (mod n) a est congrue b modulo n
a = kn + b
a, b, k et n sont des entiers. Si a et b>0 et b
-
3. Exponentielle modulaire de base n
ax mod n
Il existe plusieurs techniques qui permettent de calculer
lexponentielleIl existe plusieurs techniques qui permettent de
calculer l exponentielle modulaire sans engendrer des rsultats
dmesurs. Le meilleur algorithme est celui de Montgomery.
4. Inversion modulaire de base n
Le calcul de linverse modulaire est un problme difficile rsoudre
par p prapport linversion classique ( ax = 1, x=1/a a -1)
ax mod n =1 avec a et x [ 0 , n-1]
Cette quation a une solution unique a-1 si :
a et n sont premiers entre eux PGCD(a , n)=1, sinon pas de
solution.
91
Si n est premier, chaque entier de lensemble des rsidus [0 ,n-1]
est premier par rapport n et chacun a un inverse dans lensemble des
rsiduspremier par rapport n et chacun a un inverse dans l ensemble
des rsidus calcul par :
x = a-1 mod nx = a mod n
appel linverse multiplicatif modulo n de a.Lalgorithme d Euclide
tendu ou le thorme dEuler permettent de calculerL algorithme d
Euclide tendu ou le thorme d Euler permettent de calculer x.
5. Fonction dEuler
Le thorme dEuler permet de calculer linverse modulaire dun
entier modulo n en utilisant lensemble restreint des rsidus modulo
not (n).( )
Si n est premier alors (n) est le cardinal de lensemble des
rsidus {0, 1, 2, , n-1}-{0} : ensemble restreint des rsidus(n) = n
-1 reprsente le cardinal de lensemble dentiers premier avec n.Si n
= p x q avec p et q nombre premiers alors
(n) = (p) (q) = (p - 1)(q 1)
92La fonction (n) est appele fonction totient dEuler.
HSCTDOC.blogspot.com
-
Si PGCD (a ,n) = 1 alors a(n) mod n =1
Thorme dEuler
La rsolution de ax mod n =1 est
1 a a(n)-1 mod n =11. a a ( ) mod n 12. a-1 = a(n)-1 mod n3. x =
a-1 mod n4. x = a(n)-1 mod n4. x a mod n
Par la gnralisation du thorme dEuler, linversion de ax mod n = b
est calcule par :p
x = b a(n)-1 mod n
Factorisation
La factorisation dun nombre consiste chercher tous les facteurs
premiers
93qui le compose (252 = 41* 61*101).
III- Gnration des cls publique et prive dun correspondant A
1- Calcul des nombres nA, eA et dA
1 Trouver deux entiers premiers pA et qA dont les valeurs sont1.
Trouver deux entiers premiers pA et qA dont les valeurs sont
extrmement grandes, valeurs usuelles sont codes sur 2048 et 4096
bits. Puis calculer
nA =pA qA.nA pA qA.1. Calculer la fonction dEuler
A (nA) = (pA -1)*(qA-1)1. Calculer les nombres eA et dA.
Condition pour avoir le chiffrement par (eA , nA) et le
dchiffrement par (dA , nA))
(MeA mod nA)dA mod nA = MeAdA mod nASi eAdA mod nA = 1 M mod nA
= M
Par consquent, M mod nA = M impose la dcomposition du message
chiffrer ou dchiffrer sous la forme de blocs dont la taille est
infrieur
ll d A94
celle de nA.
HSCTDOC.blogspot.com
-
2- Calcul du nombre eA
Pour que eA dA mod (nA) = 1 possde une solution unique il faut
que le PGCD (eA , (nA) ) = 1
De ce fait, eA doit appartenir lensemble restreint des rsidus
(nA) de nA.
Choisir eA dans [2, nA - 1]. (eA , nA) reprsente la cl publique
KAp publier.
3- Calcul du nombre dA
Linversion dA de eA peut tre calcul par le thorme dEuler :
eA (nA) mod nA =1
dA = eA-1 = eA (nA)-1 mod nA
dA 1 ( A) 1 d A95
dA = eA-1 = eA (nA)-1 mod nA.
Remarque : e-1 peut tre galement calcul par lalgorithme dEculide
tendue 1 peut tre galement calcul par l algorithme d Eculide tendu
dA = eA-1 mod (nA)
dA [ 2 nA 1 ]dA [ 2 ,nA 1 ](dA , nA) reprsente la cl prive KApr
garder secrte
Important : Les nombres pA, qA et (nA) doivent tre
dtruits.Important : Les nombres pA, qA et (nA) doivent tre
dtruits.
Ainsi, le chiffrement dun message M est effectu par C=MeA mod nA
et le dchiffrement du message C par M = CdA mod nA.g p
III. Exemples
Exemple 1Chiffrement / dchiffrement du message M=8 reu par A
Gnration des cls publique et prive de Achoix de deux nombres
premiers pA =3 et qA= 5 nA = pAqA =15 (nA) = (pA-1)(qA-1) = 8C l l
d A t dA
96
Calcul de eA et dA.
HSCTDOC.blogspot.com
-
Choix de eA dans [ 2 , nA-1 ] premier avec nA par exemple eA
=11.
KAp = ( 11 , 15 )
dA = 11 (nA)-1 mod 15 = 3dA = 11 ( ) mod 15 = 3
KApr = ( 3 , 15 )
Chiffrement de MUn correspondant B chiffre M = 8 avec la cl
publique de A
C = 811 mod 15 =2
Dchiffrement de C
A reoit C et le dchiffre avec sa cl prive
M = 23 mod 15 =8
97
Exemple 2Chiffrement / dchiffrement du message M couleurs reu
par AChiffrement / dchiffrement du message M couleurs reu par A
Gnration des cls publique et prive de A
1. Choix de deux nombres premiers pA = 53 et qA = 17 nA = pAqA =
9012. (nA) = (pA - 1) (qA - 1) = 8323. Calcul de eA et dA3. Calcul
de eA et dA
4. Choix de eA dans [ 2 , nA-1 ] premier avec nA par exemple eA
=83
KAp = ( 83 , 901 )Ainsi, dA = 83 (nA)-1 mod 901 = 411
KApr = ( 411 , 901 )
Chiffrement de M
B chiffre le message M avec la cl publique de A : (83, 901)Le
message M = m1 m2 m3 m4 m5 m6 m7 m8 = c o u l e u r s est cod en
ASCII 099 111 108 101 11 7 114 115
98
ASCII par 099 111 108 101 11 7 114 115.
HSCTDOC.blogspot.com
-
Le message M est dcoup sous la forme de blocs dont le nombre de
chiffre est infrieur ou gale celui de n 3 chiffresest infrieur ou
gale celui de n 3 chiffres
Blocs mi Chiffrement Bloc ci
m1 09983 mod 901 789
m2 11183 mod 901 797
m3 11783 mod 901 196
m4 10883 mod 901 233
m5 10183 mod 901 475
m6 11783 mod 901 196
m7 11483 mod 901 198m7 114 mod 901 198
m8 11583 mod 901 378
C = c1c2c3c4c5c6c7c8 = 789 797 196 233 475 196 198 378.
99
Dchiffrement de C
A reoit C et le dchiffre avec sa cl prive :
Blocs ci Chiffrement Bloc mi
c1 789411 mod 901 099
c2 797411 mod 901 111
c3 196411 mod 901 117
c4 233411 mod 901 108
c5 475411 mod 901 101
c6 196411 mod 901 117
c7 198411 mod 901 114c7 198 mod 901 114
c8 378411 mod 901 115
M = 099 111 117 108 101 117 114 115 = c o u l e u r sOn peut
remarquer que lutilisation de llvation la puissance puis
lutilisation du modulo permet de changer la base des registres
choix et di t d i di ti it
100
dintroduire une discontinuit.
HSCTDOC.blogspot.com
-
Exemplem7 = 114 et m8 = 115 valeurs peu diffrentsm7 = 114 et m8
= 115 valeurs peu diffrentsc7 = 198 et c8 =378 valeurs trs
diffrents
Authentification des messagesAuthentification des messages
Lauthentification dun message peut tre considr comme une
signature numrique. En effet, A signe son message M en utilisant sa
cl prive : KAprnumrique. En effet, A signe son message M en
utilisant sa cl prive : K pr
C = D KApr (M) = MdA mod nA
B dchiffre C en utilisant la cl publique de A : KAp
M = E KAp (C) = MeAdA mod nA( )
Linconvnient majeur est que M peut tre dchiffrer par nimporte
qui puisque eA et nA sont publiques.
101
Chiffrement/dchiffrement et authentification des messages entre
A et BB
Scnario 1 : A chiffre le message M avec sa cl prive puis chiffre
le rsultat avec la cl publique de Brsultat avec la cl publique de
B
C = EkBp(DkApr(M)) = (MdAeB mod nA )mod nBB dchiffre le message
C en utilisant sa cl prive, ensuite avec la cl publique de A
:publique de A :
M = EkAp(DkBpr(C)) = (CdBeA mod nB )mod nA
Scnario 2 : A chiffre le message M avec la cl la cl publique de
B et le rsultat avec sa cl prive
C = DkApr(EkBp(M)) = (MdAeB mod nB )mod nA( ( )) ( )B dchiffre
le message C en utilisant la cl publique de A, ensuite avec sa cl
prive :
M = DkBpr(DkAp(C)) = (CeAdB mod nA )mod nB
Pour avoir un mcanisme rversible il faut que :A B l i 1
102
nA < nB pour le scnario 1nB < nA pour le scnario 2.
HSCTDOC.blogspot.com
-
Attaque de RSA :Les nombres n et e sont publiques, de ce fait il
y a une possibilit de chercher p et q puis (n) en se basant sur la
factorisation de n en deuxchercher p et q puis (n) en se basant sur
la factorisation de n en deux nombres premiers. Si on arrive
lalgorithme sera cass car le calcul de e et de d devient trs
facile.
Scurit de RSA : La scurit de RSA rside au niveau de la longueur
des nombres p et q. Ces deux nombres ont t cods sur 512 bits, 640
bits et 1024 bits.Ces deux nombres ont t cods sur 512 bits, 640
bits et 1024 bits. Actuellement sont cods sur 2048 et 4096
bits.
Performances :Le RSA est moins rapide que le DES cause des
calculs des puissances modulo. Dans les ralisations matrielles le
RSA est environ 1000 fois plus lente que le DES. Au niveau
logiciel, le chiffrement de RSA est bien plus grapide si vous
choisissez bien la valeur de e (les plus courants sont 3, 17 et
65537).
Conclusion :Le RSA est le plus populaire parmi les algorithmes
cl publique. Vu la complexit de calculs, le RSA est souvent utilis
au dbut des
i i h d l d i (f ibl i 103
communications pour changer des cls de session (faible quantit
dinformation communiquer) des algorithmes symtriques qui seront
utiliss pour effectuer des communications en diffr ou en temps
rel.
Algorithme de Diffie et Hellman :Diffie et Hellman ont t les
fondateurs de la cryptographie cls publiques. Leur algorithme a
permis de rsoudre le problme dchange des cls de laLeur algorithme a
permis de rsoudre le problme d change des cls de la cryptographie
cl symtrique. Son principe est bas sur lexponentielle modulaire. La
fonction utilise est
gm mod ng mod n,O g et n sont deux grands entiers premiers entre
eux et sont publiques, m est un entier alatoire gard secret.
Le protocole dchange des cls secrtes se droule comme suit :1. Au
dbut deux correspondants A et B se mettent daccord sur n et g,2. A
choisit un grand nombre entier alatoire X gard secret et calcul :
gXg g g
mod n et envoie le rsultat B,3. B choisit un grand nombre entier
alatoire Y gard secret et calcul : gY
mod n et envoie le rsultat A,4. A reoit gY mod n, puis calcul
(gY mod n) X mod n = gYX mod n,5. B reoit gX mod n, puis calcul (gX
mod n) Y mod n = gXY mod n,
Ainsi, la valeur K = gYX mod n reue par les deux parties devient
leur secret partag et par consquent, elle peut tre utilis comme cl
de session pour communiquer en utilisant un algorithme cl
symtrique.
104
HSCTDOC.blogspot.com
-
KA p = gX mod n est la cl publique de A et sa cl prive est KA pr
= X. KB p = gY mod n est la cl publique de B et sa cl prive est KB
pr = Y.Pour trouver les cls prives X et Y un attaquant doit rsoudre
linverse dePour trouver les cls prives X et Y un attaquant doit
rsoudre l inverse de gX mod n ou gY mod n. Cette rsolution reste un
problme trs redoutable en mathmatique.
Algorithme dElGamal
La version de base de cet algorithme, publie en 1985, a t
utilise pourLa version de base de cet algorithme, publie en 1985, a
t utilise pour effectuer des signatures numriques. Elle tire
galement sa scurit sur la difficult de calculer les logarithmes
discrets. Une autre version modifie a t propose pour le chiffrement
et le dchiffrement des messages.p p p g
3.3.1 Signature numrique des messages
Pour gnrer une paire de cl, un correspondant doit choisir un
nombre premier n et deux nombre alatoire g et x < n. Ensuite, il
doit calculer :
y = gx mod n
Ce qui permet de gnrer :U l bli K ( )
105
Une cl publique Kp =(y, g, n)Une cl prive kpr = x
La signature dun message M ncessite le choix dun nombre alatoire
k telLa signature d un message M ncessite le choix d un nombre
alatoire k tel que k et n-1 soient premiers entre eux. Cette
signature sera compose de deux parties. La premire partie de la
signature est exprime par :
a = gk mod n
La deuxime partie de la signature est obtenue en rsolvant
lquation ci-p g qdessous avec lalgorithme dEuclide tendu:
M = (xa + kb) mod ( n-1)( ) ( )
La signature de M sera donc reprsente par a et b
Pour vrifie une signature, un correspondant B reoit M, aA et bA.
Il utilisera la cl publique de A : Kp (yA, gA, nA ) pour confirmer
lgalit suivante :
A bA MyaA abA mod nA = gMA mod nA
106
HSCTDOC.blogspot.com
-
Exemple :
1- Cl publique et prive de A nA = 11 gA = 2 < nA xA < nA ,
xA = 8 yA = gAxA mod nA = 28 mod 11 =3
KA (3 2 11) KA 8KAp = (3, 2, 11) KApr = 8
2- signature de M=5
Choix de kA = 9, nA 1 = 10, PGCD(9,10) = 1 Calcul de aA = gkA
mod nA = 29 mod 11 =6 Rsolution de M = yaA abA mod nA = gM mod nA
Rsolution de M = yaAA abAA mod nA = gMA mod nA
5 = (8*6 + 9*bA) mod 10Lalgorithme dEuclide tendu donne bA = 3,
Signature de M = (6,3)
3- La correspondant B reoit M = 5et (6 ,3), pour confirmer la
signature de A, il calcul : yaAAabAA mod nA = gMA mod nA
10736 .63 mod 11 = 25 mod 11 = 10
Il est sr que cest A qui a sign le message M.
Chiffrement de dchiffrement Un correspondant B envoie un message
M A, en utilisant la cl publique de A :KAp = ( yA, gA , nA). Le
message chiffr sera compos de deux parties comme suit :
C1 = gkBA mod nAC2 = ykBA mod nA
kB est un nombre alatoire choisi par B tel que PGCD (kB, nA 1)
=1
C = C1C2 le message chiffr dont la taille est le double de celle
de MC = C1C2 le message chiffr dont la taille est le double de
celle de M.
Le correspondant A reoit C et le dchiffre avec sa cl prive xA en
utlisant lexpression suivante :l expression suivante :
M = C2 /CxA1 mod nA
En effet,
C2/ CxA1 mod nA = ykBA mod nA / [gxAkBA mod nA] mod nA
108
C2/ C 1 mod nA y A mod nA / [g A mod nA] mod nA= (gxAkBA mod nA)
M mod nA / [gxAkBA mod nA] mod nA= M.
HSCTDOC.blogspot.com
-
Exemple
Cls publique et prive de A : KAp = (yA, gA, nA) = ( 3, 2, 11) et
KApr = xA =8
B chiffre M=5 en utilisant kB = 3, PGCD( 3,10 ) =1C1 = 23 mod 11
= 8C2 = 33. 5 mod 11 =25
B envoie A C1C2, A utilise sa cl prive xA = 8,M 25 / 88 d 11 25
/ 5 5M = 25 / 88 mod 11 =25 / 5 =5.
Conclusion
Le chiffrement / dchiffrement, lauthentification et la signature
dElGamal ne peuvent tre effectus que sur des messages dont la
taille est entre 8 64 caractres ( de 64 bits 512 bits) Ceci est d
la complexit du calcul decaractres ( de 64 bits 512 bits). Ceci est
d la complexit du calcul de lexponentielle modulaire qui utilise
des cls publiques ou prives reprsentes par des nombres de grandes
valeurs de 100 500 chiffres (de 512 bits 2048 bits)512 bits 2048
bits).
109
Exemple de cl publique sur 1024 bits en Hexadcimal :
3081 8902 8181 00CF 8424 B08C CD71 9110 7E44 2B2E 8014 35F0 49CE
8C3E 8CA9 3516 5FC7 9EB8 B4D2 9A89 637C 20C4 DB30 97AF ECB3 37F2
A000 00E8 E350 BA90 2B20 EEE5 9D5B 4A87 E0D5 895A B6A4 05A6 B2C4
2715 555F 6699 0A68 95AD 3963 6071 4C00 8431 7693 7EC0 20F9 8C31
EC2A 8585 9054 3478 4DD1 366B 9024 67B1 E8C8 C812 6EE9 E35B 5D04
700D 7C28 2702 0301 0001
Les algorithmes asymtriques sont trs coteux en temps de
calcul
Utilisation courante : Echange des cls de session des
algorithmes symtriques (8 caractres (64 bits) 32 caractres (256
bits)) en utilisant le service de chiffrement / dchiffrementservice
de chiffrement / dchiffrement.
Signature et lauthentification des messages plus longs nest
possible que sur des rsums des messagessur des rsums des
messages
Solution adopte :
110Fonction de hachage rsum signature et authentification
HSCTDOC.blogspot.com
-
Chapitre 4 : Authentification hachage signature etChapitre 4 :
Authentification, hachage, signature et gestion de cls
111
1 Signature numrique :1. Signature numrique :
La signature numrique doit avoir les mmes caractristiques quune
signature manuscrite savoir :signature manuscrite savoir : Elle ne
peut tre limite pour prouver que la signataire a dlabrement sign
son document. Elle doit authentifier la signatureg Elle nappartient
qu un seul document : pas rutilisable Un document sign ne peut tre
modifi (intgralit) Elle ne peut tre renie (non rpudiation).
Existence dune relation biunivoque entre un document sign et la
signature qui laccompagne.
Les algorithmes asymtriques permettent une signature numrique
des messages trs court (
-
- Notion de fonction de hachage sens unique (one way hach
function)Cest une fonction mathmatique facile calculer dans un sens
(chiffrementCest une fonction mathmatique facile calculer dans un
sens (chiffrement facile) et est extrmement difficile calculer dans
le sens inverse (dchiffrement difficile).
M H(M) empreinte digitaleM H(M) empreinte digitaleProprit de
H(M) :
M est de taille variable empreinte h=H(M) de taille fixe M est
de taille variable empreinte h H(M) de taille fixe Il est facile de
calculer h partir de M Impossible de calculer M partir de H(M)
Rapidit du calcul de lempreinte Rapidit du calcul de l empreinte
Impossible de gnrer deux documents diffrents ayant la mme
empreinte. (H(M) est sans collision) Il est trs difficile de
trouver deux messages alatoires qui donnent la g qmme
signature.
113
Principe de fonctionnement :
Le message M = M0 M1 MN-1 les blocs Mi sont de mme taille.
Chaque bloc Mi subira un hachage : H(Mi) = f(Mi, H(Mi-1))
M0Mi
M1 H = fonction de hachage sens
M0
H(Mi)
H(Mi-1).
MN-1
unique
Pour le premier bloc M0, une constante sera utilise comme valeur
initiale, pour le bloc M1, H(M0) reprsente une valeur dinitiation
et ainsi de suite. A
114la fin du hachage H (MN-1) reprsente lempreinte digitale du
message.
HSCTDOC.blogspot.com
-
- M de taille quelconque H(M) de taille fixe (valeurs standards
128 ou 160 bits)bits)Particularit des fonctions de hachage :
Algorithmes associs sont publiques Une fois M hach on ne peut
plus restitu M (sens unique) Une fois M hach on ne peut plus
restitu M (sens unique)
- Assure lintgralit mais ne peuvent pas authentifier lauteur de
M
- Ncessit de la cryptographie asymtrique qui offre le service
dauthentification
- H(M) et RSA ou ELGAMAL == signature numrique
- Fonction de hachage sens unique avec cl (ou brche secrte) g q
( )
115
Cration dune signature numrique
Le correspondant A signe un message M en utilisant une fonction
de hachage H(M) et en chiffrant le rsultat avec sa cl prive KApr le
rsultat est transmis un correspondant Btransmis un correspondant
B.
S(M)=DKApr(H(M))
Remarque :
Le message M peut tre clair ou chiffr avec un algorithme
symtrique dontLe message M peut tre clair ou chiffr avec un
algorithme symtrique dont la cl a t pralablement change entre A et
B en utilisant un algorithme asymtrique. Dans ce cas B reoit C=
EKBp(M) et S(M)
116
HSCTDOC.blogspot.com
-
Vrification dune signature numrique
Le correspondant B reoit Mr et S(M) . Il utilise la cl publique
de A (KAp) pour dchiffrer la signature S(M).
H(M)=EKAp(S(M))=EKAp(DkApr(H(M))
Et hache Mr pour calculer H(Mr)Et hache Mr pour calculer
H(Mr)
Si H(Mr)=H(M) la signature est valide sinon M est jet
Inconvnient majeur du protocole de la signature numrique :
certification de la cl publique du correspondant A.
117
Exemples dutilisation
Signature en utilisant :
Un algorithme de hachage :Un algorithme de hachage : MD4 :
Message Digist version 4 (produit des empreintes de 128 bits)MD5 :
Message Digist version 5 (produit des empreintes de 128 bits) SHA2
: Hach Algorithm version 2SHA2 : Hach Algorithm version 2 RIPEMD
160 : Ripe Message DigestEt un algorithme asymtrique :
RSARSAELGAMAL
- ou lutilisation du :Standard de signature numrique (DSS) g q (
)DSA Digital Signature
118
HSCTDOC.blogspot.com
-
Description de lalgorithme de hachage MD5
MD5 est une version amliore de MD4. Le principe de base de
cetMD5 est une version amliore de MD4. Le principe de base de cet
algorithme, conu par R. Rivest, est fond sur la manipulation de
blocs de 512 bits chacun ( 64 caractres). Chaque bloc est dcompos
sous la forme de 16 sous blocs de 32 bits chacun. Ces sous blocs
constituent une des entres de lalgorithme. 4 fonctions non linaires
sont utilises. Chaque fonction est utilise dans une ronde (MD5
possde 4 rondes). Chaque ronde effectue 16 itrations. La sortie de
lalgorithme est un ensemble de 4 variables de 32 bits. De ce fait,
le rsultat de hachage est cod sur 128 bits.
tape 1 : pr traitement du messageLe message M peut avoir une
taille quelconque, il doit tre complt de manire ce que sa taille
soit multiple de 512 bits (M mod 512 =0)Message multiple de 512
bits est M.
Message M initial Complment de M taille de M
119b0b1.bi..bn1 1000000000000000000000 b0b1..b63
Le complment de M reprsente un remplissage qui commence avec 1
seul p p p g qet dautant de 0 que ncessite et ensuite la taille
initiale de M est code sur 64 bits et est place la fin du message.-
Dcoupage de M en blocs de 512 bits chacun
B0 B1 .. Bm
Chaque bloc Bi dcoup en 16 sous blocs de 32 bits chacunBi M[0],
M[1], , M[15]
t 2 I iti li ti l t it t d B0tape 2 : Initialisation pour le
traitement de B0On dfinit 4 variables (variables de chanage)
A,B,C,D de 32 bits initialises par :A 01 23 45 67A = 01 23 45 67B =
89 AB CD EFC = FE DC BA 98D = 76 54 32 10D = 76 54 32 10Ces 4
variables sont copies dans 4 autres variables :AA = A, BB = B, CC =
C, DD = D
120
HSCTDOC.blogspot.com
-
tape 3 : Calcul itrative des 4 rondes (4*16=64 itrations)Dans
chaque ronde on calcul de nouvelles valeurs des variables A B C
DDans chaque ronde , on calcul de nouvelles valeurs des variables
A, B, C, D partir des anciennes valeurs en utilisant dans chaque
ronde une fonction non linaire (pour voluer ces variables de manire
non-linaire, et d'assurer les proprits de sens unique)d assurer les
proprits de sens unique).
Ronde 1F(X Y Z)=(X AND Y) OR ( NOT(X) AND Z)F(X,Y,Z) (X AND Y)
OR ( NOT(X) AND Z)
Ronde 2G(X,Y,Z)=(X AND Z) OR (Y AND NOT(Z))
Ronde 3Ronde 3H(X,Y,Z)=(X XOR Y XOR Z)
Ronde 4I(X,Y,Z)=Y XOR (X XOR NOT(Z)) ( , , ) ( ( ))
O X, Y et Z dnotent lun des variables A, B,C ou D. Ces fonctions
renvoient des valeurs sur 32 bits qui seront ajoutes la 4 eme
variable ( non implique dans le calcul), et au sous bloc considr et
une constante T. Ce nouveau rsultat sera ensuite dcal
circulairement vers la gauche de S positions. Enfin, le rsultat de
ce dcalage est ajout lune des variables
121A,B,C ou D.
Dtails du calcul de A,B,C et DDtails du calcul de A,B,C et DM[j]
: j (0 15) me blocT[i] : constante calcule litration i par
429467296 . abs(sin[i]) (i en radian).S[i] : nombre de dcalages
correspondant litration i.
Ronde 1A = B + [(A + F(B,C,D) + M[j] + T[i])
- R d 4Ronde 4A = B + [(A + I(B,C,D) + M[j] + T[i])
- Ch i l t i d K 1xA= 12496 < qAyA= 1008325512496 mod
124540019 = 119946265une cl publique KpA = (qA,yA,gA,nA)une cl
publique Kp (qA,yA,gA,nA)une cl prive KprA=xASignature par A de
lempreinte HA(M) dun message MChoix alatoire de KA=9557
-
Vrification de la signatureLe correspondant B reoit dun
correspondant A lempreinte HA(M) (leLe correspondant B reoit dun
correspondant A lempreinte HA(M) (le message en clair ou chiffr et
(RA=34, SA=13049). Il utilisera la cl publique de A pour calculer
:W= 34-1 mod 117389 = 1799W= 34 1 mod 117389 = 1799U1=(5246*1799)
mod 117389 = 12716U2 = 13049* 1799 mod 117389 =
8999V=((1008325512716A*y8999A) mod nA) mod 117389 =34V ((10083255 A
y A) mod nA) mod 117389 34V=RA=34 alors la signature est valideA a
bien sign le message M en utilisant HA(M) avec sa cl prive xA =
12496 et le nombre KA= 9557.12496 et le nombre KA 9557.
Gestion des cls et certificat numriqueLe problme majeur de la
cryptographie asymtrique est la publication des p j yp g p y q pcls
publiques des diffrents utilisateurs. Cette publication doit offrir
lassurance que :
Les cls publiques sont bien celles des utilisateurs qui elles
sont associes. Lorganisme qui publie les cls publiques doit tre
digne de confiance (tiers de confiance).
127 Les cls publiques sont valides.
Pour cela, on a recours un certificat numrique. Un certificat
numrique t d t i fi t l l ti i i t t t lest un document numrique
fixant les relations qui existent entre une cl
publique et son propritaire ( un utilisateur, une application,
un site, une machine).La gestion technique et administrative de ces
certificats sont assures parLa gestion technique et administrative
de ces certificats sont assures par une infrastructure de gestion
des cls IGC ou Public Key Infrastructure (PKI). Une PKI repose sur
les organismes suivants :
Lautorit de certification AC dont la fonction est de dfinir la L
autorit de certification AC, dont la fonction est de dfinir la
politique de certification (PC) et de la faire appliquer,
garantissant ainsi un certain niveau de confiance aux utilisateurs.
Lautorit denseignement (AE) dont la fonction est de vrifier queL
autorit d enseignement (AE), dont la fonction est de vrifier que le
demandeur est bien la personne quil prtend tre, conformment aux
rgles dfinies par lautorit de certification. Elle garantit la
validit des informations contenues dans le certificat. Lautorit
denseignementdes informations contenues dans le certificat. L
autorit d enseignement est le lien entre loprateur de certification
et labonn. Loprateur de certification (OC), dont la fonction est
dassurer la fourniture et gestion du cycle de vie des certificats.
Son rle consiste g ymettre en uvre une plate forme oprationnelle,
fonctionnelle, scurise, dans le respect des exigences nonces dans
la politique de certification (PC) et dont les modalits sont
dtailles dans la
128dclaration des pratiques de certification (DPC).
HSCTDOC.blogspot.com
-
Annexe : Norme X.509X 509 est un standard de cryptographie de
lUnion international desX 509 est un standard de cryptographie de l
Union international destlcommunications pour els infrastructures
cls publique. X509 tablitentre autres les formats standard de
certificats lectronique et un algorithmede validation de chemin de
certification.de validation de chemin de certification.X509 a t cr
en 1988 dans le cadre du standard X500. Il repose sur unsystme
hirarchique dautorits de certifications.
Un certificat X.509 est dcompos en deux parties : La partie
contenant les informations (version, n de srie du certificat,
algorithme utilis , nom, date de validit, cl publique du
propritaire du certificat, ) La partie contenant la signature de
lautorit de certification
Exercice :Discuter les cas suivants:1. Deux certificats
diffrents contiennent la mme cl publique.2 D tifi t diff t t l i
t2. Deux certificats diffrents ont la mme signature.
129
HSCTDOC.blogspot.com