Laboratoire dInformatique
d Informatique dAvignon
d Avignon (LIA)
Contact : khalil.ibrahimi@univ-avignon.fr
Plan
Chapitre 1 : Concepts gnraux et dfinitions;
Chapitre 2 : Aspects techniques de la cryptographie
symtrique;
Chapitre 3 : Aspects techniques de la cryptographie
asymtrique;
Chapitre
Ch
it 4 : Authentification,
A th tifi ti
hachage,
h h
signature
i
t
ett
gestion de cls;
2
HSCTDOC.blogspot.com
Rfrences
1- Titre : Cryptographie
yp g p
applique
pp q
:p
protocoles,, algorithmes,
g
, et code
source en C,
Auteur : Bruce Schneier.
HSCTDOC.blogspot.com
Cryptologie
yp
g
Cryptanalyse
Cryptographie
Cryptosystme
Symtriques
Cryptosystme
Asymtrique
Confidentialit des
informations transmises ou
stockes
Schma gnral de la cryptologie
HSCTDOC.blogspot.com
HSCTDOC.blogspot.com
HSCTDOC.blogspot.com
11
Message en
clair M
Message en
clair
l i M
Chiffrement
C = EK (M)
Cl K
tt
metteur
A
Message
chiffr C
Dchiffrement
M = DK (C)
Cl K
Rcepteur B
HSCTDOC.blogspot.com
Cryptosystmes
yp y
usage
g g
gnrale
Rcepteur
p
B
metteur A
Message en
clair M
Message en
clair
l i M
Chiffrement
C = EK (M)
Cl K
Dchiffrement
M = DK (C)
Message
chiffr C
Cl K
13
Cryptosystmes cl symtrique
Avantages
Rapidit de chiffrement / dchiffrement,
Confidentialit
C fid ti lit llocale
l par un seull utilisateur
tili t
((protection
t ti d
de fifichiers
hi
d
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 confidentialit
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
scurises.
14
HSCTDOC.blogspot.com
Cryptosystmes cl symtrique
Outils
Substitution,
Transposition,
Ou Exlusif,
Dcalage logique,
C bi i
Combinaison
d
des ffonctions
ti
ci-dessus.
id
Exemples
p
de ralisation
DES,
IDEA,
MARS
MARS,
3DES,
15
Le conceptt de
L
d cryptosystmes
t
t
asymtriques
t i
a t introduit,
i t d it en 1976,
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 ciaprs).
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
appele
l prive
i Kpr
K doit
d i
tre garder
d secrte
et nest
connue que d
de son
propritaire.
HSCTDOC.blogspot.com
Cryptosystmes
yp y
usage
g g
gnrale
Rcepteur
p
B
metteur A
Message en
clair M
Message en
clair
l i M
Chiffrement
C = EK (M)
Cl K
Message
chiffr C
Dchiffrement
M = DK (C)
Cl K
17
1
1.
HSCTDOC.blogspot.com
Message en
clair M
Message en
clair M
Chiffrement
C = EKpB (M)
KpB
Canal de
communication
non scuris
A chiffre le
message M avec
la cl publique de
B provenant dun
centre de
di ib i
distribution
Message
chiffr C
Dchiffrement
M = DKprB (C)
B dchiffre le
message C avec sa
cl prive tenue
secrte
KpA
KpB
Centre de distribution
de cls publiques
Rcepteur B
metteur A
Fig 4 : Synoptique du mcanisme de confidentialit
19
HSCTDOC.blogspot.com
B identifie A en utilisant
tilisant la cl publique
p bliq e de A pour
po r dchiffrer le
message C ce qui donne lauthentification de A.
Pas de confidentialit puisque la cl publique de A est connue et
publique (nimporte qui peut dchiffrer le message C).
3 Intgrit
g
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
p
techniques
q
de la cryptographie
yp g p
asymtrique
ensuite chiffr par la cl publique de B (kprB),
A (M)
1. C = Ekpr
p
2. C = EkpB(C) = EkpB[ EkprA (M) ]
B dchiffre le message
g c avec sa cl p
prive ((kprB)), puis
p
le rsultat
sera ensuite dchiffr par la cl publique de A (kprA),
1. DkprB (C) = C
A
A
B (C
2 Ekp
2.
(C))
k (C) = Ekp
k [ Dkpr
k
= EkpA[ DkprB (EkpB[ EkprA (M) ]) ] = M
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
metteur A
Assure la confidentialit
Message
g en
clair M
C = EKprA (M)
C = EKpB (C)
Message
chiffr
hiff C
A
Assure
lauthenticit
l th ti it
Rcepteur B
C = DKprB (C)
M = EKpA (C)
Message
g en
clair M
24
Cryptosystmes 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 cls
cls.
Inconvnients
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 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
bits.
25
Cryptosystmes cl asymtrique
O il
Outils
Thorie des grands nombres premiers,
Fonctions dexponentiation
p
modulaires.
Exemples de ralisation
RSA,
RSA Diffi
Diffie-Hellman,
H ll
El Gamal,
Cryptosystme hybrides
Lide de base consiste utiliser un cryptosystme asymtrique pour
changer les cls dun
d un cryptosystme symtrique.
symtrique Ce systme combine
donc tous les avantages des deux cryptosystmes symtriques et
asymtriques.
26
HSCTDOC.blogspot.com
Cryptosystmes hybride
metteur
A
Rcepteur B
La cl de
session Ks
C = EKpB (Ks)
Ks = DKprB (C)
La cl de
session Ks
A chiffre la cl de session Ks en
utilisant
tili
t la
l cl
l publique
bli
d
de B
B dchiffre la cl de session Ks
en utilisant sa cl priv
Fi 6 : Schma
Fig
S h
dun
d
cryptosystme
t
t
hybride
h b id : change
h
de
d cl
l de
d session
i
(cryptosystme asymtrique)
27
Cryptosystmes hybride
Rcepteur B
metteur A
Message en
clair M
C = EKs (M)
M = DKs(C)
Message en
clair M
Fig 7 : Schma dun cryptosystme hybride : communication (cryptosystme
symtrique)
Exemple
p de ralisation :
PGP (Pretty Good Privacy)
28
HSCTDOC.blogspot.com
29
Cryptographie classique
Substitution
1 Substitution monoalphabtique
Soient A = {a0,
S
{
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 estt la
l fonction
f
ti de
d chiffrement.
hiff
t Soit
S it M = {m0,
{ 0 m1,
1 , mr-1}
1} lle
message en clair o mi sont les caractres du message M de A.
La cl et lalgorithme de chiffrement sont combins et reprsents par
C = Ek(M) = f(m0) f(m1) f(mr-1)
HSCTDOC.blogspot.com
30
Cryptographie 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 n
O
a: caractre chiffrer
K: nombre de dcalage, cl de chiffrement
n: dimension de A
A.
Exemple :
A : ABCDEFGHIJKLMNOPQRSTUVWXYZ (les caractres alphabtiques
majuscule du franais standard)
M : RENAISSANCE
n: 26
K :3 (chiffrement de Jule Cesar)
31
Cryptographie classique
Exercice :
Trouvez lensemble de lalphabets de substitution C?
Chiffrez le message en clair 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
l ensemble C est choisie alatoirement?
32
HSCTDOC.blogspot.com
Cryptographie classique
2
2.
S b i i polyalphabtique
Substitution
l l h b i
33
Cryptographie classique
En pratique
E
ti
l nombre
le
b dalphabets
d l h b t utilises
tili dans
d
l chiffrement
le
hiff
t estt gale
l
au nombre utiliss dans la cl. De ce fait, la cl de chiffrement doit donc
q caractre de la cl on attribut un
tre constitue de d caractre, chaque
alphabet de substitution Ci. Donc, cette cl sera rpte autant de fois que
ncessaire 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 :
fi(mi) = (mi + ki) mod n,
O
Ki (i=1,
(i 1 , d) cl
l de
d chiffrement,
hiff
t estt la
l valeur
l
d dcalage
de
d l
d la
de
l ime
i
alphabet de substitution par rapport lalphabet standard A.
HSCTDOC.blogspot.com
34
35
36
HSCTDOC.blogspot.com
colonne
l
cii ett cjj sontt les
l caractres
t
de substitution situs respectivement en dessous de mi et mj.
3- Si mi et mj, se trouvent dans des lignes et colonnes diffrentes ci
(
(ou
cj)
j) sera le
l caractre
t quii se trouve
t
lintersection
li t
ti
d la
de
l ligne
li
mii
(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 clair
M = INFORMATIQUES
38
HSCTDOC.blogspot.com
3 Masque
3.
M
jetable
j bl ((one time
i
P
Pad)
d)
Pour viter les attaques statistiques, cette technique consiste utiliser une cl,
appel masque, constitue de K caractres tries au hasard et de mme longueur
que le message en clair. Le chiffrement est effectu par :
Ci = f(mi) = (mi + Ki) mod n
O
mi : le caractre chiffrer
Ki : caractre de la cl (masque) gnr alatoirement pour chiffrer mi
n : dimension de llensemble
ensemble de llalphabets
alphabets A.
A
Cette fonction est identique au systme de vignere avec une gnration alatoire
des caractres de la cl dont la taille est celle du message en clair.
clair
Exemple :
n = 26
K = TBFRGFARFMIKL
M = MASQUEJETABLE
Calculer le message chiffr C = Ek(M)?
39
Cryptographie classique
T
Transposition
iti
Le chiffrement par transposition est bas sur les permutations des caractres
du message en clair.
clair De ce fait,
fait les caractres sont toujours mais dans un
Autre ordre pour augmenter les diffusions dans le message en clair. Ce
procd est fond essentiellement sur des matrices dordres nxp.
Message
en clair M
Matrice
de taille
nxp
Lecture du
message
chiffr
partir de la
matrice
Message
chiffr C
Fi 6
Fig
6. P
Principe
i i d
de lla ttransposition
iti
40
HSCTDOC.blogspot.com
1 Transposition
1.
T
i i simple
i l par colonnes
l
Dans la matrice, le message en clair est crit horizontalement et le message chiffr
est obtenu en lisant la matrice verticalement. De ce fait, llordre
ordre de la matrice
reprsente la cl de chiffrement K.
Exemple :
K=4x4
M = INFORMATIQUES
Donc nous avons une matrice de 4 lignes et 4 colonnes.
colonnes
X est pour complter la matrice.
D le
Do
l message chiffr
hiff estt
C = IRISNMQXFAUXOTEX
41
t par lordre
l d de
d la
l matrice
t i ett le
l squencement
t de
d la
l lecture
l t
d colonnes.
des
l
Exemple :
K = 4 x 4, lecture des colonnes 2-4-1-3
M = INFORMATIQUES
HSCTDOC.blogspot.com
1 Transposition
1.
T
i i complexe
l
par colonnes
l
Dans la transposition complexe par colonnes, le nombre de colonnes (p) de la
matrice est fix par le nombre de caractres d
dune
une cl K (tous les caractres sont
diffrents les uns aux autres), le nombre de ligne (n) dpendra de la longueur du
message en clair. Le classement dans lordre alphabtique des caractres de la cl
permet de fixer le squencement de la lecture des colonnes de la matrice.
matrice
Exemple :
K = GATS,
GATS p = 4
M = INFORMATIQUES
43
44
HSCTDOC.blogspot.com
Cryptographie moderne
La cryptographie
L
t
hi symtrique
t i
classique
l
i
t it i t des
traitaient
d cryptosystmes
t
t
b
bas
sur des caractres. Les diffrents algorithmes remplaaient ou
p
les caractres. Les meilleurs systmes
y
combinaient les deux
transposaient
oprations plusieurs fois.
Actuellement la cryptographie symtrique moderne utilise la mme
philosophie La diffrence est que les algorithmes associs manipulent des
philosophie.
bits au lieu des caractres. Donc, il y a un passage dun alphabet de 26
caractres un alphabet de 2 caractres (base 2).
La plus part des algorithmes combinent galement des substitutions avec
des transpositions en plus des deux fonctions logiques : ouexclusif et dcalage logique.
45
Cryptographie moderne
1
1.
O Exclusif
Ou
E l if simple
i l
Entre b
Sortie S
Table de vrit
La fonction canonique est
46
HSCTDOC.blogspot.com
Considrons un
n bloc M du
d message en clair et une
ne cl K de chiffrement.
chiffrement Ils
sont cods lintrieur dune machine informatique en code ASCII, et le
chiffrement se ralise en effectuant un XOR entre les diffrents bits de M
et C :
ci : lltat
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
t une gnralisation
li ti de
d XOR
simple. On utilise donc un masque compos de bits au lieu des caractres
et au lieu de laddition, on utilise le XOR. Pour dchiffrer, on applique au
message chiffr le XOR avec le mme masque jetable. On rappel que la
taille du masque jetable est gale celle du message en clair, et que le
masque doit tre gnr alatoirement et utilis une seul fois.
fois
Linconvnient majeur du masque jetable est la synchronisation entre
lexpditeur et le destinateur sur le canal de transmission. Si le
destinataire est dcal de quelques bits (bits perdu durant la transmission)
et donc le message dchiffr naura aucun sens. Malgr cela, les
q
jjetables ont encore leur utilit essentiellement p
pour des canaux
masques
de communications ultra-secrets et faible dbit. Le chiffrement est
effectu par lopration : C = M K
M estt le
l message en clair;
l i K estt la
l cl
l de
d chiffrement
hiff
t ett C estt le
l message
chiffr.
48
HSCTDOC.blogspot.com
Modes cryptographiques
yp g p q
Il existe
i t deux
d
modes
d d
de b
base d
de ffonctionnement
ti
td
des algorithmes
l ith
symtriques ou cl secrte : les algorithmes de chiffrement par blocs
g
de chiffrement en continu. Les algorithmes
g
de
et les algorithmes
chiffrement 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 octet
octet.
Message
en clair M
Cl K
Message
chiffr C
Bloc M1
Bloc M2
Bloc Mn
Ek
Ek
Ek
Bloc C1
Bloc C2
Bloc Cn
HSCTDOC.blogspot.com
Modes cryptographiques
C1 = Ek(M1
Message
en clair M
Ci = Ek(Mi
VI)
Ci-1)
Bloc M1
Bloc M2
Bloc Mi-1
Ek
Ek
Ek
Bloc C1
Bloc C2
Bloc Ci-1
Vecteur
dinitialisation
VI
Message
chiffr C
Fi 8 : Mode
Fig
M d CBC : Chiff
Chiffrementt
52
HSCTDOC.blogspot.com
M1 = Dk(C1)
Message
chiffr C
Mi = Dk(Ci)
VI
Ci-1
Bloc C1
Bloc C2
Bloc Ci-1
Dk
Dk
Dk
Bloc M1
Bloc M2
Bloc Mi-1
Vecteur
V
t
dinitialisation
VI
Message
g
en clair M
Fi 9 : Mode
Fig
M d CBC : D
Dchiffrement
hiff
t
53
Modes cryptographiques
Modes
M d d
de chiffrement
hiff
t en continu
ti
Chiffrement rtroaction (CFB : Cipher Feed Back )
En mode CBC,, les donnes peuvent
p
tre chiffres par
p units de m
bits 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 =
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 : 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
chiffrement
hiff
t sontt combins
bi par ou exclusif
l if avec lle premier
i caractre
t d
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
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 d
dattente
attente de 64 bits (8 octets)
Octet 8 Octet 7 Octet 6 Octet 5 Octet 4 Octet 3 Octet 2 Octet 1
Cl K
Ek
Octet le plus
gauche
Mi (8 bits)
Chiffrement
Ci (8 bits)
Ci = Mi
Ek(Ci-1)
Dchiffrement
Mi = Ci
Ek(Ci-1)
Modes cryptographiques
Mode de rtroaction de sortie (OFB : Output-Feed Back)
Ce mode est similaire au mode CFB,, sauf que
q n bits chiffrs sont rangs
g
dans 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 suivant.
suivant
File dattente de 64 bits (8 octets)
Octet 8 Octet 7 Octet 6 Octet 5 Octet 4 Octet 3 Octet 2 Octet 1
Cl K
Ek
Octet le plus
gauche Si-1
Si 1
Mi (8 bits)
Chiffrement
Ci (8 bits) peut tre
transmis
Ci = Mi
Ek(Si-1)
Dchiffrement
Mi = Ci
Ek(Si-1)
Principe
p : Lalgorithme
g
DES est un cryptosystme
yp y
de chiffrement
symtrique 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 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 64
bits.
HSCTDOC.blogspot.com
Message
en clair M
Cl K de
64 bits
Message
chiffr C
Bloc 64 bits
Bloc 64 bits
Bloc 64 bits
DES
DES
DES
Bloc 64 bits
Bloc 64 bits
Bloc 64 bits
59
Bloc T
1
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
HSCTDOC.blogspot.com
58
50
42
34
26
18
10
57
49
41
33
25
17
60
52
44
36
28
20
12
59
51
43
35
27
19
11
62
54
46
38
30
22
14
61
53
45
37
29
21
13
64
56
48
40
32
24
16
63
55
47
39
31
23
15
i
reprsente de la manire suivante :
HSCTDOC.blogspot.com
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
HSCTDOC.blogspot.com
Table de
substitution
S1
b1
b2
b3
b4
b1
b2
b3
b4
b5
b6
Table de
substitution
S2
b5
b6
b7
b8
b43
b44
b45
b46
b47
b48
Table de
substitution
S8
B = S(E(R
Ri-1) XOR
R Ki) de 3
32 bits
b1
b2
b3
b4
b5
b6
b29
b30
b31
b32
M
Mcanisme:
i
Substitution pour le bloc b1b2b3b4b5b6. Les deux bits faible et fort
g b6b1 =X, les 4 bits intermdiaires le
slectionnent le numro de la ligne
numro 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 Y
Y.
Exemple : G = 101110. Les premiers et derniers bits donnent 10, c'est--dire
2 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
HSCTDOC.blogspot.com
parties
i d
droite
i et gauche
h de
d litration
li i suivante.
i
A la
l fin
fi d
de lla 16me
itration on obtient le bloc L16, R16 de 64 bits qui subira une permutation
permutation initiale et constitue le bloc chiffr T du
finale ((inverse de la p
message en clair M.).
HSCTDOC.blogspot.com
La figure
g
14 suivante p
prsente le synoptique
y p q g
gnrale p
pour chiffrer un
bloc T du message M.
Dchiffrement : Procder exactement de la mme manire en appliquant
les cls en sens inverse (de k16 k1).
Domaine dutilisation:
Sur limplmentation matrielle, le DES est actuellement capable de chiffrer et
de dchiffrer jusqu
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
g
il a t envisag
g p
pour les communications tlphoniques
p
q
et p
pour les
galement
signaux 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 cryptoanalyse
de
t
l
(li
(linaire,
i
diff
diffrentielle,
ti ll ).
) R
Rgulirement,
li
t lloccasion
i
d
des
confrences internationales sur le chiffrement (CRYPTOxx, EUROCRYPT,
AUSTCRYPT ), des experts ont cherch les faiblesses de ce code qui,
rappelons le
le, est act
actuellement
ellement le pl
plus
s rpand
rpandu ssurr le march
march. Les rs
rsultats
ltats 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. Leurs
arguments tournaient principalement autour de la possibilit dune attaque
exhaustive Le DES code des messages en clair grce une cl de taille 56
exhaustive.
bits. Donc, le nombre des cls possibles est de 256=7,2*1016 cls. En
imaginant un ordinateur capable de tester la validit dune cl par
microseconde (attaque directe), et en supposant que la bonne cl est la
dernire teste, le temps de calcul approcherai 2258 annes. Mais ces
suppositions sont toutes prises par excs.
excs Certains mathmaticiens estiment
que pour que le code soit inviolable la cl doit avoir la taille de 300 bits. Au
dbut IBM a propos une cl de 128 bits mais la NSA la rduit 64 bits. La
raison 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 un
caractre non linaire des bits entre eux. Classifis par la NSA, les
critres de ralisation des fonctions S(i) nont jamais t rendus publics.
Aussi est-il difficile de se prononcer sur le caractre fortement non
linaire de leur comportement. De plus, travers plusieurs articles crits
d
dans
l
les
parutions
ti
rgulires
li
d
des
confrences,
f
d
deux
mathmaticiens
th ti i
(Diffie & Hellman) ont mis en vidence la structure quasi-linaire de ces
fameuses
fonctions.
Cette
considration
pourrait
rduire
considrablement le temps de cryptoanalyse.
cryptoanalyse
Nombre ditration :
La scurit du DES avec 16 itrations est grande et rsiste lheure
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
mois).
3, 4
4, 6
6, itrations ont t touts
casses.
77
C
Conclusion:
l i
Ancien standard ayant tenu plus de 20 ans.
Excellentes performances en vitesse de chiffrement : 1 G bit / s en matriel
et 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 trs
suffisant pour les applications habituelles.
78
HSCTDOC.blogspot.com
Variantes du DES :
Un grand nombre dalgorithmes ont vu le jour ces dernires annes pour
renforcer la scurit et dessayer de surmonter les inconvnients du DES
(taille des cls,
cls tables-S et le nombre d
ditration)
itration).
Triple DES
DES-1
DES
Message
en clair
K1
DES-1
DES
K3
K2
DES
Message
chiffr
DES-1
79
Historique :
Le 2 janvier 1997,
1997 le NIST a lanc un processus de remplacement de DES :
Advanced Encryption Standard, (AES). Un appel doffre a t lanc le 12
Septembre 1997. Il y tait requis quAES possde une longueur de bloc gale
128 bits et qu
quilil supporte des longueurs de clef gales 128, 192 et 256 bits. De
plus, 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 systmes
yp g p q
soumis,, q
quinze remplissaient
p
tous les critres ncessaires et ont
cryptographiques
t accepts en tant que candidats AES. Le NIST a prsent les quinze candidats
lors de la First AES Candidate Conference le 20/08/1998. Une second AES
Candidate Conference sest tenue en mars 1999. En aot 1999, cinq candidats ont
t choisis par le NIST comme finalistes : MARS, RC6, Rijndael, Serpent et
Twofish. En avril 2000, une Third AES Candidate Conference a eu lieu. Le 2
octobre 2000, Rijndael a t choisis comme standard avanc de chiffrement.
80
HSCTDOC.blogspot.com
81
M
K
Etage 1
BYTE_SUB
SHIFT ROW
SHIFT_ROW
MIX_COL
k1
Etage 2
Etage 9
g 10
Etage
BYTE_SUB
SHIFT_ROW
k10
C
Figure 15 : Chiffrement selon lalgorithme AES.
83
84
HSCTDOC.blogspot.com
85
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 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 messages
ou lauthentification (signature numrique des messages).
p 1 : Gnration des cls
Etape
Pour 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 n
permettant de dfinir :
Une cl publique
Kp = ( e , n )
Une cl prive
Kpr = ( d , n )
87
Dchiffrement
M = D kpr (C) = Cd mod n
88
HSCTDOC.blogspot.com
89
a b (mod n)
a = kn + b
a, b, k et n sont des entiers. Si a et b>0 et b<n alors b est le reste de la
division de a par n appel rsidu de a modulo n et reprsente une rduction
modulaire. Lensemble des rsidus est { 0 , 1 , . , n-1 }.
Larithmtique modulaire a les mmes proprits que larithmtique
classique : commutativit, associativit et distributivit.
90
HSCTDOC.blogspot.com
3.
ax mod n
Il existe plusieurs techniques qui permettent de calculer lexponentielle
l exponentielle
modulaire sans engendrer des rsultats dmesurs. Le meilleur algorithme
est celui de Montgomery.
4.
avec a et x [ 0 , n-1]
91
92
Thorme dEuler
Si
a(n) mod n =1
( ) mod n =1
a a(n)-1
1
-1
(n)-1
a =a
mod n
-1
x = a mod n
x = a(n)-1 mod n
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
( A) 1 mod
dA = eA-11 = eA (nA)-1
d nA.
A
95
Remarque :
e-11 peut tre galement calcul par lalgorithme
l algorithme dEculide
d Eculide tendu
dA = eA-1 mod (nA)
dA [ 2 ,nA
nA 1 ]
(dA , nA) reprsente la cl prive KApr garder secrte
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
g Cp
par M = CdA mod nA.
dchiffrement du message
III. Exemples
Exemple 1
Chiffrement / dchiffrement du message M=8 reu par A
Gnration des cls publique et prive de A
choix de deux nombres premiers pA =3 et qA= 5 nA = pAqA =15
(nA) = (pA-1)(qA-1) = 8
C l ld
Calcul
de eA
A ett dA
dA.
96
HSCTDOC.blogspot.com
KApr = ( 3 , 15 )
Chiffrement de M
Un 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 2
Chiffrement / 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 = 901
2. (nA) = (pA - 1) (qA - 1) = 832
3. 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 par 099 111 108 101 11 7 114 115.
115
98
HSCTDOC.blogspot.com
Chiffrement
Bloc ci
m1
789
m2
797
m3
196
m4
233
m5
475
m6
196
m7
198
m8
378
99
Dchiffrement de C
A reoit C et le dchiffre avec sa cl prive :
Blocs ci
Chiffrement
Bloc mi
c1
099
c2
111
c3
117
c4
108
c5
101
c6
117
c7
114
c8
115
HSCTDOC.blogspot.com
Exemple
m7 = 114 et m8 = 115 valeurs peu diffrents
c7 = 198 et c8 =378 valeurs trs diffrents
Authentification des messages
Lauthentification dun message peut tre considr comme une signature
numrique. En effet, A signe son message M en utilisant sa cl prive : KApr
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
102
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 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.
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,
g
le chiffrement de RSA est bien plus
rapide 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
communications
i i
pour
changer
h
d
des cls
l d
de session
i (f
(faible
ibl quantit
i
dinformation communiquer) des algorithmes symtriques qui seront
utiliss pour effectuer des communications en diffr ou en temps rel.
103
HSCTDOC.blogspot.com
105
La signature dun
d un message M ncessite le choix dun
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 p
partie de la signature
g
est obtenue en rsolvant lquation
q
cidessous 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 :
yaAA 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
KAp = (3,
(3 2
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 = yaAA abAA mod nA = gMA mod nA
5 = (8*6 + 9*bA) mod 10
Lalgorithme 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
36 .63 mod 11 = 25 mod 11 = 10
Il est sr que cest A qui a sign le message M.
107
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 nA
C2 = 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 M
M.
Le correspondant A reoit C et le dchiffre avec sa cl prive xA en utlisant
llexpression
expression suivante :
M = C2 /CxA1 mod nA
En effet,
C2/ CxA1 mod nA = ykBA mod nA / [gxAkBA mod nA] mod nA
= (gxAkBA mod nA) M mod nA / [gxAkBA mod nA] mod nA
= M.
HSCTDOC.blogspot.com
108
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 ) =1
C1 = 23 mod 11 = 8
C2 = 33. 5 mod 11 =25
B envoie A C1C2, A utilise sa cl prive xA = 8,
M = 25 / 88 mod
d 11 =25
25 / 5 =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)
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)
bits).
109
110
Chapitre 4 : Authentification,
Authentification hachage
hachage, signature et
gestion de cls
111
1 Signature numrique :
1.
La signature numrique doit avoir les mmes caractristiques quune
signature manuscrite savoir :
Elle ne peut tre limite pour prouver que la signataire a dlabrement
sign son document.
g
Elle doit authentifier la signature
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 (<256 bits) pour les messages de grandes tailles
Utilisation
Utili ti d
de ffonction
ti d
de contraction
t ti ou d
de condensation
d
ti appele
l
fonction de hachage sens unique. Gnration de rsum appel
une empreinte digitale ou un condens ou un digit du document initial.
112
HSCTDOC.blogspot.com
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))
M0
Mi
M1
.
H(Mi-1)
H = fonction de
hachage sens
unique
H(Mi)
MN-1
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
la fin du hachage H (MN-1) reprsente lempreinte digitale du message.
HSCTDOC.blogspot.com
114
115
116
HSCTDOC.blogspot.com
117
Exemples dutilisation
Signature en utilisant :
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 2
RIPEMD 160 : Ripe Message Digest
Et un algorithme asymtrique :
RSA
ELGAMAL
- ou lutilisation du :
g
numrique
q ((DSS))
Standard de signature
DSA Digital Signature
118
HSCTDOC.blogspot.com
b0b1.bi..bn1
Complment de M
1000000000000000000000
taille de M
b0b1..b63
119
Le complment
p
de M reprsente
p
un remplissage
p
g q
qui commence avec 1 seul
et 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
HSCTDOC.blogspot.com
Ronde 1
A = B + [(A + F(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B + F(C,D,A) + M[j] + T[i])<<<S[i]]
C = D + [(C + F(D,A,B) + M[j] + T[i])<<<S[i]]
D = A + [(D + F(A,B,C) + M[j] + T[i])<<<S[i]]
Ronde 2
A = B + [(A + G(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B
( + G(C
G(C,D,A)) + M[j] + T[i])<<<S[i]]
)
S
C = D + [(C + G(D,A,B) + M[j] + T[i])<<<S[i]]
D = A + [(D + G(A,B,C) + M[j] + T[i])<<<S[i]]
R d 3
Ronde
A = B + [(A + H(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B + H(C,D,A) + M[j] + T[i])<<<S[i]]
C = D + [(C + H(D
H(D,A,B)
A B) + M[j] + T[i])<<<S[i]]
D = A + [(D + H(A,B,C) + M[j] + T[i])<<<S[i]]
122
HSCTDOC.blogspot.com
Ronde
R
d 4
A = B + [(A + I(B,C,D) + M[j] + T[i])<<<S[i]]
B = C + [(B + I(C,D,A) + M[j] + T[i])<<<S[i]]
C = D + [(C + I(D
I(D,A,B)
A B) + M[j] + T[i])<<<S[i]]
D = A + [(D + I(A,B,C) + M[j] + T[i])<<<S[i]]
A la fin de la 4eme ronde on fait les mise jour des variables :
A = A + AA
B = B + BB
C = C + CC
D = D + DD
Ces 4 variables seront utilises comme entre pour le traitement du bloc
B1.
Les 4 rondes sont effectues autant de fois quil y a de blocs de 512 bits
dans le message complt M.
tape 4 : Empreinte du message
g M
Lempreinte du message sera code sur 128 bits en regroupant les 4
variables A, B, C et D de 32 bits.
123
C
Concurrents
t d
de MD5
SHA 1 : empreinte sur 160 bits
SHA 2 : 3 choix 256
256, 384 ou 512 bits
RIPEMD 160 : empreinte sur 160 bits
Le standard de la signature numrique DSS
Lalgorithme
L
algorithme de signature cl publique (DSA : Digital Signature Algorithme)
a t propose par le NIST en 1991, comme standard de signature
numrique (DSS : Digital Signature Standard).
Le DSA est une variable de lalgorithme
l algorithme de signature dElGamal.
d ElGamal.
- Gnration dune paire de cls dun correspondant :
premier entre 512 et 1024 bits
n nombre p
q nombre premier avec (n-1) de 160 bits
calculer g=h(n-1)/q mod n o h<n-1 tel que g>1
y=g
gx mod n avec x<q
calculer y
HSCTDOC.blogspot.com
Ch i alatoire
Choix
l t i d
de K<
K<q
Calculer :
R = (gk mod n) mod q
1ere partie de la signature
-1
S = (K (H(M)+x*R)) mod q
2eme partie de la signature
(R,S) reprsente la signature du message M, en utilisant la fonction de
hachage SHA1
SHA1.
Un correspondant A ayant la cl publique (qa,ya,ga,na) hache son message
et le signe en utilisant sa cl prive xa et Ka, il envoie B lempreinte
l empreinte Ha(M),
le message M en clair ou chiffr et la signature (Ra, Sa).
Vrification de la signature
g
Un correspondant B reoit lempreinte Ha(M) et (Ra, Sa). Il utilisera la cl
publique de A pour calculer :
W = S-1A mod qA
U1 = (HA(M)*W mod qA
U2 = RA*W mod qA
V = ((gU1A*yU2A) mod nA ) mod qA
125
126
Vrification de la signature
Le 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-11 mod 117389 = 1799
U1=(5246*1799) mod 117389 = 12716
U2 = 13049* 1799 mod 117389 = 8999
V=((10083255
V
((1008325512716A*y
y8999A) mod nA) mod 117389 =34
34
V=RA=34 alors la signature est valide
A a bien sign le message M en utilisant HA(M) avec sa cl prive xA =
12496 et le nombre KA= 9557.
Gestion des cls et certificat numrique
problme majeur
j
de la cryptographie
yp g p
asymtrique
y
q est la p
publication des
Le p
cls 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).
Les cls publiques sont valides.
127
HSCTDOC.blogspot.com
signature.
i
t
129
HSCTDOC.blogspot.com