CryptRSA

Embed Size (px)

Citation preview

CRYPTANALYSE DE RSAAbderrahmaneNitajLaboratoiredeMathematiquesNicolasOresmeUniversitedeCaen,Francehttp://www.math.unicaen.fr/[email protected] _ Version du 28 juin 2009Tabledesmati`eresContenu iPreface 11 Introductionaucryptosyst`emeRSA 31.1 PrincipedeRSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 LemoduleRSA. . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 Lesclespubliquesetprivees . . . . . . . . . . . . . . . . . . . 51.1.3 Envoidunmessage. . . . . . . . . . . . . . . . . . . . . . . . 71.1.4 Dechirementdunmessage . . . . . . . . . . . . . . . . . . . 81.1.5 Signaturedunmessage . . . . . . . . . . . . . . . . . . . . . . 91.1.6 PreuvedeRSA . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 UnexempledutilisationdeRSA . . . . . . . . . . . . . . . . . . . . 121.2.1 Transformationduntexteennombres . . . . . . . . . . . . . 121.2.2 Lexemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Cryptanalyses elementairesdeRSA . . . . . . . . . . . . . . . . . . 151.3.1 CryptanalysedeRSAconnaissant(N) . . . . . . . . . . . . 151.3.2 Utilisationdumememoduleetdeuxexposantsdierents . . . 161.3.3 Utilisationdemodulesdierentspourlemememessage. . . . 181.3.4 CryptanalysedeRSAsi [p q[ < cN1/4:MethodedeFermat 212 CryptanalysedeRSAparlesfractionscontinues 252.1 Lesfractionscontinues . . . . . . . . . . . . . . . . . . . . . . . . . . 25iii TABLEDESMATI`ERES2.1.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.1.2 Denitionsetproprietes . . . . . . . . . . . . . . . . . . . . . 262.2 CryptanalysedeRSAparlesfractionscontinues . . . . . . . . . . . . 372.2.1 LattaquedeWiener . . . . . . . . . . . . . . . . . . . . . . . 383 CryptanalysedeRSAparlalgorithmeLLL 433.1 LalgorithmeLLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.1.1 Introductionauxreseaux. . . . . . . . . . . . . . . . . . . . . 433.1.2 LalgorithmeLLL. . . . . . . . . . . . . . . . . . . . . . . . . 503.2 CryptanalysedeRSAparlareductiondesreseaux. . . . . . . . . . . 593.2.1 LamethodedeCoppersmith:polyn omes` aunevariable . . . 593.2.2 FactorisationdeN . . . . . . . . . . . . . . . . . . . . . . . . 69Bibliographie 73PrefaceSi vous enseignez ` a un homme, vous nenseignez qu`a unepersonne. Si vous enseignez `a une femme, vous enseignez `a touteune famille.

....

.

.

..

....

..

..

...

..

...

..

.

..

.

.

..

....

..

v

-

..

...

..

Lacryptographiemoderneestbaseesurlesmathematiquespoursecuriserlinfor-mation.Ondistinguedeuxtypesdeprotocolescryptographiques:lacryptographie` a cle privee et la cryptographie `a cle publique. La cryptographie `a cle publique ` a eteintroduiteparWhiteldDieetMartinHellmanen1976,marquantainsilanais-sancedelacryptographiemoderne.Leprincipedelacryptographie` aclepubliquereposesurdeuxtypesdecles:uneclepubliqueetunecleprivee.Pourchirerunmessage, on utilise la cle publique de son destinataire. Alors, seul le destinataire peutdechirerlemessagere cuavecsaproprecleprivee. En1978, RonaldRivest, AdiShamiretLeonardAdlemanontproposelepremiercryptosyst`eme` aclepublique,appele RSA. Ce cryptosyst`eme est devenu le plus repandu dans le monde car il estfacile`arealisermaistr`esdicile` acasser. Eneet, sasecuritereposesurlundesprobl`emeslesplusdicilesenmathematiques:lafactorisationdesgrandnombres.Dans cetravail, nous introduisons les principes generauxducryptosyst`emeRSAainsi que certaines attaques permettant de le casser, si les param`etres de securite sontmal choisis ou sil verient des relations permettant `a un attaquant den tirer prot.Danslechapitre1,nousdonnonslesprincipesgenerauxducryptosyst`emeRSAetnous presentons quelques attaqueselementaires permettant delecasser. Dans lechapitre2, nous presentons uneintroduction`alatheoriedes fractions continueset leur utilisationpour attaquer le cryptosyst`eme RSAdans certains cas. Danslechapitre3, nouspresentonsquelquesaspectsdelareductiondesreseaux, plusprecisement lalgorithme LLL et son utilisation pour attaquer le cryptosyst`eme RSAgr ace` alamethodedeCoppersmith.Dans ce travail, la plupart des resultats sont illustres par des algorithmes pro-grammes ` a laide des syst`emes de calcul Maple 12 et Magama dont un calculateur12 TABLEDESMATI`ERESenligneest` aladressehttp://magma.maths.usyd.edu.au/calc/.Chapitre1Introductionaucryptosyst`emeRSACelui qui naime pas gravir les montagnes, vivra toute sa vie dansles trous.AbouAlQasimAchabi

.

.:

_..

.

. ..

.

.

.

._.

..

.

.

.

:

.

. .

.

.

.

..

_

.

_..

. .._.

.

..

.

1.1 PrincipedeRSATouteslesoperationducryptosyst`emeRSAsepassedansunensembledenombreentiers. Soient pet q deuxnombres premiers assezgrands. OnnoteN=pq. LenombreNestappelemoduleRSA.SupposonsquedeuxpersonnesAetBveulentcommuniquer de facon s ure en utilisant le cryptosyst`eme RSA. Pour cela, ils doivent,chacun de son cote preparer un module RSA, deux cles e et d, executer une proceduredechirementetdesignatureetuneprocedurededechirementetdevericationdelasignature.1.1.1 LemoduleRSAAvant tout, pour utiliser le cryptosyst`eme RSA, chacun des intervenants A et B doitfabriquersonpropremoduleRSA.Lalgorithme1peut etrealorsutilise.34 CHAPITRE1. INTRODUCTIONAUCRYPTOSYST`EMERSAAlgorithme1:FabricationdumoduleEntree: Unetailletpourlemoduleducryptosyt`emeRSA.Sortie: UnmoduleRSANdetaillet.1: Prendreunnombrepremieraleatoirepdanslintervalle_2t2, 2t+12_.2: Prendreunnombrepremieraleatoireqdanslintervalle_2t2, 2t+12_.3: Sip = qalors4: Aller`aletape2.5: Sinon6: N= pq.7: FinSiCommepetqsontdanslintervalle_2t2, 2t+12_,alorsona2t< pq< 2t+1,cequimontrequeN= pqestdetaillet.Maple1.1.1.AvecMaple12,lalgorithme1peut etrerealisecommececi.Programmet:=1024:x1:=round(2.0^(t/2)):x2:=round(2.0^((t+1)/2)):m1:=(rand(x1 .. x2))():p:=nextprime(m1);m2:=rand(x1 .. x2)():q:=nextprime(m2);N:=p*qCommentaires