Alan Turing ou la cryptographie moderne
ย ย Jusquโร la รn du XIXe siรจcle la cryptographie sโattache principalement ร dรฉcrire des procรฉdรฉs de chirement, cโest-ร -dire ร convertir un message brut et clair en un texte illisible auquel seul un petit nombre dโรฉlus sont en mesure de rendre le sens initial. Lโidรฉe naรฏve consiste par exemple ร changer chaque lettre par une autre, ou ร rรฉarranger lโordre de celles-ci. Parallรจlement, les premiรจres cryptanalyses ne se font pas attendre : ร chaque nouvelle mรฉthode de chirement employรฉe, les adversaires reprennent leurs illรฉgitimes tentatives dโen briser le code. Ce nโest quโavec lโavรจnement de la radio en 1903 et les enjeux de la premiรจre guerre mondiale que la cryptographie marque son premier tournant. Lโรฉlectricitรฉ et lโautomatisation permettent un chirement progressivement plus travaillรฉ, complexiรant celui quโun soldat ou quโun o-cier sur le champ de bataille ne parvenait ร eectuer seul jusquโร lors. En plus de la conรdentialitรฉ des messages โ lโinformation nโest accessible quโร ceux auxquels lโaccรจs est autorisรฉ โ on cherche, sans succรจs dโabord, ร garantir leur authenticitรฉ โ lโidentitรฉ de celui qui nous รฉcrit est certiรรฉe โ tout comme leur intรฉgritรฉ โ une vรฉriรcation atteste que les donnรฉes nโont pas รฉtรฉ altรฉrรฉes pendant la transmission du message. Enรn, lโhorreur de la seconde guerre mondiale et la nรฉcessitรฉ de ramener la paix lรจvent le jour sur le premier des cryptographes modernes : Alan Turing. En achevant la cryptanalyse de la machine Enigma utilisรฉe par les allemands, Turing crรฉe non seulement de toutes piรจces ce que lโon considรจre comme le premier des ordinateurs, mais ouvre par ailleurs le champ dโune cryptographie nouvelle, portรฉe par lโรฉlectronique. Lโinformatique balbutie. La cryptographie quitte lโenfance. Un souci majeur contrarie pourtant son dรฉveloppement pendant trois dรฉcennies successives. Pour รชtre honnรชte, bien quโentrรฉe dans lโรจre moderne, la cryptographie bute encore sur un obstacle de longue date. Pour mieux saisir cette contrariรฉtรฉ, nous reprenons lโimage classique du core et du cadenas : admettons que le chirement corresponde ร la dissimulation dโun message dans un core, suivi du verrouillage de celui-ci par une clef donnรฉe. Le dรฉchirement doit alors permettre ร tout dรฉtenteur de cette mรชme clef, aprรจs voyage du core, de lโouvrir pour rรฉvรฉler son contenu. La transmission du core-message peut prรฉtendre aux plus hautes mesures de sรฉcuritรฉ, quโen estil du voyage de la clef ? En eet, loin de lโobjet matรฉriel, celle-ci revรชt trรจs tรดt une rรฉalitรฉ plus abstraite. Quโil sโagisse dโune correspondance de symboles, dโun mot, ou dorรฉnavant dโun nombre plus ou moins grand dโoctets, le souci de son transfert repose alors sur lโexistence de mรฉthodes permettant de faire circuler en amont du protocole cette information par des voies non sรฉcurisรฉes… Ce qui est prรฉcisรฉment le problรจme initial, qui, en un sens, nโest donc toujours pas rรฉsolu !
Oรน trouve-t-on des logarithmes discrets ?
ย ย Lโhistoire du logarithme discret en thรฉorie des nombres prรฉcรจde largement la dรฉcouverte du protocole de Die et Hellman. De fait, le calcul de ces logarithmes attire dรฉjร lโattention de Kraรฏtchik [Kra22, Chap. V] au dรฉbut du siรจcle dernier. Hommage posthume, le nom de la mรฉthode sur laquelle nous nous appuierons tout au long de ce manuscrit โ la mรฉthode du calcul dโindiceโ tire son nom de ce premier ouvrage. Pour Kraรฏtchik, lโindice de gx dans le groupe engendrรฉ par g dรฉsigne ainsi exactement celui que nous appelons aujourdโhui le logarithme discret de gx, cโest-ร -dire lโentier x. Autrement dit, de maniรจre amusante, nous avons assistรฉ ร un lent glissement de la sรฉmantique du terme : si un calcul dโindice ne reprรฉsentait rien dโautre il y a un siรจcle quโun calcul de logarithme discret, actuellement la mรฉthode du calcul dโindice couvre certes une vaste famille destinรฉe ร calculer ces logarithmes, mais non la totalitรฉ des algorithmes de rรฉsolution du problรจme. Nรฉanmoins, la plus ancienne apparition dont on trouve trace prรฉcรจde le manuscrit de Kraรฏtchik. Dรจs 1849 certains de nos logarithmes discrets se dissimulent dรฉjร sous les logarithmes de Zech dont la dรฉรnition est la suivante :
Dรฉรnition 0.2.1. Si โต est lโรฉlรฉment primitif dโun corps รni, le logarithme de Zech de n en base โต est dรฉรni comme lโentier logโต(n) tel que โตlogโต(n) = 1+โตn.
Le logarithme de Zech dโun entier est donc le logarithme discret dโun รฉlรฉment particulier du corps รni. Lโintรฉrรชt des logarithmes de Zech rรฉside dans la traduction des additions dans le corps en question par une simple exponentiation. En eet, lโaddition โตm + โตn qui est รฉgale ร โตm(1 + โตmn) =โตm+logโต(nm) peut ainsi se rรฉรฉcrire comme โตm ร la puissance logโต(n m). Le calcul prรฉalable de tables de logarithmes de Zech permettait lโexรฉcution plus rapide dโopรฉrations arithmรฉtiques dans des corps รnis. En cryptographie, lโintรฉrรชt que lโon accorde ร ce problรจme remonte lui aussi quelques annรฉes avant les avancรฉes de Die et Hellman. Par exemple, la sรฉcuritรฉ des cryptosystรจmes ร clefs secrรจtes qui impliquent des registres ร dรฉcalage ร rรฉtroaction linรฉaire (ou LFSR, de lโanglais linear feedback-shift registers) est รฉtroitement liรฉe aux calculs de logarithmes discrets dans des corps รnis binaires. Plus prรฉcisรฉment, localiser la position dโune sous-sรฉquence donnรฉe au sein de la sortie dโun LFSR peut se traduire par un problรจme de calcul de logarithme discret dans le corps รni dรฉรni par le polynรดme de feedback โ sous rรฉserve que celui-ci soit bien entendu irrรฉductible, ce qui est souvent le cas. Sans surprise, lโutilisation la plus classique du problรจme du logarithme discret remonte en 1976, ร la prรฉsentation du protocole de Die et Hellman [DH76]. Cette dรฉcouverte justiรe ร elle seule une longue parenthรจse ; aussi nous repoussons les dรฉtails au paragraphe 0.2.1. Plus tard, en 2000, lโintroduction des couplages au sein de la discipline (versions journal [Jou04, BF03]) ravive encore lโattention apportรฉe au mรชme problรจme, bien que cette fois-ci les groupes dans lequels les logarithmes sont recherchรฉs prรฉsentent une structure atypique. Il sโagit par exemple de certains corps รnis comportant un degrรฉ dโextension composรฉ ou une caractรฉristique de taille moyenne.
Avantages techniques
ย ย Rรฉduction des tailles de clefs. Lโintรฉrรชt principal provient du fait que la complexitรฉ des algorithmes actuels pour rรฉsoudre le problรจme du logarithme discret sur une courbe elliptique gรฉnรฉrale (ECDLP) est bien plus รฉlevรฉe que celle pour la factorisation dโun entier de taille comparable. Par consรฉquent, les cryptosystรจmes se rรฉfรฉrant ร des courbes elliptiques proposent actuellement la possibilitรฉ dโutiliser des clefs de tailles bien plus petites que celles requises par RSA, ou le logarithme discret sur les corps รnis, pour un niveau de sรฉcuritรฉ similaire. Par exemple, pour atteindre un niveau de sรฉcuritรฉ รฉquivalent au choix dโun module RSA de taille 2048 bits, lโAgence nationale de la sรฉcuritรฉ des systรจmes dโinformation (ANSSI) recommande le choix dโun corps รni Fp dโordre premier p de 2048 bits, alors que lโemploi dโun sous-groupe dโune courbe elliptique dโordre premier de taille 256 bits sut [ANS14]. En plus dโautoriser une forte rรฉduction des tailles de clef pour les protocoles asymรฉtriques, le problรจme du logarithme discret sur courbe elliptique […] permet dโobtenir, pour des tailles de paramรจtres rรฉduites, une sรฉcuritรฉ comparable ร celle exigรฉe pour des primitives symรฉtriques. A lโheure actuelle, on considรจre de ce fait que les systรจmes basรฉs sur les courbes elliptiques surpassent les systรจmes plus classiques. Nรฉanmoins, le dรฉbat est relancรฉ par les prises de positions rรฉcentes des agences amรฉricaines : la NSA (National Security Agency) conseille par exemple lโabandon de la cryptographie basรฉe sur les courbes elliptiques. Conรdentialitรฉ persistante. Lorsque lโon utilise RSA en vue de procรฉder ร un รฉchange de clef, lโapproche habituelle consiste ร ce que lโune des deux parties choisisse une clef secrรจte alรฉatoire, la chire avec la clef publique RSA de son correspondant, puis lโenvoie par un canal non sรฉcurisรฉ. Un adversaire qui enregistre toutes les communications pourra donc dรฉcrypter tous les รฉchanges passรฉs sโil prend possession un jour de la clef privรฉe associรฉe ร celle utilisรฉe pour le transfert de la clef commune. Sโappuyer sur le problรจme du logarithme discret permet en revanche de contourner cet รฉcueil, en facilitant la crรฉation de schรฉmas de conรdentialitรฉ persistante parfaite (perfect forward secrecy en anglais), pour lesquels la rรฉvรฉlation de secrets de long terme ne permet pas de rendre intelligibles des รฉchanges passรฉs [DOW92]. Par exemple, dans lโรฉchange de Die-Hellman, les secrets a et b dโAlice et Bob sont รฉphรฉmรจres, tout comme le secret commun gab quโils utilisent pour crรฉer leur clef de session partagรฉe. Comme celleci est temporaire, si un adversaire parvient ร intercepter ultรฉrieurement lโune dโentre elle, il ne pourra cependant dรฉcrypter que le message correspondant. Ainsi, un intrus qui pรฉnรฉtrerait lโordinateur dโAlice ou celui de Bob ne serait pas capable de reconstituer les clefs des communications prรฉcรฉdentes, et donc de dรฉcrypter les รฉchanges passรฉs. En pratique, il est aussi possible de combiner des secrets รฉphรฉmรจres et ร longs termes, cโest-ร -dire des clefs privรฉes, pour fournir des schรฉmas orant simultanรฉment une conรdentialitรฉ persistante parfaite, et de la vรฉriรcation dโidentitรฉ.
Log Range Decision appartient ร NP\co-NP
ย ย Rappelons quโun problรจme est dans NP sโil peut รชtre dรฉcidรฉ sur une machine de Turing non-dรฉterministe en temps polynomial par rapport ร la taille de lโentrรฉe, cโest-ร -dire quโil existe un tรฉmoin qui permet de dรฉcider en temps polynomial si une solution donnรฉe par exemple par un oracle convient ร ce problรจme. La classe co-NP reprรฉsente la classe complรฉmentaire de la classe NP, au sens de la thรฉorie de la complexitรฉ. Dit autrement, un problรจme est dans co-NP sโil existe un certiรcat qui permet de vรฉriรer en temps polynomial quโune instance qui ne rรฉpond pas au problรจme donnera la rรฉponse NON. Pour montrer que le problรจme est dans NP, supposons quโil existe un entier x 2 J0,BK tel que h = gx, alors cet entier x lui-mรชme est un tรฉmoin de ce fait, qui se teste facilement en temps polynomial. Par ailleurs, lorsque g est un gรฉnรฉrateur de G et que le groupe en question est dโordre connu, donner un logarithme discret de h en base g est aussi un tรฉmoin satisfaisant pour prouver que la rรฉponse est NON. Dans ce cas particulier, le problรจme appartient donc ร la classe co-NP. La situation est cependant plus complexe dans le cas gรฉnรฉral. En eet, pour poursuivre, nous avons besoin dโun gรฉnรฉrateur g0 de G, ainsi que de la connaissance de lโordre |G| du groupe, et de sa factorisation. Au demeurant, puisquโil y a ‘(|G|) gรฉnรฉrateurs de G, cโest ร dire un grand nombre, g0 se trouve aisรฉment par test de candidats pris alรฉatoirement dans lโensemble. Ce gรฉnรฉrateur g0 รฉtant connu, la connaissance du logarithme discret de g et celui de h en base g0 sut alors ร dรฉterminer si h appartient au sous-groupe gรฉnรฉrรฉ par g ou non, et, au besoin, ร montrer quโaucun des logarithmes discrets de h en base g nโappartient ร lโintervalle J0,ยทยทยท ,BK. Nous en dรฉduisons que le problรจme Log Range Decision se situe bien dans co-NP, mรชme dans le cas gรฉnรฉral oรน g nโest pas un gรฉnรฉrateur du groupe.
|
Table des matiรจres
Introduction
0.1 Cryptographie asymรฉtrique et problรจmes diciles
0.1.1 Alan Turing ou la cryptographie moderne
0.1.2 Lโavรจnement de la clef publique
0.1.3 A la recherche des problรจmes diciles
0.2 Oรน trouve-t-on des logarithmes discrets ?
0.2.1 Echange de clef de Die-Hellman
0.2.2 Cryptosystรจmes basรฉs sur les couplages
0.2.3 Protocoles variรฉs
0.3 En quoi les logarithmes discrets sont-ils bรฉnรฉรques ?
0.3.1 Avantages techniques
0.3.2 Diversitรฉ algorithmique
0.4 Contributions
0.4.1 Logarithme discret, algรจbre linรฉaire presque creuse et mallรฉabilitรฉ de lโentropie du Bitcoin
0.4.2 Organisation du manuscrit
I Algorithmes de calcul de logarithmes discretsย
1 Logarithme et groupes gรฉnรฉrauxย
1.1 Classes de complexitรฉ
1.1.1 Log Range Decision appartient ร NP\co-NP
1.1.2 Log Range Decision appartient ร BQP
1.1.3 Retrouver |G| ร lโaide dโun calcul de logarithme discret
1.1.4 Dicultรฉ du cas moyen et auto-rรฉduction alรฉatoire
1.2 Algorithme de PohligโHellman
1.2.1 Rรฉduction aux ordres des puissances de nombres premiers
1.2.2 Rรฉduction aux ordres premiers
1.3 Logarithme discret en la racine de lโordre du groupe
1.3.1 Pas de bรฉbรฉs โ pas de gรฉants
1.3.2 Lโalgorithme Rho de Pollard
1.4 Passage ร lโรฉchelle du logarithme discret
1.5 Le modรจle du groupe gรฉnรฉrique
1.5.1 Une dรฉmonstration dโoptimalitรฉ ?
1.5.2 Faiblesses du modรจle
2 La mรฉthode du calcul dโindiceย
2.1 Description gรฉnรฉrale
2.1.1 Phase prรฉliminaire
2.1.2 Collect des relations, ou phase de crible
2.1.3 Algรจbre linรฉaire
2.1.4 Calcul dโun logarithme individuel, ou phase de descente
2.2 Un souci de friabilitรฉ
2.2.1 Friabilitรฉ et heuristique
2.2.2 Friabilitรฉ et complexitรฉ
2.3 Algรจbre linรฉaire creuse
2.3.1 Lโalgรจbre linรฉaire, un goulot dโรฉtranglement
2.3.2 Algorithmes de rรฉsolutions de systรจmes linรฉaires creux
2.4 Calcul dโindice dans les corps รnis
2.4.1 La rรฉcolte des relations, une รฉtape clef
2.4.2 Corps de nombres ou corps de fonctions ?
2.5 Calcul dโindice dans les courbes elliptiques
2.5.1 Courbes de grand genre
2.5.2 Courbes elliptiques particuliรจres
II Le problรจme du logarithme discret dans les corps รnis de petite caractรฉristiqueย
3 Des algorithmes sous-exponentiels aux complexitรฉs quasipolynomialesย
3.1 Prรฉliminaires algรฉbriques pour les corps รnis
3.1.1 Factoriser des polynรดmes ร coecients dans un corps รni
3.1.2 Polynรดmes friables et polynรดmes irrรฉductibles
3.1.3 Probabilitรฉ de factorisation des polynรดmes
3.1.4 Passage dโune reprรฉsentation ร une autre dโun mรชme corps
3.1.5 A propos du gรฉnรฉrateur multiplicatif
3.2 Lโalgorithme de HellmanโReyneri en Lqk (1/2)
3.2.1 Crรฉation des relations
3.2.2 Logarithme individuel .
3.3 Lโalgorithme de Coppersmith en Lqk (1/3)
3.3.1 Reprรฉsentation du corps cible
3.3.2 Crรฉation des relations
3.3.3 A propos de lโalgรจbre linรฉaire
3.3.4 Logarithme individuel et naissance de la descente
3.4 Des polynรดmes univariรฉs aux polynรดmes bivariรฉs
3.4.1 Egalitรฉs entre polynรดmes univariรฉs dโinconnues diรฉrentes
3.4.2 Complexitรฉ asymptotique
3.5 Changement de paradigme
3.5.1 Construction et non plus recherche de polynรดmes friables
3.5.2 Fq est le corps de dรฉcomposition du polynรดme Xq X
3.5.3 Lorsque la descente domine
4 Le Simply : un algorithme par reprรฉsentation de Frobenius simpliรรฉ
4.1 Petits polynรดmes
4.1.1 Les algorithmes par reprรฉsentation de Frobenius
4.1.2 Choix simpliรรฉ des polynรดmes h0 et h1
4.1.3 A la recherche dโune base de friabilitรฉ naturelle
4.2 Calculs accรฉlรฉrรฉs de la base de friabilitรฉ (รฉtendue)
4.2.1 Une base rรฉduite au degrรฉ 2
4.2.2 Extension de la base de friabilitรฉ au degrรฉ 3
4.2.3 Logarithmes discrets des polynรดmes de degrรฉ 4
4.3 Complexitรฉs asymptotiques
4.3.1 Logarithmes discrets des polynรดmes quadratiques irrรฉductibles
4.3.2 Logarithmes discrets des polynรดmes cubiques irrรฉductibles
4.3.3 Logarithmes discrets des polynรดmes quartiques irrรฉductibles
4.4 Application en caractรฉristique 3
4.4.1 Reprรฉsentation du corps cible
4.4.2 Base de friabilitรฉ initiale
4.4.3 Base de friabilitรฉ รฉtendue
4.4.4 Lโรฉtape de descente de nouveau dominante
4.4.5 Et voici (enรn !) un logarithme
4.4.6 Scripts de vรฉriรcation
4.5 Conclusion en petite caractรฉristique
III Le problรจme du logarithme discret dans les corps รnis de moyenne et grande caractรฉristiquesย
5 Crible par corps de nombres multipleย
5.1 Crible par corps de nombres
5.1.1 Prรฉliminaires et notations
5.1.2 Sรฉlections polynomiales
5.1.3 Collecte des relations
5.1.4 Algรจbre linรฉaire
5.1.5 Logarithme individuel
5.1.6 Complexitรฉs asymptotiques
5.1.7 NFS en pratique
5.2 Crible par corps de nombres multiple
5.2.1 Diagramme multi-branches
5.2.2 Crible symรฉtrique
5.2.3 Crible dissymรฉtrique
5.3 Analyses de complexitรฉ
5.3.1 MNFS-Conj en moyenne caractรฉristique
5.3.2 MNFS-Conj dans le cas frontiรจre p = LQ(2/3, cp)
5.3.3 MNFS-JLSV en grande caractรฉristique
5.4 Dโautres petites analyses pour le plaisir
5.4.1 Un crible symรฉtrique obsolรจte en moyenne caractรฉristique
5.4.2 MNFS-GJL dans le cas frontiรจre, obsolรจte
5.4.3 Une phase de descente nรฉgligeable
5.5 Un exemple jouet avec un crible symรฉtrique
5.5.1 Sรฉlection polynomiale
5.5.2 Construction de la base de friabilitรฉ
5.5.3 Collecte des relations
5.5.4 Construction de la matrice
5.5.5 Algรจbre linรฉaire
5.5.6 Descente
6 Algรจbre linรฉaire presque creuseย
6.1 A propos des matrices creuses
6.1.1 Matrices creuses et cryptographie
6.1.2 Quelques mรฉthodes de rรฉsolutions
6.2 Des algorithmes quadratiques pour les matrices creuses
6.2.1 Prรฉ-transformation dโune matrice creuse vers une matrice carrรฉe
6.2.2 Lโalgorithme de Wiedemann
6.2.3 Lโalgorithme de Block Wiedemann
6.2.4 Bases minimales
6.3 Un algorithme pour les matrices presque creuses
6.3.1 Entre vacuitรฉ et densitรฉ
6.3.2 Prรฉ-transformation pour une matrice presque creuse
6.3.3 Conditions sur les blocs V et W
6.3.4 Application de lโalgorithme de Giorgi, Jeannerod et Villard
6.3.5 Rรดle des blocs V et W et vรฉriรcation automatique
6.3.6 Quelques exigences concernant les paramรจtres
6.3.7 Analyse de complexitรฉ
6.3.8 Quelle limite de densitรฉ pour nos matrices presque creuses ?
6.4 Application en moyenne et grande caractรฉristiques
6.4.1 Applications de Schirokauer et colonnes lourdes
6.4.2 Un cas dโapplication optimal
Et demain ?
Bibliographie
Tรฉlรฉcharger le rapport complet