• Aucun résultat trouvé

Logarithme discret, algèbre linéaire presque creuse et

Dans le document Le logarithme discret dans les corps finis (Page 39-42)

0.4 Contributions

0.4.1 Logarithme discret, algèbre linéaire presque creuse et

Comparé à la factorisation, le problème du logarithme discret o re une plus grande Øexibilité, puisqu’il autorise de nombreuses possibilités pour le groupe G. En pratique, les protocoles s’appuient naturellement sur deux ca-tégories de groupes : le groupe des points rationnels d’une courbe elliptique déÆnie sur un corps Æni, ou le groupe multiplicatif des éléments inversibles d’un corps Æni. Dans ce dernier, qui constitue l’objet de cette thèse, la struc-ture plus riche facilite la résolution du problème. L’article suivant propose un survol large du problème du logarithme discret :

1. [JOP14] The Past, evolving Present and Future of Discrete Loga-rithm,

avec Antoine Joux et Andrew Odlyzko,

Open Problems in Mathematical and Computational Science Book, Sprin-ger, 2014.

Soit Fpn un corps Æni de caractéristique première p et de degré d’exten-sion n. Le problème qui nous intéresse consiste donc, étant donné un élément arbitraire h2 Fpn non nul et un générateur g de F

pn, à retrouver un entier x tel que :

gx = h modulo |Fpn|.

Actuellement, deux familles d’algorithmes se distinguent pour résoudre ce problème, selon la taille relative de la caractéristique et du degré de l’exten-sion.

Pour ceux dont la caractéristique peut être considérée comme petite – en un sens que nous détaillons plus loin – les algorithmes par représentation de Frobenius sont à privilégier. Les articles qui traitent ce cas de Ægure sont les suivants :

2. [JP16b] Technical history of discrete logarithms in small charac-teristic Ænite Æelds. The road from subexponential to quasipoly-nomial complexity,

avec Antoine Joux,

Journal of Designs, Codes and Cryptography, 2016.

3. [JP14] Improving the Polynomial time Precomputation of Frobe-nius Representation Discrete Logarithm Algorithms : SimpliÆed Setting for Small Characteristic Finite Fields,

avec Antoine Joux,

0.4. CONTRIBUTIONS 39 Le premier [JP16b] propose de retracer l’historique technique des di érentes méthodes qui ont permis d’obtenir une complexité dite quasipolynomiale, c’est-à-dire en log(pn). Le second [JP14] présente quant à lui une variante simpliÆée d’un algorithme par représentation de Frobenius. En plus de faire abstraction de détails techniques devenus inutiles, l’apport de nouvelles idées concernant la collecte des relations permet d’abaisser la complexité des phases polynomiales de l’algorithme de O(q7) à O(q6), où q est une puissance de p très inférieure à pn qui correspond à la cardinalité du corps de base. En pra-tique, soulignons que ces phases, bien que polynomiales et non quasipolyno-miales, demeuraient le frein majeur des di érents records de calcul e ectués jusqu’à lors. La simpliÆcation des paramètres comme nous la proposons per-met de redescendre la complexité asymptotique d’un calcul de logarithmes discrets dans un corps Æni général à celle connue jusqu’ici pour les extensions particulières de Kummer, ou de Kummer tordues. Nous illustrons ce résultat par un calcul de logarithme discret en caractéristique3 : il s’agit de F35⇤497, un corps Æni qui n’est pas l’extension particulière d’un autre sous-corps, comme l’était les corps cibles précédemment atteints.

Lorsque la caractéristique devient plus large, les meilleurs algorithmes reposent sur des variations du crible par corps de nombres (NFS, pour Number

Field Sieve en anglais). Trois publications portent sur cet ensemble de corps

Ænis :

4. [BP14] The Multiple Number Field Sieve for Medium and High Characteristic Finite Fields,

avec Razvan Barbulescu,

LMS Journal of Computation and Mathematics et présenté à ANTS XI, 2014, Corée du Sud.

5. [Pie15] The Multiple Number Field Sieve with Conjugation and Generalized Joux-Lercier Methods,

Eurocrypt 2015.

6. [JP16a] Nearly Sparse Linear Algebra, and Applications to Dis-crete Logarithms Computations,

avec Antoine Joux,

Review Volume, Contemporary Developments in Finite Fields and

Appli-cations, 2016 © World ScientiÆc Publishing Company.

Le premier [BP14] propose de n’utiliser non plus deux corps de nombres, comme dans le cas du crible NFS classique, mais un grand nombre. Cette idée permet d’améliorer les complexités asymptotiques des algorithmes aussi bien pour les corps Ænis de moyenne que de grande caractéristiques. Le deuxième article [Pie15], présente quant à lui une manière de combiner cette idée avec

une nouvelle sélection polynomiale apparue entre-temps. Le tout résulte une nouvelle fois en un gain asymptotique, applicable cependant pour les corps Ænis de moyenne caractéristique seulement. Pour ces corps qui incarnent en revanche le cas le plus di cile des trois catégories de corps Ænis considérés dans notre problème, nous montrons qu’il faut asymptotiquement accroitre la taille en bits des corps considérés de 6 % pour prétendre à un niveau de sécurité équivalent à celui que l’on pouvait atteindre avant la découverte de cet algorithme.

Le troisième et dernier article [JP16a] qui intervient pour cette double plage de caractéristiques a en réalité un impact plus large que le simple calcul de logarithme discret. Si l’algèbre linéaire, comme souvent, agit dans les sou-bassements de la cryptographie, la nature même des équations que l’on ren-contre dans notre domaine présente en revanche quelques spéciÆcités. Ainsi sommes-nous couramment confrontés au traitement de systèmes d’équations linéaires dont la majorité des entrées sont nulles, systèmes dont les matrices associées sont alors qualiÆées de matrices creuses. [JP16a] élargit l’étude clas-sique aux matrices presque creuses, caractérisées par la concaténation d’une matrice creuse et d’un plus ou moins grand nombre de colonnes denses, di-sons @. Si y est un vecteur Æxé, nous cherchons donc à résoudre le système :

A.x = y

où A est une matrice presque creuse, éventuellement rectangulaire, dont la dimension la plus large est notée N.

Isoler les colonnes denses de la matrice A permet d’obtenir une complexité asymptotique en O(`N2) + ˜O(max(@, c)! 1N ), avec ` le nombre maximum

d’entrées non nulles par ligne dans sa partie creuse, c le nombre de proces-seurs à disposition, et ! l’exposant le plus bas obtenu dans la complexité de la multiplication de deux matrices. Ceci abaisse alors la complexité actuelle du problème, résolue jusqu’ici par Block Wiedemann en O((`+@)N2)+ ˜O(c! 1N )

opérations. Par ailleurs, et contrairement aux algorithmes précédents, nous montrons sous des conditions précises de choix des vecteurs initiaux que notre méthode permet non seulement de produire une solution aléatoire du système, mais décrit une base complète de l’ensemble des solutions.

Un fait notable est le suivant : lorsque le nombre de colonnes denses est inférieur au nombre de processeurs, ces colonnes denses ne coûtent rien ! Cette remarque est utile dans la mesure où ce cas particulier se présente précisément pour le calcul de logarithmes dans des corps de moyenne ou grande caractéristiques. [JP16a] permet ainsi d’accélérer la résolution d’une des trois phases du crible par corps de nombres, qui consiste précisément en la recherche d’un élément non trivial du noyau d’une telle matrice, dont le

0.4. CONTRIBUTIONS 41 nombre de colonnes denses est en pratique toujours plus petit que le nombre de processeurs dont on peut disposer.

Un quatrième article traite aussi du sujet dans le cas particulier où la caractéristique (moyenne ou grande) peut de surcroit être considérée comme creuse. Néanmoins, ce résultat n’apparait pas dans cette thèse car il a déjà fait l’objet de mon manuscrit de master.

7. [JP13] The Special Number Field Sieve in Finite Fields, Applica-tion to Pairing-Friendly ConstrucApplica-tions,

avec Antoine Joux,

Pairing 2013.

De la même manière, j’ai choisi de ne pas traiter un résultat récent, qui, quoiqu’écrit pendant ma thèse et toujours en cryptographie, se situe dans un cadre trop lointain des logarithmes discrets. Par souci de cohérence il n’est donc donné aucun détail à son sujet dans le corps de ce manuscrit. A titre informatif tout de même, il s’agit de l’article suivant :

8. [PW16] Malleability of the Blockchain’s Entropy, avec Benjamin Wesolowski,

Présenté à ArcticCrypt Conference 2016, en cours de publication.

La génération de nombres aléatoires publics et Æables est nécessaire à de nombreux protocoles de cryptographie. Une idée suggérée parmi d’autres consisterait à s’appuyer sur l’imprédictabilité inhérente des chaines de blocs pour bâtir une source publique d’aléa. C’est ici qu’interviennent les monnaies électroniques décentralisées, comme le Bitcoin. En e et l’entropie de la chaine du registre public sous-jacent au Bitcoin a par exemple été utilisée pour créer des lotteries, puis proposée par la suite pour d’autres applications variant de la rédaction de contrats intelligents à l’audit d’élections. La malléabilité de l’entropie des chaines de blocs montre cependant qu’un adversaire peut ma-nipuler ces nombres aléatoires, même s’il celui-ci est tenu par des contraintes Ænancières étroites et qu’il ne dispose que d’une puissance de calcul limitée. Dans [PW16] nous analysons la probabilité de succès d’un adversaire mal-veillant en fonction de ces paramètres, pour conclure qu’une telle génération de nombres aléatoires publics est à rejeter tout à fait. En passant, cette ana-lyse propose une nouvelle illustration des mots de Dyck tout en suscitant une généralisation de ceux-ci.

Dans le document Le logarithme discret dans les corps finis (Page 39-42)