Le logarithme discret dans les corps finis

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.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

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

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *