INF582 : Cryptologie Attaque de clés RSA par la méthode de Wiener



Documents pareils
Limites des Suites numériques

[ édité le 10 juillet 2014 Enoncés 1. Exercice 6 [ ] [correction] Si n est un entier 2, le rationnel H n =

Chapitre 3 : Fonctions d une variable réelle (1)

x +1 + ln. Donner la valeur exacte affichée par cet algorithme lorsque l utilisateur entre la valeur n =3.

1 Mesure et intégrale

Les Nombres Parfaits.

. (b) Si (u n ) est une suite géométrique de raison q, q 1, on obtient : N N, S N = 1 qn+1. n+1 1 S N = 1 1

Comportement d'une suite

Module 3 : Inversion de matrices

Etude de la fonction ζ de Riemann

Chap. 6 : Les principaux crédits de trésorerie et leur comptabilisation

Intégration et probabilités ENS Paris, TD (20)13 Lois des grands nombres, théorème central limite. Corrigé :

14 Chapitre 14. Théorème du point fixe

Chap. 6 : Les principaux crédits de trésorerie et leur comptabilisation

Deuxième partie : LES CONTRATS D ASSURANCE VIE CLASSIQUES

Convergences 2/2 - le théorème du point fixe - Page 1 sur 9

LES ÉCLIPSES. Éclipser signifie «cacher». Vus depuis la Terre, deux corps célestes peuvent être éclipsés : la Lune et le Soleil.

CHAPITRE 2 SÉRIES ENTIÈRES

20. Algorithmique & Mathématiques

UNIVERSITE MONTESQUIEU BORDEAUX IV. Année universitaire Semestre 2. Prévisions Financières. Travaux Dirigés - Séances n 4

Suites et séries de fonctions

Séries réelles ou complexes

Exo7. Déterminants. = 4(b + c)(c + a)(a + b). c + a c + b 2c Correction. b + a 2b b + c. Exercice 2 ** X a b c a X c b b c X a c b a X

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

STATISTIQUE : TESTS D HYPOTHESES

SÉRIES STATISTIQUES À DEUX VARIABLES

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Chap. 5 : Les intérêts (Les calculs financiers)

FEUILLE D EXERCICES 17 - PROBABILITÉS SUR UN UNIVERS FINI

II LES PROPRIETES DES ESTIMATEURS MCO 1. Rappel : M1 LA REGRESSION : HYPOTHESES ET TESTS Avril 2009

EXERCICES : DÉNOMBREMENT

Séquence 5. La fonction logarithme népérien. Sommaire

Exercice I ( non spé ) 1/ u 1 = u / Soit P la propriété : u n + 4. > 0 pour n 1. P est vraie au rang 1 car u 1

Processus et martingales en temps continu

capital en fin d'année 1 C 0 + T C 0 = C 0 (1 + T) = C 0 r en posant r = 1 + T 2 C 0 r + C 0 r T = C 0 r (1 + T) = C 0 r 2 3 C 0 r 3...

Polynésie Septembre Exercice On peut traiter la question 4 sans avoir traité les questions précédentes.

Dénombrement. Introduction. 1 Cardinaux d'ensembles nis. ECE3 Lycée Carnot. 12 novembre Quelques dénitions

c. Calcul pour une évolution d une proportion entre deux années non consécutives

Dénombrement. Chapitre Enoncés des exercices

Chapitre 3 : Transistor bipolaire à jonction

Le marché du café peut être segmenté en fonction de deux modes de production principaux : la torréfaction et la fabrication de café soluble.

Compte Sélect Banque Manuvie Guide du débutant

Groupe orthogonal d'un espace vectoriel euclidien de dimension 2, de dimension 3

Consolidation. C r é e r un nouveau classeur. Créer un groupe de travail. Saisir des données dans un groupe

Cours de Statistiques inférentielles

Baccalauréat S Asie 19 juin 2014 Corrigé

PROBLEMES DIOPTIMISATION EN NOMBRES ENTIERS J. L. NICOLAS

Un nouvel opérateur de fusion adaptatif. A new adaptive operator of fusion. 1. introduction

Solutions particulières d une équation différentielle...

4 Approximation des fonctions

STATISTIQUE AVANCÉE : MÉTHODES

Processus géométrique généralisé et applications en fiabilité

Cours 5 : ESTIMATION PONCTUELLE

2 ième partie : MATHÉMATIQUES FINANCIÈRES

Etude Spéciale SCORING : UN GRAND PAS EN AVANT POUR LE MICROCRÉDIT?

La France, à l écoute des entreprises innovantes, propose le meilleur crédit d impôt recherche d Europe

UNIVERSITÉ DE SFAX École Supérieure de Commerce

Probabilités et statistique pour le CAPES

Gérer les applications

MUTUELLE D&O MUTUELLE D&O. Copilote de votre santé. AGECFA-Voyageurs CARCEPT CARCEPT-Prévoyance CRC CRIS CRPB-AFB

55 - EXEMPLES D UTILISATION DU TABLEUR.

Sommaire Chapitre 1 - L interface de Windows 7 9

Statistique descriptive bidimensionnelle

TRANSFERT DE CHARGE DANS UN RÉSEAU DE PROCESSEURS TOTALEMENT CONNECTÉS (*) par Maryse BÉGUIN ( 1 )

Mécanismes de protection contre les vers

Initiation à l analyse factorielle des correspondances

Séries numériques. Chap. 02 : cours complet.

RECHERCHE DE CLIENTS simplifiée

Échantillonnage et estimation

Contribution à la théorie des entiers friables

Réseaux d ondelettes et réseaux de neurones pour la modélisation statique et dynamique de processus

Université de Bordeaux - Master MIMSE - 2ème année. Scoring. Marie Chavent machaven/

Télé OPTIK. Plus spectaculaire que jamais.

3.1 Différences entre ESX 3.5 et ESXi 3.5 au niveau du réseau. Solution Cette section récapitule les différences entre les deux versions.

PROMENADE ALÉATOIRE : Chaînes de Markov et martingales

Statistiques appliquées à la gestion Cours d analyse de donnés Master 1

Introduction : Mesures et espaces de probabilités

Logiciel de synchronisation de flotte de baladeurs MP3 / MP4 ou tablettes Androïd

Formation d un ester à partir d un acide et d un alcool

Chaînes de Markov. Arthur Charpentier

LE PRINCIPE DU RAISONNEMENT PAR RÉCURRENCE

CARRELER SUR DES SUPPORTS CRITIQUES

Tempêtes : Etude des dépendances entre les branches Automobile et Incendie à l aide de la théorie des copulas Topic 1 Risk evaluation

Terminale S. Terminale S 1 F. Laroche

Semestre : 4 Module : Méthodes Quantitatives III Elément : Mathématiques Financières Enseignant : Mme BENOMAR

One Office Voice Pack Vos appels fixes et mobiles en un seul pack

Examen final pour Conseiller financier / conseillère financière avec brevet fédéral. Recueil de formules. Auteur: Iwan Brot

16.1 Convergence simple et convergence uniforme. une suite de fonctions de I dans R ou C.

Statistique Numérique et Analyse des Données

Mobile Business. Communiquez efficacement avec vos relations commerciales 09/2012

Les algorithmes de tri

Université Victor Segalen Bordeaux 2 Institut de Santé Publique, d Épidémiologie et de Développement (ISPED) Campus Numérique SEME

Des résultats d irrationalité pour deux fonctions particulières

Chapitre 2 SONDAGE ALEATOIRE SIMPLE OU A PROBABILITES EGALES. 2.1 DEFINITIONS 2.2 SONDAGE ALEATOIRE SIMPLE SANS REMISE (PESR) 2.2.

Université Pierre et Marie Curie. Biostatistique PACES - UE

Les solutions mi-hypothécaires, mi-bancaires de Manuvie. Guide du conseiller

Mathématiques Financières : l essentiel Les 10 formules incontournables (Fin de période)

A11 : La représentation chaînée (1ère partie)

POLITIQUE ECONOMIQUE ET DEVELOPPEMENT

Transcription:

INF58 : Cryptologie Attaque de clés RSA par la méthode de Wieer Nicolas DOUZIECH - Thomas JANNAUD - X005 9 mars 008 Table des matières Quelques rappels sur le cryptosystème RSA Pricipe de l attaque de Wieer 3 L algorithme des fractios cotiues 3. Pricipe................................... 3 3. Quelques ues des propriétés fodametales des fractios cotiues.. 3 3.3 L idée de Wieer.............................. 3 3.4 Démostratio............................... 4 3.5 Estimatio de la bore sur d....................... 4 4 Pratique 4 4. Algorithme complet............................ 4 4. Implémetatio............................... 5 4.3 Amélioratios implémetées........................ 6 4.4 Quelques résultats............................. 6 5 Coclusio 7

3 L ALGORITHME DES FRACTIONS CONTINUES Quelques rappels sur le cryptosystème RSA Le pricipe de RSA repose sur le chiffremet asymétrique à clé publique / clé privée suivat : Pour e et d bie choisis, x Z/Z, (x e ) d = x mod. O red alors publique la clé e. Si l o a u message m Z/Z, o ous evoie m e et coaissat d ous retrouvos le message iitial. La puissace du procédé tiet das le fait que coaissat m et e, il est très dur de retrouver d sas coaître la décompositio e facteurs premiers de. La méthode cosiste doc à choisir ombres premiers p et q aussi grads que écessaire, et à poser = p q. O choisit alors e plus ou mois "aléatoiremet", o le red publique, et il reste à calculer d. Choix de e et d : à x fixé, {x k, k Z} est u sous-groupe multiplicatif de (Z/Z), isomorphe d après le théorème chiois à (Z/pZ) (Z/qZ). Le cardial du sousgroupe divise doc ppcm(p, q ). Aisi, si e est premier avec p et q,et si d est l iverse de e das Z/(p )(q )Z (i.e tel que ed = mod (p )(q )), alors (x e ) d = x mod. Pricipe de l attaque de Wieer L attaque de Wieer s applique tout particulièremet lorsque l exposat secret d est faible. Elle repose sur l équatio défiissat d d après l exposat public e et la foctio de Carmichael appliquée au module = p q : e d = mod λ() De cette équatio, o e déduit l existece d u etier K tel que e d = +K λ(). De plus, λ() = ppcm(p, q ) = (p )(q ) G, avec G = pgcd(p, q ). Il viet alors ed = + K G (p )(q ) = + k g (p )(q ), après réductio tel que pgcd(k, g) =. O e déduit alors le pivot de l algorithme des fractios cotiues appliquées à cette attaque : e pq = k dg ( p + q g k ) f = f( δ) pq qui sera efficace si δ = p+q g k pq est très faible. Or, comme pgcd(k, g) = par défiitio et pgcd(k, d) = (d après la formulatio de Bézout : ed = +k (p )(q ) g ), si o détermie la fractio k dg, o obtiedra aisémet k et le produit dg. 3 L algorithme des fractios cotiues Le développemet e fractios cotiues permet de calculer le umérateur et le déomiateur d u ombre ratioel x (de maière exacte). Aisi, sachat que f = f( δ) et que l o coait f, o va pouvoir remoter o pas à f, mais à

3. Pricipe 3 L ALGORITHME DES FRACTIONS CONTINUES so umérateur et à so déomiateur, ce qui apporte cosidérablemet plus d iformatios. Cela permet e l occurece de "casser" le système puisque coaissat ces iformatios o verra que l o parviet à remoter à p, q, et d. 3. Pricipe Tout réel x peut s écrire de maière uique sous la forme x = q 0 + q + q + q 3 + q 4 +..., q, q, N Par costructio, q i = r et r i i = r q i i. O peut oter (q 0, q, q,... ) le développemet d u réel x. O peut ituiter qu ue certaie otio de "cotiuité" se dégage : Si x est proche de y, les premiers termes du développemet de x serot égaux à ceux de y. 3. Quelques ues des propriétés fodametales des fractios cotiues D ue part, le développemet coverge rapidemet, et il est fii si et seulemet si x est ratioel. D autre part, pour i pair : et pour i impair : (q 0, q,..., q i ) < (q 0, q,..., q i+ ) < (q 0, q,..., q i + ) (q 0, q,..., q i + ) < (q 0, q,..., q i+ ) < (q 0, q,..., q i ) La suite x (q 0, q,..., q i ) est doc alterée, et les sous-suites d idices pairs seulemet ou impairs seulemet sot mootoes. Efi, e défiissat i et d i tels que i, i di = (q 0,..., q i )), o a (q 0, q,..., q i ) = q i i + i q id i +d i et i d i i di = ( ) i. 3.3 L idée de Wieer Rappelos que f = f( δ), où δ semble être de petite taille, et l o aimerait coaître le umérateur et le déomiateur de f, sachat ceux de f. L idée de Wieer cosiste à effectuer le développemet e fractios cotiues de f : O ote (q 0, q,..., q m ) le développemet de f et (q 0, q,,q m ) celui de f. Si f et f sot suffisammet proches, alors les premiers termes du développemet de f et de celui de f sot égaux. Et avec u peu de chace, m m, ce qui ferait que le développemet de f serait u sous-développemet de celui de f. L algorithme va foctioer si et seulemet si les m premières valeurs du développemet de f sot celles de f, c est à dire si : m est pair et (q 0, q,..., q m ) < f (q 0, q,..., q m ) = f 3

3.4 Démostratio 4 PRATIQUE m est impair et (q 0, q,,q m + ) < f (q 0, q,,q m ) = f (ceci etraierait que le développemet de f cotiue plus loi qu au rag m) Cette coditio est remplie si δ < 3 où m et d m sot le umérateur et le mdm déomiateur de f. Ce qui semble être de la "chace" e est e fait pas. La coditio m m qui semble être aléatoire est e fait vérifiée sur l itervalle des ratioels compris etre (q 0, q,..., q m ) et (q 0, q,..., q m ) = f (si m est pair), qui est e fait de largeur fδ. 3.4 Démostratio O prouve le résultat das le cas où m est u etier pair. O a l iéquatio ci-dessus si et seulemet si δ < (q0,q,...,qm ) (q 0,q,...,q m). E utilisat les otatios i et d i vues das la partie "propriétés fodametales", l iéquatio se réécrit : δ < m d m m dm (q m m + m )(q md m +d m d m ) Et après réductio, e utisat la propriété fodametale citée e derier, o obtiet δ < m(d m d m ). Par voie de coséquece, δ < md m est suffisat pour obteir la covergece de l algorithme. (et doc δ < 3 aussi) mdm 3.5 Estimatio de la bore sur d O utilise les otatios de l article. Il y est écrit que pour d < 4 le "cassage" du code réussit grâce à l algorithme des fractios cotiues. Coditio de réussite : δ < md m = kdg. Or δ = p+q g k pq doc il suffit que p+q pq < kdg pour que l algorithme marche. O peut estimer p et q par puisque = pq. Ue coditio de réussite est doc kdg soit d kg. K Or k = P GCD(K,G) et g = G P GCD(K,G) doc il suffit que d KG. ed Comme G = P GCD(p, q ) et K = P P CM(p,q ) ed P P CM(p,q ), cela équivaut d avec (p )(q ). G ed (p )(q ) Ue coditio est doc d G ed soit d G e. Comme e <, ue coditio plus stricte est d G. p et q état premiers, avec ue forte probabilité les facteurs de (p ) et (q ) ot que de petits facteurs premiers et G(= P GCD(p, q )) est très petit devat (soit O()). O retrouve doc la coditio d < 4. 4 Pratique 4. Algorithme complet Voici l algorithme complet de l attaque de Wieer cotre ue clé publique (, e). 4

4. Implémetatio 4 PRATIQUE CasserRSA(, e) m 0, q 0 e/, r 0 e/ q 0, 0 q 0 et d 0 while (r m 0) 3 do if m est pair 4 the k/dg < q 0,..., q m + > 5 else k/dg < q 0,..., q m > O vérifie si le développemet partiel coviet pour k/dg 6 edg e dg 7 (p )(q ) edg/k 8 g edg mod 9 if (g = 0) 0 the goto FiTest le développemet e coviet pas p + q (p )(q ) if p + q impair 3 the goto FiTest le développemet e coviet pas 4 ( p q ) = ( p+q ) p q 5 = (( p q ) ) racie carré etière 6 if ( p q ) est pas u carré parfait 7 the goto FiTest le développemet e coviet pas 8 p p+q + p q, q p+q p q 9 d dg/g Fi des vérificatios, retour de d 0 retur d FiTest : Calcul de l élemet suivat du développemet de e/ q m+ = r m et r m+ = r m q m+ 3 if (m=0) 4 the = q 0 q + et d = q 5 else m+ = q m+ m + m et d m+ = q m+ d m + d m 6 retur "Clé icassable" 4. Implémetatio Pour implémeter cet algorithme, ous avos opté pour développer ue classe dot les membres serot os variables, e, m etap, la liste des q i, celle des i et d i et r i est stocké sous le format umérateur (variable r i ) et déomiateur (variable r i ). Pour ce qui est des foctios de calcul, ous avos : Ue foctio casser qui pred e argumet le mode de calcul choisi. Nous verros qu il s agit e fait des amélioratios que ous proposeros plus bas. Ue foctio breaker qui est l implémetatio de l algorithme de base mais das lequel ous etros le umérateur et le déomiateur de f qui approche, de maière iférieure f = k dg. Ue foctio calcul_ext qui calcule l élémet m + du développemet e fractio cotiue et met à jour les listes q i, i et d i. 5

4.3 Amélioratios implémetées 4 PRATIQUE Ue foctio Verifier qui, coaissat le développemet (partiel) de f vérifie s il coviet pour f. Cette foctio pred e argumet ue structure (qui cotiet, p, q, e, d) qui sera remplie si la vérificatio s avère positive et retourera VRAI, sio retourera FAUX. Parallèlemet, ous avos développé ue classe pricipale qui permet de choisir différets formats d etrées (lacemet e lige de commade). O peut spécifier la valeur de, soit directemet, soit via u fichier, celle de e de la même maière. O peut aussi demader la géératio aléatoire d ue clé dot o spécifie la taille (la taille de p et de q). U mode permet aussi de lacer k tests géérat aléatoiremet des clés et les testat. Efi, o peut spécifier le mode de calcul qui précise si o travaille avec la versio de base (par défaut) ou avec ue amélioratio. Pour géérer ue clé, ous choisissos "aléatoiremet" p et q premiers de la taille spécifiée. est alors le produit des deux et ϕ() = (p ) (q ). O choisit alors d aléatoiremet de taille le quart de celle de (BigIteger(.bitLegth()/4, rad)) et o essaie d iverser d pour obteir e ( mod ϕ()). Cepedat, o sait que d est pas toujours iversible, das ce cas, o rejette simplemet la clé et o e essaie ue autre. Notos e passat que pour calculer la racie carrée de, ous avos développé ue foctio sqrt sur les BigIteger qui calcule le plus grad etier (format BigIteger) m tel que m par la méthode de Newto. 4.3 Amélioratios implémetées Nous avos implémeté deux amélioratios proposées das l article. Les deux reposet sur le pricipe d approcher mieux f par f (toujours iférieuremet). Cepedat, elles peuvet e pas foctioer das des cas où l attaque classique foctioe (car o peut se retrouver avec f > f) Pour la première (mode ), il s agit de remplacer f = e par e (, ce qui ) améliore la bore maximale de d. Pour la deuxième (mode ), o souhaite toujours s approcher iférieuremet de f. Aussi, e supposat e et grads, o peut remplacer f = e e+i par f = +i avec i faible. Aussi, o essaie avec i variat de à 00. 4.4 Quelques résultats A titre d illustratio, ous avos testé le programme. Cocerat l algorithme de base, ous avos testé la créatio de 0000 clés de taille 5 bits. O costate que seulemet 306 clés ot pu être géérées jusqu au bout (l iversio de d échoue doc à 70%) Parmi ces 306 clés, seulemet 86 ot pas pu être cassées par l attaque de Wieer, ce qui est u taux d échec de seulemet 6%. Sur u ordiateur ormal, le test de ces 0000 clés ot pris que sept miutes. Notos cepedat qu u même test de 0000 clés mais e choisissat d par BigIteger(.bitLegth()/4-, rad) e géère statistiquemet aucue clé icassable! Cocerat les amélioratios, ous avos simulé 00000 clés comme précédemmet mais lorsqu ue clé est pas cassable par la méthode de base, alors ous tetos de la 6

5 CONCLUSION casser par la versio améliorée et par la versio améliorée. Comme précédemmet, seules 30% des clés ot pu être géérées jusqu au bout (30740 sur 00000), parmi cellesci, 58 ot pu être cassées par l attaque de base (soit eviro 8%). Cepedat, parmi ces 58 clés, l amélioratio a permis d e casser 35, ce qui est certes faible mais motre l itérêt de cette derière. Malheureusemet, la deuxième amélioratio a pu e casser aucue. A titre d exemple, ous doos deux clés o cassées par l attaque de base mais où la première amélioratio a réussi. (l algorithme pred et e e etrée et retoure p, q et d) = 709904940300059964008090346444646884099856797983080437584 338957973088789630059490095677999993473959300456887009503 34599788935494393 e = 480059080345099003067757037963933688587599876889853 37060686055738477045463869766489786500375903934585036 7359996077075658755 p = 508888547834459379994653943968889498084753 5658767549656 q = 66835083988075653543603855300788903065367784374438 456668743703 d = 33745566969577768030836759855 = 794785045088867305566866744053369889040037395396 8637655838778003069006345983378088357060384739975073676 056080588747986349447 e = 6550990765860857885498500403953700383787976469634600 07987606395348686707697839030750787356063937787550895609 43584804334474937457 p = 0075790306693986573383506434850537095060449440680067 8784885 q = 778699863457967979668354574690743437854560478797699949 7496803077 d = 3096667483378089573945603083793 5 Coclusio Comme le motre les résultats, l attaque de Wieer est efficace pour peu que d < 4. De plus, ous costatos que l amélioratio qui cosiste à remplacer e par e ( s avère utile mais e peut pas être gééralisée car o se retrouve fréquemmet ) au dessus de k dg et l algorithme des fractios cotiues est doc plus efficace. 7