Damier Alexandre Saccomani Thomas M2 MAIMIR CCS Cryptanalyse de MD2 Damier Alexandre Saccomani Thomas M2 MAIMIR CCS
1. Introduction Fonction de hachage Fonction de Hachage H : {0,1}* {0,1}n Binaire de taille arbitraire (Le message) Binaire de taille fixe (Le haché)
1. Introduction Fonction de hachage Résistance aux collisions x x’ et H(x) H(x’) Résistance aux secondes pré images x et y H(x) donné, trouver x’ x tel que H(x’) y Résistance aux pré images y H(x) donné, trouver x’ tel que H(x’) y
1. Introduction Fonction de hachage Attaque par le paradoxe des anniversaires Complexité de 2n/2 pour trouver une collision Recherche brute pour les autres Complexité de 2n Fonction de hachage sûr si il n’existe pas de meilleur attaque
1. Introduction Merkle – 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 MD2 Historique 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 MD2 Padding 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 MD2 Fonction 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 MD2 Fonction de Compression - Algorithme A0 = hin , B0 = m et C0 = hin m Xi = Ai || Bi || Ci L 0 Pour i de 1 à 18 : Pour j de 0 à 47 : Xij S(L) Xji-1 L Xij L L + i - 1 Renvoyer A18
A B C 19 lignes 3 16 = 48 octets
2. Description de MD2 Fonction de Compression - Schéma … m15 X10 X11 X12 X20 X21 X22
A B C 19 lignes hout 3 16 = 48 octets
2. Description de MD2 Fonction de Compression - Schéma Xji-1 Xj-1i Xji Xij = S(Xij-1) Xji-1 Xij-1 = S -1(Xij Xji-1) Xi-1j = Xij S (Xij-1 )
2. Description de MD2 Checksum Empreinte ajoutée au message Pour vérifier l’intégrité du message Taille de 16 octets pour MD2
3. Attaques sur collisions Rogier & Chavaud Attaque sur la fonction de compression Pas généralisable à MD2 entier hin doit « être à 0 » B0 = C0 Idée : Ai15 = Bi15 = Ci15 I i 14
A B C 0 #
A016 A017 et A018 sont en collisions 3. Attaques sur collisions Rogier & Chavaud – Explications supplémentaires Les valeurs de B014 et B114 déterminent les 216 possibilités Deux messages sont en collisions si : A016 A017 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 A017 et A018
4. Attaque Par Préimage Principe & 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éimage Complexité Attaque par force brute : 2128 Attaque présentée: 272 pour k = 8