damier alexandre saccomani thomas m2 maimir ccs. fonction de hachage h : {0,1} * {0,1} n binaire de...
TRANSCRIPT
CRYPTANALYSE DE MD2
Damier Alexandre
Saccomani Thomas
M2 MAIMIR CCS
1. INTRODUCTIONFONCTION DE HACHAGE
• Fonction de Hachage H : {0,1}* {0,1}n
Binaire de taille arbitraire
(Le message)
Binaire de taille fixe
(Le haché)
1. INTRODUCTIONFONCTION DE HACHAGE
• Résistance aux collisionsx x’ et H(x) H(x’)
• Résistance aux secondes pré imagesx et y H(x) donné, trouver x’ x tel que H(x’) y
• Résistance aux pré imagesy H(x) donné, trouver x’ tel que H(x’) y
1. INTRODUCTIONFONCTION DE HACHAGE
• Attaque par le paradoxe des anniversairesComplexité de 2n/2 pour trouver une collision
• Recherche brute pour les autresComplexité de 2n
Fonction de hachage sûr
si il n’existe pas de meilleur attaque
1. INTRODUCTIONMERKLE – DAMGARD - PRINCIPE
• Méthode typique des fonctions de hachage
• Fonction de compression f : {0,1}n {0,1}b {0,1}n et h0 vecteur initial de n bits
• Message m Blocs de b bits m1, m2, … mt
• hi f(hi-1,mi) et la sortie est H(m) ht
1. INTRODUCTION MERKLE – DAMGARD - SCHÉMA
1. INTRODUCTION MERKLE – DAMGARD
• MD4, MD5 et SHA-1 en sont des exemples
MD2 ne suit pas totalement ce principe
2. DESCRIPTION DE MD2HISTORIQUE
• Développé en 1989 par Ronald Rivest
• Algorithme de signature
• Plutôt destiné aux processeurs de type 8 bits
• Performances moindre
• Pas totalement cassé
2. DESCRIPTION DE MD2PADDING
oi représentant 1 octet
Multiple de 16
Pi de valeur k 16
o1 o2 o3 o4 … or-3 or-2 or-1 or
o1 o2 o3 … oi … or p1 … pk
2. DESCRIPTION DE MD2FONCTION DE COMPRESSION
f : {0,1}128 {0,1}128 {0,1}128
mi hin hout
Calcul de la fonction de compression par algorithme
2. DESCRIPTION DE MD2FONCTION DE COMPRESSION - ALGORITHME
A0 = hin , B0 = m et C0 = hin m
Xi = Ai || Bi || Ci
1. L 02. Pour i de 1 à 18 :
Pour j de 0 à 47 :Xi
j S(L) Xji-1
L Xij
L L + i - 1 Renvoyer A18
A B C
19 lig
nes
3 16 = 48 octets
m0 m1 m2… … m15
X10 X1
1 X12
X20 X2
1 X22
A
2. DESCRIPTION DE MD2FONCTION DE COMPRESSION - SCHÉMA
A B C
19 lig
nes
3 16 = 48 octets
hout
Xji-1
Xj-1i Xj
i
2. DESCRIPTION DE MD2FONCTION DE COMPRESSION - SCHÉMA
Xij = S(Xi
j-1) Xji-1
Xij-1 = S -1(Xi
j Xji-1)
Xi-1j = Xi
j S (Xij-1 )
• Empreinte ajoutée au message
• Pour vérifier l’intégrité du message
• Taille de 16 octets pour MD2
2. DESCRIPTION DE MD2CHECKSUM
• Attaque sur la fonction de compression
• Pas généralisable à MD2 entier
• hin doit « être à 0 » B0 = C0
Idée : Ai15 = Bi
15 = Ci15
I i 14
3. ATTAQUES SUR COLLISIONSROGIER & CHAVAUD
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
A B C
3. ATTAQUES SUR COLLISIONSROGIER & CHAVAUD – EXPLICATIONS SUPPLÉMENTAIRES
• Les valeurs de B014 et B1
14 déterminent les 216 possibilités
• Deux messages sont en collisions si :
A016 A0
17 et A018 sont en collisions
• On peut former 232/2 paires avec les possibilités de M
• Obtention de 27 collisions sur les 24 bits A016 A0
17 et A0
18
4. ATTAQUE PAR PRÉIMAGEPRINCIPE & RAPPEL
f : {0,1}128 {0,1}128 {0,1}128
mi hin hout
Calcul de la fonction de compression par algorithme
Explications sur schémas
A
A
A B C
A B C
4. ATTAQUE PAR PRÉIMAGECOMPLEXITÉ
Attaque par force brute : 2128
Attaque présentée: 272 pour k = 8