Alice et Bob doivent échanger la clef K

Transcription

Alice et Bob doivent échanger la clef K
Rappel
Alice
Bob
m
E
EK (m)
EK (m)
D
m
K
Eve
EK (m)
K0
I K = K 0, on parle de chiffrement symétrique :
— Alice et Bob doivent échanger la clef K ;
— Autant de clefs que de correspondants pour Bob.
1
Chiffrement symétrique
I Chiffrement par bloc
I Chiffrement par flot
2
Chiffrement par bloc
I Dans un système par bloc, chaque texte clair est
découpé en blocs de même longueur et chiffré bloc
par bloc.
I La longueur ` des clés doit être suffisante pour que la
recherche exhaustive consistant à déchiffrer le chiffré
avec toutes les clés possibles jusqu’à l’obtention du
clair, soit irréaliste (` ≥??).
3
4 × 1026 est ce un grand nombre ?
Essayons de vider toutes les mers du monde avec
un dé à coudre de 1.5 cm de diamètre et 1.5cm de
haut !
4
4 × 1026 est ce un grand nombre ?
I Volume du dé à coudre :
1.52
3
Vdé = π ×
× 1.5 ≈ 2.6507 cm .
4
I Volume des mers :
Vmer = 360 × 106 × 3.8 = 13.68 × 1023 cm3.
I La réponse est
Vmer
Vdé
≈ 5 × 1024.
5
Et pour un ordinateur ?
I Tester une clef s’effectue en 1 nanoseconde !
I Il faut à l’ordinateur :
1017
1014
1012
12683916793
secondes
heures
jours
années
I C’est quand même beaucoup !
6
Challenge DES 7 × 1016
I Juin 1997 : 96 jours (Deschall project, 78 000 PC)
I Fév. 98 : 39 jours (distributed.net, 8 millions de PC)
I Juil. 98 : 56 h (EFF DES cracker, $250 000)
I Janv. 99 : 22h15 (EFF DES cracker)
I Mars 07 : 6 jours (Copacobana, 9 000 Euros)
7
Evolution des machines
I Loi de Moore
(Gordon Moore 1975)
“La puissance des machines double tous les 18
mois.”
I Soit W0 le travail fait au cours du premier mois.
I Soit W17 le travail fait au cours du 18ème mois.
On a : W17 = 2W0.
I Plus généralement. On a :
Wn = 2
n+1
18
W0 .
8
Evolution des machines
I Le travail effectué après n + 1 mois est donné par :
W0 + W 1 + · · · + Wn =
n
X
Wi
i=0
= W0 ×
26
1−2
n
18
1−2
1
18
1
18
4 × 10 × (1 − 2 )
2 = 1−
W0
n ≈ 584mois
n
18
9
Chiffrement par bloc
m
K1
K2
K3
Kr
F
F
F
F
c
r tours
10
Electronic CodeBook (ECB)
m1
m2
mi
Ek
Ek
Ek
c1
c2
ci
Chiffrement
11
Electronic CodeBook (ECB)
c1
c2
ci
Dk
Dk
Dk
m1
m2
mi
Déchiffrement
12
Resultat
Source : Wikipedia
I Le mode ECB ne permet pas de cacher la structure
des données qui sont chiffrées !
13
Chiffrement rendu aléatoire
I On introduit un nonce dans le chiffrement. Comment implémenter un nonce ?
• avec un compteur ;
• avec un timestamp ;
• avec un nombre aléatoire ;
• combinaison des 3 précédents.
I Comment introduire l’aléa ?
14
Cipher-Block Chaining (CBC)
m1
m2
mi
Ek
Ek
Ek
c1
c2
ci
VI
Chiffrement
15
Cipher-Block Chaining (CBC)
c1
c2
ci
Dk
Dk
Dk
m1
m2
mi
VI
Déchiffrement
16
Cipher feedback (CFB)
VI
Ek
m1
Ek
m2
c1
Ek
mi
c2
ci
Chiffrement
17
Cipher feedback (CFB)
VI
Ek
c1
Ek
c2
m1
Ek
ci
m2
mi
Déchiffrement
18
CounTeR (CTR)
VI
f
Ek
c1
Ek
mi
m2
m1
Ek
c2
ci
Chiffrement
19
CounTeR (CTR)
VI
f
Ek
m1
Ek
ci
c2
c1
Ek
m2
mi
Déchiffrement
20
Chiffrement par flot
Chiffrement synchronisé
IV
Init
K
sn
kt
f
IV
K
Φ
ct
Chiffrement
sn
Φ
s1
mt
K
Init
f
kt
s1
Canal
ct
mt
Dechiffrement
21