Attaque du protocoles RSA Yoann Moulin ESISAR IR - P2004 Les Clefs Fragiles Attaque du protocoles RSA Yoann Moulin ESISAR IR - P2004
Plan Historique Rappel sur le protocole RSA Attaque de Wiener Attaque de Weger Attaque de Hastad Autres Attaques Force Brute
RSA : Historique 1976 : Diffie et Hellman Théorie de la cryptographie asymétrique 1978 : Adelman, Rivet, Shamir : RSA 1er protocole de cryptographie asymétrique
RSA : Rappel (1) Soit p et q, 2 entiers tel que : n = pq (n) = (p-1)(q-1) e : l'exposant publique premier avec (n) la paire (n,e) représente la clé publique d : la clé privée tel que d = e-1 modulo ((n))
RSA : Rappel (2) soit m un message à chiffrer Chiffrement du message : c = me modulo(n) Déchiffrement du message m = cd modulo(n)
Plan Historique Rappel sur le protocole RSA Attaque de Wiener Attaque de Weger Attaque de Hastad Autres Attaques Force Brute
Attaque de Weiner (1) Principe Petit exposant de déchiffrement d supposé petit devant (n) p et q supposés proche
Attaque de Weiner (2) attaque basée sur l'équation définissant d : e*d = 1 modulo((n))/2 la division par 2 vient de : PGCD(p-1,q-1) = 2
Attaque de Weiner (3) Donc existe k > 0 tel que e*d = 1 + k*(n)/2 l'équation peut s'écrire : 2e k 1 - = (n) d d*(n)
Attaque de Weiner (4) Proposition (n) = n + 1 – p - q Approximation de (n) (n) ≃ n
Attaque de Weiner (5) si on trouve d & k premier entre eux alors 2e k 1 - ≤ (n) d 2d*d on peut simplifier la fraction de la sorte 1 1 ≤ (n) 2d
Attaque de Weiner (6) Théorème de Weiner (1990) Soient n=pq p premier avec q vérifiant q < p < 2q Si d < 1/3*n1/4 Alors connaissant n et e on peut calculer d
Plan Historique Rappel sur le protocole RSA Attaque de Wiener Attaque de Weger Attaque de Hastad Autres Attaques Force Brute
Attaque de Weger (1) Attaque directe par la fonction Amélioration de l'approximation de (n) Amélioration de l'attaque Weiner
Attaque de Weger (2) Approximation (n) ≃ n-2n1/2+1 Donc dans l'e problème de Weiner : 2e / n est remplacé par 2e / (n - 2n1/2 + 1)
Attaque de Weger (3) Attaque directe : si p et q choisie proche On peux poser le problème non linéaire suivant n = PQ (P-1)(Q-1) = n - 2n1/2 + 1
Attaque de Weger (3) Théorème (2003) Soient n = pq p et q premiers vérifiant q < p < 2q Si |p-q|<2n1/4 alors, connaissant n, on peut calculer p et q
Plan Historique Rappel sur le protocole RSA Attaque de Wiener Attaque de Weger Attaque de Hastad Autres Attaques Force Brute
Attaque de Hastad (1) 1er faiblesse de RSA trouvée en 1985 basé sur l'utilisation d'un petit exposant de chiffrement appelé aussi « attaque par diffusion » Pourquoi un petit exposant e ? Est-ce que c'est risqué ?
Attaque de Hastad (2) Alice envoie 1 message m à trois personnes : Bob1 (n1,e1) , Bob2 (n2,e2) , Bob3 (n3,e3) on suppose n1, n2, n3 deux à deux premiers on suppose également e1 = e2 = e3 = e ci = me modulo (ni)
Théorème des restes chinois Soient m1, m2, ... mn, n entiers (>1) premiers entre eux deux à deux et n entiers a1, a2, ... an Alors le système suivant : x= a1 modulo (m1) x= a2 modulo (m2) ... x= an modulo (mn) admet une solution
Attaque de Hastad (3) un attaquant arrive à récupérer c1, c2, c3 On applique le théorème des restes chinois C = c1 c2 c3 = m3 modulo ( n1 n2 n3) si m3 < (n1 n2 n3) alors on peut facilement trouver m Il suffit de calculer racine cubique de 3
Plan Historique Rappel sur le protocole RSA Attaque de Wiener Attaque de Weger Attaque de Hastad Autres Attaques Force Brute
Autre Attaque Attaque de Simmons Attaque par modules partagé Attaque de Davida et Dennings Création de Fausse signature
Force Brute RSA-576 : Clé de 576 bits (174 chiffres) cassé Jens Franke et Thorsten Kleinjung, de l'Institut de mathematiques de Bonn Utilisation de cluster de PC objectif : RSA-640 avant fin 2004
Conclusion Pas d'attaque directe sur le protocole RSA Origine des failles dans le choix des clefs 1 même message avec la même clef donne le même message crypté Besoin de connaître des messages cryptés Mise en pratique ?
Références « Attaque de protocoles RSA » Robert ERRA Misc N°10 Nov/Deb 2003 « Twenty years of attacks on the RSA cryptosyste » Dan Boneh http://crypto.stanford.edu/~dabo/papers/RSA-survey.pdf « Cryptanalysis of Short RSA Secret Exponents » Michael J. Weiner 1989 http://www3.sympatico.ca/wienerfamily/Michael/MichaelPapers/ShortSecretExponents.pdf « Simple backdoors for RSA key generation » Claude Crepeau & Alain Slakmon 2002 http://crypto.cs.mcgill.ca/~crepeau/PDF/CS02.pdf « Cryptanalysis of RSA with private key d less than N° 292 » D. Boneh & G. Durfee http://crypto.stanford.edu/~dabo/papers/lowRSAexp.ps « 1, 2, 3, 4, 5, 6, ... » zataz.com http://www.zataz.com/zatazv7/news_4883.html
Questions ?