CRYPTANALYSE DE CERTAINS RSA PAR LES FRACTIONS CONTINUES ET L’ALGORITHME LLL Abderrahmane Nitaj 13 Janvier 2005 A. Nitaj, Cryptanalyse de RSA – p.1/21 Contenu Le cryptosystème RSA Les fractions continues Le théorème de Legendre Les réseaux L’algorithme LLL Le théorème de Coppersmith Le théorème de May L’attaque de Wiener L’attaque de de Weger Les modules de sécurité Généralisation de l’attaque de de Weger L’attaque de Blömer-May Généralisation de l’attaque de Blömer-May A. Nitaj, Cryptanalyse de RSA – p.2/21 Le cryptosystème RSA Brigitte veut envoyer un message secret à Ali. . sont publics. . et Brigitte envoie le message : prend Calcule , et sont privés, Ali construit son initialisation : Choisit et premiers. Calcule . Choisit , . Calcule . envoie le message . est secret, est public. . ! Equation : Calcule Ali procède au décodage : A. Nitaj, Cryptanalyse de RSA – p.3/21 Les fractions continues Données : . # " " . , * ) ( ' & " % $ " On cherche : . . . Divisions Euclidiennes successives. 0 + - Algorithme des fractions continues. $, 3 2 $ $, /.$ 1 . 4 65 0 . ; 9: $ 78 + .. 2 2& ) Calcule $, $- $< 0 + > 9 7 =: % $, $- $< A. Nitaj, Cryptanalyse de RSA – p.4/21 Le théorème de Legendre?Lagrange? Données : . # ? ' & , alors est une réduite de ) A ' B # ? ? @ ) ?@? ' & Théorème. Si - * ' & Problème : est-il une réduite de . ) ) ( $ ' & , " % " " . , . A. Nitaj, Cryptanalyse de RSA – p.5/21 Les réseaux EF Données : , linéairement indépendants. . C- LDC K J HG K A C K J C J I C- A /DC , PP (après une orthogonalisation de Gram-Schmidt). I det U tel que C P PS I C Théorème de Minkowski: R PP T 2 < C Q PP - ON< MD det I I Caractéristiques dim . . Problème : Trouver un vecteur court. A. Nitaj, Cryptanalyse de RSA – p.6/21 L’algorithme LLL C P P * PP C I Problème : Déterminer un vecteur . est assez petite. C LDC C- K J , linéairement indépendants. . K A C K J J C C I A /DC EF Données : I W det U C Produit un vecteur , En temps polynomial en . . C P PS PP UV 2 2 L’algorithme LLL (Lenstra-Lenstra-Lovasz) : A. Nitaj, Cryptanalyse de RSA – p.7/21 Le théorème de Coppersmith . . et * Problème : Déterminer X PS X , tel que - P ZY Données : [ Le théorème de Coppersmith : Produit et . En temps polynomial en . A. Nitaj, Cryptanalyse de RSA – p.8/21 Le théorème de May ZY - . ] et * Problème : Déterminer , , tel que PS ]P /\X . /\X Données : ] . [ En temps polynomial en ] Le théorème de May : Utiliser Coppersmith pour produire . . A. Nitaj, Cryptanalyse de RSA – p.9/21 L’attaque de Wiener Les fractions continues. Données :. # . . . * En utilisant l’équation , , Trouver , , But : est le dénominateur d’une réduite de ) , alors W # ^ Si - 2 L’attaque de Wiener . b )a c ? @ _ ? ? est petit. ( . Les réduites de ) 1 ?_@ ? ? ` L’idée . A. Nitaj, Cryptanalyse de RSA – p.10/21 La généralisation de de Weger Les fractions continues. # . ( Données : . , , . . * En utilisant l’équation Trouver , , But : j ) est le dénominateur d’une réduite de A , alors ) h 3- ie # h gfe Si ) W d L’attaque de de Weger . est petit. 1 ( . ) A h 3- ) Les réduites de j 1 T b )a c ? @ k ? ? ?k@ ? ? ` L’idée : . A. Nitaj, Cryptanalyse de RSA – p.11/21 et Les modules de sécurité ont le même nombre de bits. * l # # Données : est un module de sécurité. T T # # T # . f A # T A j Conséquences : , # o m# . T q p3 . * qp 3 -j 1 A i , nm1 , * l (o l’attaque de de Weger avec . * l une attaque avec . A j ( 1 T ^ , ( m* l ( A ( , T T T A j ( 1 T , m* ( ( l T Deux exemples. A. Nitaj, Cryptanalyse de RSA – p.12/21 Généralisation de l’attaque de de Weger s ' & i ( 1 # , . # , , module de sécurité # f r Données : , , . . h u p3 -j . , alors est le dénominateur d’une réduite de pgw b c W # Si 3 B v 2 m T A p3 1 m t ? _ _ ? ? ' & ?__ ?f ? i m Théorème : , En utilisant l’équation Trouver , , But : . pgw b c ( 1 Les réduites de m t b )a c ? @ k ? ? est petit. ?k@ ? ? ` L’idée . . A. Nitaj, Cryptanalyse de RSA – p.13/21 Généralisation de l’attaque de de Weger: L’algorithme # . . ' & , i ( 1 f r s # , , module de sécurité # Données : x $ # S o S% . x . p3 . . # avec } de } ~ , calculer . { et calculer et . h . J et Stoper si J , prendre o Si ~ - | | Pour chaque réduite { | Calculer les réduites pgw b c { p3 -j 1 y z m t A ' & $S S% S o m S o x Algorithme 1: A. Nitaj, Cryptanalyse de RSA – p.14/21 ( Z Z A , , ( ^ A A - ^ , - Z Z ( %P A o o A Z ^ Z ^ ^ ^ - , , - A, - | A A , , Z ^ A^ , Z { o o $ m % ^ A A - o o o o o o o o o . o Z , Pourquoi? Avec l’algorithme 1: Une solution car Y . # AZ , ( Z Z , h , $ , , , - - P ( , , A o La 49ème réduite Z 1 ( f x , ( 3, i , , Pas de solution avec l’attaque de Wiener : Pas de solution avec l’attaque de de Weger : . Généralisation de l’attaque de de Weger: un exemple Données : . Résultats : . , . . . . A. Nitaj, Cryptanalyse de RSA – p.15/21 L’attaque de Blömer-May Les fractions continues+LLL. . peut être factorisé en temps # . # , , module de sécurité # Données : But : . } Trouver , . En utilisant l’équation ^ h PS et W # o S} Si polynomial. , alors } W d P - 2 Théorème : b )a c ? @ k ? ? { est petit. et . } * ) * ( les réduites de * approximation de * { * , 1 ( 1 | 1 | ? @ k ? ? L’idée Coppersmith-LLL . A. Nitaj, Cryptanalyse de RSA – p.16/21 Généralisation de l’attaque de Blömer-May (1/2) # . # , , module de sécurité # Données : . But : t ( t } Trouver , . En utilisant l’équation . Conditions : , de on peut extraire un multiple de t ou de , ? w ?_? _ { est petit. ] . } ou * et ) les fractions continues de ] * { ( * t approximation d’un multiple Coppersmith-LLL-May ou . * | ( * t | ? _ _ ? ? L’idée A. Nitaj, Cryptanalyse de RSA – p.17/21 Généralisation de l’attaque de Blömer-May (2/2) # . # , # , module de sécurité Données : . But : . t } Trouver , . En utilisant l’équation )e w T h e A j , alors } W d h PS et # o Si S} ) P - Théorème : peut être factorisé en temps polynomial. A. Nitaj, Cryptanalyse de RSA – p.18/21 Généralisation de l’attaque de Blömer-May : # # . , # , module de sécurité Données : . But : , inconnu. . t En utilisant l’équation } ] J , ] t t ] Trouver , . | # { , calculer . . ] par l’algorithme de Coppersmith. . ] Calculer Stoper si | Pour chaque réduite } avec /\X ) de { Calculer les réduites | { Algorithme 2: A. Nitaj, Cryptanalyse de RSA – p.19/21 Généralisation de l’attaque Blömer-May : un exemple A , o { | - ^ \X - , Z o o . . t } ] , 1 1 ZY ? ? _ p p } Pourquoi? Avec l’algorithme 2: Une solution car et vérifient le théorème. Pas de solution avec l’attaque de Blömer-May car: Pour toutes les réduites , - t , ?_ ? . ^ Z { | o o , Coppersmith-LLL-May avec ] o o o o Résultats : La 12ème réduite . o o o . Données : . A. Nitaj, Cryptanalyse de RSA – p.20/21 Généralisation de l’attaque de Blömer-May :Autres # . . # , , module de sécurité # Données : But : ( t t } Trouver , . En utilisant l’équation . Conditions : , de on peut extraire un multiple de t ou de , ] J . J ). . J , ] ] ] ] ] t (généralise ] ] , t J ] , t . , t Exemples : A. Nitaj, Cryptanalyse de RSA – p.21/21