Home

TH`ESE - Loria

image

Contents

1. 76 44 Alg bre lin aire 54 he sus de de due ee LE Bed PE 4 a 77 4 5 Logarithmes individuels 77 4 6 Comparaison avec les calculs pr c dents 78 4 7 Tailles pouvant tre atteintes 78 4 8 De la gestion d un calcul distribu aspects techniques et sociologiques 79 48 1 Structure de la distribution des t ches 79 4 8 2 Gestion des n uds de calcul 82 4 8 3 Rassemblement des donn es 83 IT R solution de syst mes lin aires creux 85 5 Pr sentation du probl me 87 5 1 Alg bre lin aire rapide et alg bre lin aire creuse 87 5 1 1 N cessit d employer l algorithmique creuse y 87 5 1 2 Diff rents algorithmes existants 88 5 2 Pr conditionnement l limination structur e SGE 88 5 2 1 Utilisation des propri t s de structure 88 5 2 2 tapes de l algorithme us 26 ae sise Lean te hap au i 89 5 2 3 Comparaison de l int r t des op rations 90 5 2 4 Lien avec l tape suivante 90 5 2 5 Nature des coefficients 91 5 2 6 plantation irae ia i es en ee nt A Rs en a 91 5 3 Algorithmes pour terminer la r solution 92 ix 5 3 1 L
2. Sommets 87073 945 Ar tes relations 61058174 Relations ff 221 368 Relations pf fp 6 083 209 Cycles obtenus 856 145 Taille du plus grand cycle ar tes 40 Taille de la composante connexe g ante ar tes 22 226 085 Taille de la seconde plus grande composante connexe majorant 167 Table 3 2 Donn es globales du graphe pour Fo607 On choisit une m thode de num rotation des large primes par exemple en prenant les bits du polyn me et une m thode de num rotation des relations par exemple leur position dans un fichier sur le disque dur On s arrange pour qu un large prime soit num rot avec 5 octets au plus et une relation avec 4 octets au plus Choix d une fonction de hachage Les sommets constituent le point d entr e du graphe chaque sommet est donc associ un emplacement dans la table de hachage Cet emplacement doit tre unique Si la table de hachage est vue comme un tableau de listes on veut une fonction de hachage telle que Vinformation concernant le large prime num rot L soit dans la liste index e par h L La pr sence d une telle information permet de d terminer si le sommet est de degr non nul ou pas L information stocker pour chaque sommet est une identification de son parent L par exemple ainsi que le num ro de la relation qui les relie R Pour les sommets qui sont des anc tres on peut choisir de prendre L L On voit que si l on place dans la l
3. Table 3 5 R partition de la taille des composantes connexes 3 2 Sans crible tests de friabilit 51 0 8 0 6 0 4 Proportion des ccs de taille 1 i i fog A ns 0 2 Tailles2 10 Soy 1e 07 2e 07 3e 07 4e 07 5e 07 6e 07 Figure 3 6 Effondrement des composantes connexes taille 1 11 et plus 3 1 5 Alternatives Apr s l emploi d un large prime de deux large primes on est bien s r tent de g n raliser le sch ma pour prendre en compte un nombre arbitraire mais qui reste born de large primes Cette id e a t mise en uvre dans DL95 et surtout dans Cav00 Cav02 avec le principe des k merges plusieurs relations en nombre k par exemple ayant en commun un m me large prime peuvent tre fusionner pour former k 1 relations o ce large prime est absent L adaptation notre cadre de ces techniques n est pas imm diate en effet l importance des exposants dans les relations est bien plus grande que pour les relations de factorisation o ceux ci sont seulement consid r s modulo 2 Il en r sulte une croissance globale des exposants des relations qui doit tre contr l e 3 2 Sans crible tests de friabilit l origine la m thode propos e par Coppersmith et qui para t la plus naturelle au vu de la description de l algorithme effectu e au chapitre pr c dent repose sur un test de friabilit efficace On rappelle l nonc de la
4. 114 6 3 5 Correction de BW 115 6 3 6 Complexit de BW 116 7 Sch mas d implantation pour un passage l chelle 119 71 grande chelle distribution du calcul 119 Pl Btape BWL rerai an Ea a ete ale ce th eras ee des 119 TEZ Etape BW 2 int ate Pat ans yb eee ia e ok ae a 8 a S 120 T3 Etape BW3 oner oe oe ube eee Ee Gate hol Rav 121 7 2 A petite chelle parall lisation 121 7 2 1 Produit matrice X vecteur r partition sur plusieurs processeurs 121 7 2 2 Synchronisation des processeurs 122 7 2 3 Mise au point de la synchronisation 124 PE ND Ne siega RS 126 7 2 5 Portabilit performance 126 7 3 Tol rance aux pannes r cup ration 127 8 Calcul sous quadratique de g n rateurs lin aires pour des s quences de matrices 129 8 1 Pr sentation du probl me 129 8 2 Algorithmes classiques 131 8 2 1 L algorithme classique de Berlekamp Massey dans le cas scalaire 131 8 2 2 D algorithme d Euclide tendu 44424 sone ae es organe 134 8 3 Cas matriciel hypoth ses de g n ricit 139 8 4 L algorithme propos par Coppersmith 141 x Table des mati res BAe S
5. i Wk AVE ary w Awi Wi Cette derni re expression peut se simplifier k 1 Awi Awx_1 Wk Aw Wi k k 1 D w Awy i Cr Awx_1 Awy _2 AWk_1 Wk 2 wr_1 Awz 1 wr_2 Awyg 2 On a pu simplifier l expression r currente de wz grace aux relations d orthogonalit qu ils satisfont ainsi que l galit des sous espaces vectoriels engendr s wo Wk v Av AFv On peut bien s r normaliser les vecteurs wg chaque tape pour ne pas avoir traiter des produits scalaires inutiles 96 Chapitre 5 Pr sentation du probl me Justification Quels peuvent tre les probl mes rencontr s par la m thode On a vu que le proc d chouait lorsqu il trouvait un vecteur auto orthogonal Si x est un tel vecteur cela signifie xl Ax Bx Bx 0 Comme le corps de base sur lequel nous travaillons est un corps fini et non pas R ou C cela n implique pas que le vecteur Bx est nul On peut n anmoins consid rer que c est le cas si K est un corps de grande caract ristique On a alors un vecteur x du noyau de B Il se peut maintenant que le vecteur x obtenu soit nul C est impossible tant que 7 n exc de pas la dimension du sous espace de Krylov dans lequel on travaille mais par la suite si A n est pas singuli re sur ce sous espace le seul vecteur du noyau qui peut tre obtenu de cette facon est le vecteur nul Ces deux possibilit s d chec rendent l algorithme
6. Compaq Computer Corporation Testdrive program Boston USA La machine moyenne que nous avons utilis e pour la phase BW1 est celle qui a le plus contribu aux calculs il s agit d une machine du LIX de type Compaq DS20E 2 micropro cesseurs alpha ev67 667MHz Sur cette machine le temps d un produit matrice x vecteur est de 15 secondes Si l on exprime le temps de la phase BW1 en fonction de cette donn e sur un parc fictif de 8 machines identiques on arrive donc un temps de calcul de 20 jours Le temps de calcul r el de la phase BW1 a t un peu sup rieur un mois en raison des charges importantes des autres machines qui ont pris part au calcul 9 3 Obtention du g n rateur lin aire Le calcul de g n rateur lin aire a t effectu sur la machine alpha DS20E du LIX dont on vient de parler Ce calcul a demand six jours de travail en n utilisant qu un seul des deux processeurs en utilisant l algorithme sous quadratique que nous avons d velopp et pr sent dans le chapitre 8 Le degr du g n rateur lin aire que l on a ainsi obtenu est de 60013 La structure r cursive de l algorithme sous quadratique du chapitre 8 a fonctionn plein r gime En effet le threshold entre l algorithme quadratique et l algorithme r cursif se situe au degr 600 Le degr de A X tant 120 032 on comprend que le gain repr sent par l utilisation de l algorithme r cursif est norme Neu
7. 1 3 Cryptographie fond e sur l identit 1 3 1 Le syst me de chiffrement de Boneh et Franklin 1 3 2 Distribution de clef non interactive 1 3 3 Importance du logarithme discret 2 Logarithme discret et cryptanalyse 2 1 L algorithme de Pohlig Hellman 2 2 Les algorithmes exponentiels 2 3 L algorithme d Adleman 2 3 1 Pr sentation des algorithmes de calcul d index 2 3 2 Pr sentation de l algorithme d Adleman 2 3 3 Analyse de l algorithme d Adleman 2 3 4 Am liorations de l algorithme d Adleman 2 4 L algorithme de Coppersmith 2 4 1 2 4 2 Analyse 2 4 3 Choix des param tres 2 5 Le crible de corps de fonctions FFS 3 Techniques pour l algorithme de Coppersmith 3 1 L emploi de large primes 3 1 1 3 1 2 3 1 3 3 1 4 3 1 5 Single large prime variation 4e de Glee REG te dard Double large prime variation Consid rations d implantation Mesures statistiques 3 2 Sans crible tests de friabilit 2 4 vil 17 17 19 23 23 24 25 27
8. 5 1 1 N cessit d employer l algorithmique creuse On peut se demander si cette caract ristique impose ou non l emploi d une certaine ca t gorie d algorithme En effet des algorithmes efficaces permettent de r soudre des syst mes lin aires sans tenir compte de ce caract re creux notamment en utilisant la m thode de fac torisation r cursive et l algorithme de multiplication rapide de Strassen Str69 de complexit O N 8 La complexit th orique que l on peut atteindre pour la r solution de syst mes lin aires par ce type de proc d est reli e a la complexit de la multiplication de matrices Si cette derni re est O N on peut r soudre des syst mes lin aires par factorisation r cursive en temps O N log N la meilleure valeur de w connue ce jour tant 2 376 pour l algorithme de Coppersmith Winograd On s interroge g n ralement sur la pertinence pratique des algorithmes asymptotiquement rapides de multiplication de matrices car la constante du O est importante Toutefois il est faux de croire que le plus simple de ces algorithmes l algorithme de Strassen est de port e exclusivement th orique Knu98 sec 4 6 4 Dans le programme MAGMA il se r v le meilleur que l algorithme classique pour des matrices de taille 32 x 32 coefficients entiers Face ces m thodes denses il existe des algorithmes qui tirent parti du caract re creux des matrices trait es En term
9. 500MHz il faudrait seulement trois jours ce supercalculateur pour effectuer les calculs que nous avons La puissance annonc e de chacun de ces 5120 processeurs est de 8 gigaflops L quivalent gigaflop d un PC n tant pas une donn e tr s claire notre estimation est peut tre pessimiste d un certain facteur mais la n est pas la question 4 8 Technique et sociologie 79 men s en un an Et le temps pour effectuer l alg bre lin aire se compterait vraisemblable ment en jours aussi Notre calcul peut donc tre dans le domaine de la routine pour qui manipule une telle puissance de calcul Si munie d une telle puissance une institution veut calculer des logarithmes discrets et y passer un peu de temps elle peut sans doute atteindre des tailles de l ordre de F700 Le r sultat obtenu par Joux et Lercier JLO1 en calculant des logarithmes discrets dans F521 est particuli rement prometteur En effet il d montre la port e pratique de l algorithme FFS qui est apparemment substantiellement plus performant que l algorithme de Coppers mith Des calculs dans F607 avec cet algorithme pourraient tre effectu s avec moins de calculs que ce que l on a entrepris Pour des calculs plus avanc s c est certainement l algorithme FFS qui devra tre pr f r l avenir 4 8 De la gestion d un calcul distribu aspects techniques et sociologiques 4 8 1 Structure de la distribution des t
10. POLYTECHNIQUE TH SE pr sent e pour obtenir le grade de DOCTEUR DE L COLE POLYTECHNIQUE Sp cialit INFORMATIQUE par Emmanuel THOM Titre de la th se ALGORITHMES DE CALCUL DE LOGARITHMES DISCRETS DANS LES CORPS FINIS Soutenue le 12 mai 2003 devant le jury compos de M Joachim von zur GATHEN Pr sident MM Thierry BERGER Rapporteurs Don COPPERSMITH MM Xavier ROBLOT Examinateurs Nicolas SENDRIER Gilles VILLARD Fran ois MORAIN Directeur LABORATOIRE D INFORMATIQUE FRE CNRS n 2653 cole polytechnique 91128 Palaiseau Cedex FRANCE Aux jours venir Version dat e du 12 septembre 2003 Remerciements La premi re personne que je souhaite remercier est Fran ois Morain qui a accept d tre mon directeur de th se et qui m a encadr depuis mon stage de DEA Il s est toujours montr d une grande disponibilit Il a en particulier toujours accept de porter son regard justement critique sur les crits plus ou moins lisibles que je lui confiais Je lui dois les nombreux enrichis sements que m ont apport s ces ann es de th se Sa bonne humeur en a fait un apprentissage agr able Je tiens remercier les membres de mon jury d avoir accept d valuer mon travail et de s y tre int ress Je remercie tout particuli rement Joachim von zur Gathen d avoir assum le r le important de pr sident du jury Il a dirig le d roulement de la soutenance avec une grande effic
11. Sho97 D finition 2 3 Groupe g n rique Pour un groupe fini G de cardinal n on fait les hypoth ses minimales suivantes On suppose qu il existe un entier a gt 0 tel que Les l ments de G sont repr sent s de fa on unique sur O logn bits Les op rations dans le groupe G multiplication inversion se calculent en O logn Le cardinal du groupe G est connu Cette hypoth se n est pas tout fait anodine Elle est n anmoins satisfaite pour l immense majorit des groupes rencontr s en cryptologie l exception possible des groupes de tresses 20 Chapitre 2 Logarithme discret et cryptanalyse Dans bien des cas la valeur minimale possible de a est diff rente dans les deux conditions mentionn es ci dessus mais pour la pr sentation que l on fait ici cela importe peu Il convient de noter que dans certains cas les l ments peuvent tre avantageusement repr sent s de fa on non unique pour tre r duits tardivement Quitte incorporer cette r duction dans la complexit des op rations de groupe cette situation est incluse dans notre mod le Nous pr sentons ici deux m thodes en temps O n pour la r solution du probl me du logarithme discret et une troisi me qui pr sente l avantage d tre ais ment distribuable Baby step giant step L algorithme dit baby step giant step a t introduit par Shanks en 1971 Sha71 l origine pour d terminer la struct
12. Tho02a Tho02b Vil97 WD98 Wie86 Zim98 J H SILVERMAN The arithmetic of elliptic curves Grad Texts in Math volume 106 Springer Verlag 1986 N SMART The discrete logarithm problem on elliptic curves of trace one J of Cryp tology 12 3 193 196 1999 V STRASSEN Gaussian elimination is not optimal Numer Math 13 354 356 1969 E TESKE On random walks for Pollard s rho method Math Comp 70 234 809 825 Apr 2001 E THOME Fast computation of linear generators for matrix sequences and application to the block Wiedemann algorithm Dans B MOURRAIN diteur ISSAC 2001 pages 323 331 ACM Press 2001 Proc International Symposium on Symbolic and Algebraic Computation July 22 25 2001 London Ontario Canada E THOME Computation of discrete logarithms in F2607 Dans C Boyp et E DAWSON diteurs Advances in Cryptology ASIACRYPT 2001 Lecture Notes in Comput Sci volume 2248 pages 107 124 Springer Verlag 2001 Proc 7th International Conference on the Theory and Applications of Cryptology and Information Security Dec 9 13 2001 Gold Coast Queensland Australia E Tom Discrete logarithms in GF 2607 E mail sur la liste NMBRTHRY Disponible Vadresse http listserv nodak edu archives nmbrthry html Feb 2002 E THOME Subquadratic computation of vector generating polynomials and impro vement of the block Wiedemann algorithm J Symbolic Comput 33 5 757 775 Jul 2
13. Z E on consid re les identit s comme tant des entiers et lautre H F Z 2w7 o w est le nombre de bits des messages transmis Les identit s d Alice et Bob sont not es respectivement ID et IDp Outre la courbe E et les diff rentes grandeurs associ es ainsi que les fonctions Hy et H les param tres du syst me comprennent deux points P et Q de E Ces deux points sont 14 Chapitre 1 Logarithme discret et cryptographie publiquement connus Le point Q est fabriqu sous la forme Q sP o s est un entier gard secret il n est connu que de l autorit PKG qui fournit les clefs priv es Trois phases distinctes interviennent dans le sch ma Dans la premi re Bob obtient sa clef priv e de l autorit PKG Dans la seconde on d crit l algorithme de chiffrement d un message envoy par Alice Bob Enfin on d crit comment Bob d chiffre le message Nous allons voir que les deux premi res phases n entretiennent aucun lien chronologique obligatoire Pour obtenir sa clef priv e Bob en fait la requ te aupr s de l autorit PKG Cette autorit v rifie l identit IDZ de Bob et fournit Bob sa clef priv e qui est le point SB sH IDp Pour envoyer un message Bob Alice a juste besoin de conna tre les param tres g n raux du syst me et l identit IDg de Bob Notons m le message form de w bits Alice calcule y e H IDg Q ainsi qu un entier al atoire r Z et transme
14. effectuer lors de la premi re phase de l algorithme de Coppersmith consiste examiner un grand nombre de paires A B et de d terminer parmi ces paires lesquelles donnent lieu des polynomes C et D friables Puisque la probabilit de friabilit est tr s faible nous devons tester un tr s grand nombre de paires parmi lesquelles seule une infime proportion est r ellement int ressante Dans ce contexte on peut avantageusement mettre en uvre une technique de crible Nous savons que l valuation de la friabilit de C permet elle seule d effectuer un tri drastique parmi les paires Le crible permet d effectuer ce tri moindres frais Plut t que d examiner les diff rents polyn mes C possibles les uns apr s les autres et d valuer leur friabilit c est dire la contribution des petits facteurs dans leur factorisation le principe du crible est de travailler en premier lieu sur les petits facteurs Pour un petit polyn me irr ductible g on veut identifier les paires A B telles que le polyn me C AX B est divisible par g Cela revient r soudre tout simplement la congruence B AX mod g Les contraintes sp cifiques notre probl me sont les suivantes L espace des paires A B est de taille colossale 2 paires pour le cas de F607 On le consid re donc par tranches o A est fix Alors B est un polyn me de degr compris entre 0 et dg L ensemble des polyn mes B est donc de tai
15. espace des polyn mes sur F de degr lt deg P 1 on conclut que la dimension de cet espace est m L algorithme de Niederreiter proc de en crivant l quation HP H sous forme d un syst me lin aire homog ne d fini sur F2 et en calculant une base de son espace de solutions Le syst me lin aire en question se r crit de la mani re suivante si l on note H UE hi X et P X opi X piho poh ho paho p2h1 pih2 pohs h Prhin 1 hin i Ceci revient dire que le vecteur h ho hn 1 est solution du syst me Mh h o M est la matrice binaire suivante Py Po P3 P2 P Po 0 M 0 Pn Pn 1 Pn 2 Pn Du point de vue de la programmation la mise en place de la matrice M est tr s facile et le calcul d une base du noyau de M se fait rapidement on tire parti de la repr sentation binaire de telle sorte que les op rations de lignes se ram nent essentiellement des op rations logiques sur les mots machines S paration des facteurs Une fois qu une base de l espace des polyn mes H solutions de HP H est cr e il faut en d duire la factorisation de P Pour cela on doit calculer un certain nombre de pgcd Comme c est une op ration qui en certains cas peut s av rer assez co teuse on essaie de restreindre autant que faire se peut le nombre de pgcd calculer ce nombre s l ve m si l on applique Valgorithme tel que d crit dans Nie93b ou G6t94 Un pro
16. for i 0 i lt deg F k v Bo v vt 2 X F if v 0 for k 0 k lt 1 l k u Bv if u 0 return v v u return FAILED Improbable Programme 6 2 Algorithme de Wiedemann par blocs 6 3 5 Correction de BW La pr sentation des valeurs attendues des param tres s et d ainsi que la justification de l existence d un vecteur du noyau laisse quelques zones d incertitude Nous devons les lever pour garantir que l algorithme tel qu on le pr sente dans le programme 6 2 produit un r sultat non trivial Pour discuter de ces diff rents points nous introduisons quelques notations Notation 6 11 Ky B B y je L n k 0 r 1 et K B K By Ka BT 0 BT Fri ie 1 m k 0 r 1 et K BT K BT C Nous avons fait les hypoth ses suivantes dim rfv ve K B dim rfv ve K B m dim Kz BT dimK B1 9 d finition de d et d weK B Vue K BT utu 0 0 pour B v 0 Par ailleurs nous n avons pas donn de condition permettant de garantir que le vecteur v produit est non nul Remarquons que la derni re des conditions que l on vient d num rer est plus subtile que la simple assertion dim BT N En effet nous pouvons nous satisfaire de cette formulation plus pr cise Pour faire l analogie avec l algorithme de Wiedemann simple la supposition tait bel et bien Hry Hy et non pas z Bir 3 KV qui es
17. gale d la contribution des polyn mes irr ductibles dont le degr est dans un sous ensemble de 1 b est plus dispers e Pour capturer une proportion raisonnable des polyn mes C friables au cours du crible on doit donc placer la borne de qualification relativement bas d autant plus bas que l cart type de la contribution est lev Si la borne de qualification est plac e trop bas alors de tr s nombreux polyn mes C sont qualifi s Par cons quent la proportion des polyn mes friables parmi ceux ci est de plus en plus faible tendant la limite vers la probabilit de friabilit auquel cas le crible un pouvoir de s lection nul Ces deux effets sont clairement antagonistes Nous allons voir comment il est possible de les quilibrer et de bien choisir la borne de qualification afin de maintenir le pouvoir de s lection du crible La figure 3 8 consigne quatre exemples de r sultats obtenus en valuant les deux effets cit s en fonction du choix de la borne de qualification Dans chaque cas on s est int ress la 23 friabilit d un polyn me al atoire de degr 178 Les mesures sont effectu es pour un crible complet d abord puis pour trois versions de crible partiel o l on a cribl seulement pour les polyn mes irr ductibles g de degr compris entre 10 et 20 pour le deuxi me 10Par cons quent comme le polyn me C n est pas un polyn me al atoire ces distributions doivent
18. mettre en vidence dans le cas des corps finis de caract ristique 2 sur lesquels nous allons nous concentrer On peut avoir aussi des situations plus g n rales o une notion d l ment friable appara t EG02 Par sous exponentiel on entend un algorithme dont le temps de calcul a pour expression Lr a c ou T est la taille de l entr e Pour le cas d un calcul de logarithmes discrets dans un groupe G de cardinal n cette taille est log G donc on s int resse l expression Liog 6 a c La fonction L qui intervient ici a d j t d finie au chapitre pr c dent Nous rappelons qu elle correspond plus exactement une classe de fonctions qui s crit comme suit Liog 6 a c O exp c 1 o 1 log G log log 6 J Afin de ne pas alourdir l expos avec des notations superflues on emploiera la notation L pour noter les complexit s rencontr es en gardant l esprit qu il s agit la d une classe de fonctions Les algorithmes mentionn s dans cette section sont sous exponentiels avec une complexit Liog G 5 c pour l algorithme d Adleman et Lise G GG c pour l algorithme de Coppersmith et le function field sieve FFS D autres algorithmes sous exponentiels existent par exemple le crible alg brique pour la factorisation d entiers factorisant l entier N en Liog N 4 c ou son analogue pour le logarithme discret de m me complexit Un algorithme de calcul d index exist
19. tel que deg U deg Qi lt lt deg Qi Pour cette valeur on d duit en utilisant l invariant que deg R lt deg U Si l on sp cialise ce r sultat aux valeurs qui nous int ressent arr ter ainsi le processus de l algorithme d Euclide au milieu de son chemin permet de mettre en vidence deux polyn mes Q et R tels que AQ R mod X deg Q lt N deg R lt N Cette propri t si l on sait qu il existe un g n rateur inconnu tel que 6 PA lt N nous permet de conclure en vertu du th or me 8 1 que AQ R sans modulo et donc que le polyn me Q est un g n rateur lin aire pour v rifiant en outre 6 Q AQ lt N On a donc d montr Proposition 8 2 Soit A K X poss dant un g n rateur inconnu tel que 6 DA lt N L algorithme d Euclide tendu appliqu X et A produit si on Varr te au milieu un g n rateur lin aire Q de A v rifiant 6 Q AQ lt N Une acc l ration sous quadratique de l algorithme d Euclide Arr ter l algorithme d Euclide au milieu comme nous le faisons ici est en fait le cas le mieux adapt une am lioration de la complexit L algorithme HGCD propos dans AHU74 et reformul dans GY79 permet de r duire cette complexit de O N O N log N Pour la mise en place d un algorithme sous quadratique on a besoin d introduire encore quelques notations qui n all gent bien s r pas l exposition mais sont
20. un processus parasite sur leur machine tait la cause de leurs difficult s charger une page web C est aussi d une fa on similaire dans un registre plus grave que l on a pu constater un comportement int ressant de la part de certains utilisateurs qui pour nettoyer ordinateur sur lequel ils souhaitent travailler commencent par en arracher la prise de courant Ils semblent ignorer h las deux points Ce n est d abord pas le mode d emploi normal d un ordinateur mais plut t d un aspirateur qui fonctionne diff remment et surtout ce genre de pratique se rep re assez facilement partir des traces g n r es par le syst me Devant ce genre de comportement hostile il est clair que la notion de priorit n est pas suf fisante Pour utiliser une machine sans craindre le d branchement sauvage une approche plus raisonnable aurait pu consister stopper agressivement les calculs d s l arriv e du moindre utilisateur H las une telle approche implique une chute consid rable du rendement des es claves car la pr sence d un utilisateur et l utilisation en terme de calcul de l ordinateur en question ne sont pas des v nements corr l s 4 8 3 Rassemblement des donn es L ensemble des fichiers de donn es rassembl s partir du travail des esclaves se compte par centaines de milliers pour un encombrement total d environ 10Go gigaoctets Au moment o ce calcul a t men aucun des
21. 1996 Proc 16th Annual International Cryptology Conference Santa Barbara CA USA August 1996 A MENEZES T OKAMOTO et S A VANSTONE Reducing elliptic curves logarithms to logarithms in a finite field IEEE Trans Inform Theory IT 39 5 1639 1646 Sept 1993 182 Bibliographie MvOV97 Mils7 Mon95 Mor93 Mor80 MB75 MPI Nec94 Nie93a Nie93b Odis5 vOW99 PTLS5 Pen98 PH78 Pol75 Pol78 Pol93 Pom82 A MENEZES P C VAN OORSCHOT et S A VANSTONE Handbook of applied crypto graphy CRC Press 1997 V MILLER Use of elliptic curves in cryptography Dans A M ODLYZKO diteur Ad vances in Cryptology CRYPTO 86 Lecture Notes in Comput Sci volume 263 pages 417 426 Springer Verlag 1987 Proc 7th Annual International Cryptology Conference Santa Barbara CA USA August 1986 P L MONTGOMERY A block Lanczos algorithm for finding dependencies over GF 2 Dans L C GUILLOU et J J QUISQUATER diteurs Advances in Cryptology EURO CRYPT 95 Lecture Notes in Comput Sci volume 921 pages 106 120 1995 Proc International Conference on the Theory and Application of Cryptographic Techniques Saint Malo France May 1995 F MORAIN Analyzing pmpqs Disponible l adresse ftp lix polytechnique fr pub submissions morain Preprints pmpqs ps Z 1993 Note informelle M Morr Doubling algorithms for Toeplitz and related equations Dans Pro
22. 2 dition 1988 I A SEMAEV An algorithm for evaluation of discrete logarithms in some nonprime finite fields Math Comp 67 224 1679 1689 Oct 1998 I A SEMAEV Evaluation of discrete logarithms in a group of p torsion points of an elliptic curves in characteristic p Math Comp 67 221 353 356 Jan 1998 A SHAMIR Identity based cryptosystems and signature schemes Dans G R BLAKLEY et D CHAUM diteurs Advances in Cryptology CRYPTO 84 Lecture Notes in Com put Sci volume 196 pages 47 53 Springer Verlag 1985 Proc Cryptology Workshop Santa Barbara CA USA August 19 22 1984 D SHANKS Class number a theory of factorization and genera Dans D J LEWIS diteur 1969 Number theory institute Proc Sympos Pure Math volume 20 pages 415 440 Amer Math Soc 1971 V SHOUP On the deterministic complexity of factoring polynomials over finite fields Inform Process Lett 33 261 267 1990 V SHOUP A new polynomial factorization algorithm and its implementation J Sym bolic Comput 20 4 363 397 1995 V SHOUP Lower bounds for discrete logarithms and related problems Dans W FUMY diteur Advances in Cryptology EUROCRYPT 97 Lecture Notes in Comput Sci volume 1233 pages 256 266 Springer Verlag 1997 Proc International Conference on the Theory and Application of Cryptographic Techniques Konstanz Germany May 1997 Sil86 Sma99 Str69 Tes01 Tho01a Tho01b
23. On arrive au nombre de multiplications scalaires suivant 2y 6 N o est introduit pour tenir compte des diff rentes op rations a priori peu co teuses men tionn es ci dessus 5 3 4 L algorithme de Lanczos par blocs La mise en place d une version par blocs de l algorithme de Lanczos a t effectu e si multan ment par Coppersmith Cop93 et Montgomery Mon95 EH96 Il m le la fois Vintroduction de blocs et une g n ralisation de la m thode de lookahead pr sent e dans PTL85 Lam96 combinant donc des b n fices th oriques et pratiques Nous d crivons ici la m thode propos e par Montgomery L algorithme de Lanczos par blocs est h las intrins que ment complexe et pr sent de mani re g n ralement peu clairante La pr sentation qui suit n chappe pas a cet aspect technique Le principe de l algorithme s nonce relativement ais ment plut t que de tenter d or thogonaliser une suite de vecteurs on fabrique une suite de sous espaces vectoriels Dans 5 3 Algorithmes pour terminer la r solution 97 la mesure du possible nous conservons dans notre pr sentation les notations utilis es dans Mon95 EH96 sans modifier toutefois les notations en vigueur dans ce m moire On se donne une matrice sym trique A de taille N x N d finie sur un corps K Un entier n est introduit conditionnant la taille des blocs L tude que l on m ne est toujours centr e sur la forme bili
24. Pour cela Alice et Bob s entendent au pr alable sur un groupe G dans lequel travailler et sur un g n rateur g de G Alice doit mettre en place une paire de clefs l une secr te priv e et l autre publique Comme clef secr te elle choisit un entier x al atoire Sa clef publique est alors y g Pour chiffrer le message m qu il souhaite envoyer on suppose que m est un l ment de G pour simplifier Bob choisit d abord un entier k al atoire premier avec n G Il calcule les deux l ments suivants de G a g et b my Le texte chiffr est alors la paire a b Pour d chiffrer le message m Alice calcule a b qui vaut exactement m Ce syst me de chiffrement repose sur la difficult du probl me suivant connaissant trois l ments g g et a calculer a Ce probl me est quivalent au probl me DH Nous avons d j mentionn que la difficult du probl me DH tait peu ou prou quivalente celle du probl me DL MW96 Mau94 On peut remarquer qu avec ce syst me le message chiffr sous la forme du couple a b est de taille deux fois sup rieure information transmise le message m C est un inconv nient du syst me 1 2 2 Le syst me de signature d ElGamal Un syst me de signature a aussi t propos par ElGamal ElG85 Nous sommes dans la situation o Alice souhaite signer un document de telle sorte que Bob puisse v rifier la signature Ils se mettent d accord sur G et g
25. Ry zts et Vy Ry zts j Par le calcul du produit matriciel 2 2 Myzts ollo zt U vV 2 2 On sait par construction que 5 est tel que Teats gt a gt Tys Calculer r cursivement Hyas es U V Ios U V Comme pr c demment on utilise le corollaire 8 5 pour r duire le degr des polyn mes consid r s La plus grande valeur possible de m est 2s deg U On utilise l identit Io gs U V Ho gs m U div X V div X s s m 138 Chapitre 8 Berlekamp Massey matriciel Algorithme PartialGCD Entr e Deux polyn mes U V dans K X deux entiers z et s tels que deg U gt z gt degV et s gt Sortie La matrice Hos U V deg U 2 function PartialGCD U V z s KP Parent U X KP 1 n Degree U assert z le n and z gt Degree V and s ge n 2 if s gt Degree V then return IdentityMatrix KP 2 elif s eq Degree V then return Matrix 2 2 KP 0 1 1 U div V end if m s n z pi_left PartialGCD U div X m V div X m z m Ceiling z s 2 m next Vector U V pi_left nU next 1 nV next 2 m 2 xs Degree nU pi_right PartialGCD nU div X m nV div X m Ceiling z s 2 m s m return pi_left pi_right end function Programme 8 2 Algorithme partial gcd sous quadratique Retourner Io s U V qui est le produit des deux matrices calcul es lors des appels r cursifs Le prog
26. Sho97 que les algorithmes pr sent s ici taient les meilleurs possibles 2 3 L algorithme d Adleman 23 Id alement bien s r un cryptosyst me est con u pour viter les attaques avanc es telles que celles qui seront d crites plus loin Reste donc pour effectuer la cryptanalyse de syst mes qui parviennent viter ces attaques le seul choix des m thodes en O n voqu es ici Par exemple Harley a cass de nombreux challenges CERTICOM en utilisant l algorithme de recherche de collisions d crit plus haut Cer Har Une cons quence du caract re g n rique des algorithmes d crits ici est que dans le cas du logarithme discret la force brute n est jamais la seule et meilleure attaque contre un cryptosyst me L emploi d un algorithme on O n comme ici est imm diatement plus efficace que O n En outre en employant l algorithme de Pohlig Hellman d crit en 2 1 on voit que si p est le plus grand facteur premier de n une borne sup rieure sur la complexit du logarithme discret dans un groupe de cardinal n est O p 2 3 L algorithme d Adleman 2 3 1 Pr sentation des algorithmes de calcul d index Les algorithmes sous exponentiels pour r soudre le probl me du logarithme discret appar tiennent tous la famille des algorithmes dits d index calculus Ces algorithmes reposent sur l existence d l ments friables dans le groupe consid r Cette notion est particuli rement fa cile
27. W LENSTRA JR diteurs The development of the number field sieve Lecture Notes in Math volume 1554 Springer Verlag 1993 A K LENSTRA H W LENSTRA JR M S MANASSE et J M POLLARD The number field sieve Dans A K LENSTRA et H W LENSTRA JR diteurs The de velopment of the number field sieve Lecture Notes in Math volume 1554 pages 11 42 Springer Verlag 1993 A K LENSTRA et M S MANASSE Factoring by electronic mail Dans J J QUISQUA TER et J VANDEWALLE diteurs Advances in Cryptology EUROCRYPT 89 Lecture Notes in Comput Sci volume 434 pages 355 371 Springer Verlag 1990 Proc Euro crypt 89 Houthalen April 10 13 1989 A K LENSTRA et M S MANASSE Factoring with two large primes Dans I B DAMGARD diteur Advances in Cryptology EUROCRYPT 90 Lecture Notes in Com put Sci volume 473 pages 72 82 Springer Verlag 1991 Proc Workshop on the Theory and Application of Cryptographic Techniques Aarhus Denmark May 21 24 1990 A K LENSTRA et M S MANASSE Factoring with two large primes Math Comp 63 208 785 798 Oct 1994 A K LENSTRA et E R VERHEUL The XTR public key system Dans M BELLARE diteur Advances in Cryptology CRYPTO 2000 Lecture Notes in Comput Sci volume 1880 pages 1 19 Springer Verlag 2000 Proc 20th Annual International Cryptology Conference Santa Barbara CA USA August 20 24 2000 R LIDL et H NIEDERREITER Finite fields En
28. algorithme de Coppersmith Par relation pp de partial partial on d signe les relations ayant deux cofacteurs a priori les deux cofacteurs apparaissent chacun d un c t mais on accepte aussi de traiter les cas o deux cofacteurs sont pr sents d un c t et aucun de l autre c t On peut voir les diff rentes relations partielles produites au cours de l algorithme comme des ar tes dans un graphe Les sommets du graphe sont tous les large primes possibles plus le sommet sp cial not 1 auquel sont reli s les large primes intervenant dans des relations pf ou fp La correspondance est la suivante k Il TI af gt pas d ar te relation ff k Q r TI rt gt ar te 1 Q relation pf k fr el gt ar te 1 Q relation fp k Q fr e gt ar te Q1 Q2 relation pp Il est possible de recombiner plusieurs relations pp pour produire une relation ff il faut pour cela que les ar tes correspondantes forment un cycle Toutefois cette condition n est pas suffisante car des multiplicit s interviennent dans les relations Consid rons un cycle en toute g n ralit soient k relations R1 R amp faisant intervenir k large primes Q1 Qk o dans R interviennent les large primes Q et Qi 1 Qk et Q pour Rg avec les multiplicit s respectives m et m La relation Ha R fait intervenir les large primes avec les multiplicit s suivantes Q multiplicit 61 aim
29. algorithme s inscrivant dans le mod le de bo te noire est l algorithme de Wiedemann que nous d crirons au chapitre 6 L algorithme de Lanczos par lequel nous allons commencer n cessite extension suivante du mod le autoriser le calcul du produit v BTv Aussi bien dans la th orie que dans la pratique cette op ration est effectivement intimement li e au produit v Bv si l on voit la bo te noire comme un circuit la multipli cation par la transpos e s obtient en renversant le circuit Dans le cas qui nous concerne celui des matrices creuses ce renversement est r ellement ais et la m me repr sentation en m moire de la matrice B suffit aux deux op rations 5 3 2 Introduction de blocs Les algorithmes sur les matrices creuses qui s inscrivent dans le mod le de bo te noire peuvent b n ficier d une fa on g n rique de l introduction de blocs Par extension d un vec teur que l on voit comme une matrice N lignes et une colonne on appelle bloc de vecteurs une matrice de taille N x n o n est un petit entier Une g n ralisation par blocs d un al gorithme d alg bre lin aire consiste lorsqu il s agit d algorithmes reposant uniquement sur le produit matrice x vecteur consid rer maintenant comme primitive la multiplication par un bloc de vecteurs 94 Chapitre 5 Pr sentation du probl me Pour tre rentable une telle g n ralisation doit permettre une r duction du no
30. en 3 2 est bien s r frappante Si une m thode par DDF tait pertinente pour notre probl me et si la t che de factorisation correspondante tait d importance critique mais on a vu que ce n tait pas r ellement le cas le recyclage partiel d informations s av rerait vraisemblablement int ressant entre le test de friabilit et la DDF 3 8 D termination de logarithmes individuels Nous d crivons ici les aspects algorithmiques du calcul des logarithmes individuels qui peut tre men une fois que les logarithmes des l ments de la base de facteurs sont connus Nous avons rapidement d crit page 30 la m thode employ e propos e par Coppersmith Cop84 Nous entrons ici dans les d tails plus pr cis notamment en vue de l utilisation pratique 70 Chapitre 3 Techniques pour l algorithme de Coppersmith 3 8 1 Complexit r elle et pratique Nous avons vu page 33 que pour des calculs dans F n une fois la base de facteurs obtenue la complexit du calcul tait sous exponentielle de la forme 1 1 f4log2 5 1 E N ES SRE DT j BE 5 087 Cette complexit est nettement inf rieure la complexit des autres tapes de l algo rithme Par cons quent les calculs qu elle n cessite sont de bien moindre ampleur que ceux des deux premi res phases ce qui explique qu on les consid re comme n gligeables lors de l tablissement de records Cop84 BMV85 GM93 Tho01b Pour le calcul de logarithmes discrets dans
31. en partie cause des raisons sp cifiques la gestions des esclaves que nous d taillons en 4 8 2 Outils g n riques de calcul distribu Aujourd hui la pierre d angle de bon nombre de calculs distribu s est la biblioth que MPI destin e aux communications entre processus MPI Cette biblioth que a pris le relais de PVM De nombreux outils d optimisation et de diagnostics existent pour les applications utilisant ces biblioth ques Pour les calculs distribu s que nous avons men s nous avons n an moins pr f r notre approche maison l emploi de ces biblioth ques La raison principale de ce choix est l importance de la tol rance aux d connexions des diff rentes machines pre nant part au calcul ainsi que la r sistance l existence de machines pare feu firewall s parant les diff rents r seaux utilis s Par ailleurs on a estim que le gain ventuel repr sent par l usage de MPI compar la place peu critique tenue par les communications dans ce calcul ne justifiait pas pleinement l emploi d une biblioth que ext rieure 82 Chapitre 4 Record de logarithmes discrets F607 4 8 2 Gestion des n uds de calcul Dans un calcul distribu il faut savoir g rer les n uds de calcul ici appel s esclaves C est facile quand le nombre d esclaves est de l ordre de la dizaine Quand il est de l ordre de la centaine la t che est plus ardue Pour s enqu rir de la bonne s
32. es r duit le probl me DL sur la courbe au probl me DL dans une extension du corps de base K Une tude sur la difficult du calcul de logarithmes discrets dans les corps finis permet donc aussi de juger de la port e pratique de ces attaques Au del des courbes elliptiques il est possible d utiliser des courbes alg briques plus g n rales Ainsi les jacobiennes des courbes hyperelliptiques Kob89 Gau00b sont une g n ra lisation naturelle Elles pr sentent des avantages et des inconv nients sp cifiques 1 2 Cryptosyst mes utilisant le logarithme discret Outre le protocole d change de clefs de Diffie Hellman que nous avons d j vus le loga rithme discret se pr te diverses utilisations cryptographiques MvOV97 Nous d crivons ici quelques uns de ces cryptosyst mes de telle sorte que l on puisse les mettre en uvre dans n importe quel groupe appropri 1 2 1 Le syst me de chiffrement d ElGamal Malgr leurs tentatives Diffie et Hellman ne sont pas parvenus en 1976 b tir un syst me de chiffrement clef publique autour du probl me du logarithme discret Apr s quelques essais infructueux de mise en place de tels cryptosyst mes recens s dans Od185 c est seule ment en 1985 qu un syst me de chiffrement praticable utilisant le logarithme discret a t propos par ElGamal EIGS85 Ce syst me repose sur le principe suivant Supposons que Bob souhaite envoyer un message chiffr Alice
33. ig ae ue 1 ue wh tuti 1 i er lI 1 u e 1 L esp rance du nombre de large primes distincts apparaissant parmi les n premi res relations partielles s obtient donc en d rivant par rapport u n 2 alni u 1 Le nombre de recombinaisons possibles M partir de ces n relations partielles est alors donn 1Cette relation recombin e est en revanche deux fois plus lourde qu une relation classique Nous revien drons sur l influence de ceci sur la phase d alg bre lin aire Cet aspect peut tre visualis par la figure 5 1 en page 89 3 1 L emploi de large primes 43 par la relation M n n z UG u Ou AR n n z gt a 7 1 ePi 1 i l GAi n n z D eU pi z ePiz 1 i 1 n n DD e pomine i 1 n 1 p i 1 Pour obtenir l estimation de Mn on d veloppe les premiers termes de l expression 1 p On obtient ainsi m 1 M n J 1 14 mp 50w i 1 S My gt e Dans cette expression le terme correctif reste petit tant que n est petit devant m La v ri 2 fication est p nible mais on peut montrer que dans le cas uniforme si n lt we alors l erreur est born e par 1 Cette plage d approximation couvre largement le domaine d utilisation vis Si la distribution de probabilit est plus d s quilibr e l esp rance M est sup rieure mais la pr cision
34. ils sont habitu s ainsi que sur une fonction 12 Chapitre 1 Logarithme discret et cryptographie quelconque de G dans Z nZ o n G Soit m le message en question que lon prend comme tant un l ment de 0 n 1 Alice dispose d une clef secr te x et publie son information publique y g La signature de m qu elle produit est un couple a b o a G et b Z tels que g yo ab Pour fabriquer a et b Alice commence par choisir un entier k al atoire premier avec n et calcule a g Elle doit ensuite trouver b tel que kb x a m mod n b k l m x a mod n La v rification de la signature est simple Bob doit simplement s assurer que g y 4 ab Comme c est le cas pour le syst me de chiffrement on peut d plorer que ce syst me de signature produise des signatures tr s longues le couple a b a une taille deux fois sup rieure celle du message transmis 1 2 3 Le syst me de signature de Schnorr Le protocole de signature de Schnorr Sch91 est la fois un syst me d authentification et de signature Nous d crivons ici le syst me de signature On a toujours un groupe G un g n rateur g et une fonction de hachage H L information publique d Alice est toujours y g o x est un entier al atoire secret La signature d un message m est un couple e s d entiers v rifiant la propri t suivante qui devra tre test e par Bob H M g y e On
35. k Ceci se produit dans la moiti des cas Si d crit donc l ensemble de la base de facteurs on obtient ainsi la moiti du nombre de relations voulues H las ce sch ma se g n ralise mal Il est particuli rement bien adapt au cas de F127 mais lorsque n n est pas proche d une puissance de 2 on n obtient plus un aussi grand nombre de relations N anmoins c est l introduction de consid rations un peu plus structurelles sur la caract ristique 2 dans la suite des quations syst matiques qui a conduit l laboration de l algorithme de Coppersmith 2 4 L algorithme de Coppersmith 2 4 1 Pr sentation Les deux am liorations de l algorithme d Adleman que nous venons d exposer ne modifient h las pas profond ment les param tres de l expression L a c Leur influence se cantonne l expression o 1 dans cette expression Coppersmith Cop84 en revanche est parvenu faire baisser la complexit du calcul de mani re bien plus fondamentale amenant ainsi une avanc e tr s substantielle pour le calcul de logarithmes discrets dans F n La borne de friabilit qui contr le la taille de la base de facteurs est dans l algorithme de Coppersmith de l ordre de O n3 log n 3 et les polyn mes factoriser sont de degr bien moindre La complexit globale de l algorithme en est ainsi diminu e L algorithme de Coppersmith est l algorithme le plus ancien permettant d atteindre la complexit Ln
36. laquelle il faut s attendre lors de calculs tr s gourmands en ressources syst me Aussi il est n cessaire d incorporer dans le programme un m canisme garantissant la sauvegarde des tats interm diaires du calcul L approche adopt e est simple Toutes les 100 it rations par exemple on sauve le vecteur v sur le disque dur en rempla ant ventuellement l ancienne sauvegarde pour conomiser de la place on peut aussi choisir de garder certains des vecteurs v pour pouvoir distribuer plus amplement la troisi me phase Ainsi chaque nouveau processus lanc teste l existence d un fichier de sauvegarde du vecteur v et a donc la possibilit de reprendre les calculs partir de ce point Un exercice plus d licat est la gestion des erreurs de calcul Si jamais un bit du calcul de B 7y est faux il est clair que peu d it rations plus tard tous les bits sont faux et le calcul perdu Il est n cessaire d viter cela et surtout de pouvoir le d tecter Pour cela nous avons d termin au d but du calcul deux vecteurs a et 6 reli s par 6 BTa et ayant chacun des coefficients petits et non nuls Cela nous a t possible gr ce la petite taille des coefficients contenus dans les matrices trait es chaque it ration pour v rifier w Bv on a v rifi al w Tv Nous avons pu ainsi d tecter les erreurs avec une bonne probabilit L introduction de cette v rification dans la boucle du programme 7 2 est d licate I
37. me g n ralement difficile plus ou moins en fonction du groupe G Dans de nombreuses situa tions cela permet de fabriquer des cryptosyst mes car cette asym trie entre le probl me du calcul du logarithme difficile et celui du calcul des puissances facile est propice pour la cryptographie Diffie et Hellman DH76 ont t les premiers b tir un cryptosyst me partir de cette situation Le protocole d change de clefs propos par Diffie et Hellman est le suivant Supposons que deux intervenants Alice et Bob souhaitent changer un secret I n ont comme moyen commun de communication qu un canal de communication non str o information circulant peut tre intercept e Ils peuvent y parvenir en choisissant commun ment et de fa on publique un groupe G et un g n rateur g de G Chacun secr tement choisit un entier al atoire k 4 pour Alice et kg pour Bob Ils changent au travers du canal de communication non s r les grandeurs g 4 et g 8 Ils peuvent alors chacun calculer le secret commun g 4 2 sous la forme g 8 A pour Alice et sous la forme g 4 pour Bob Ce protocole est sch matis par la figure 1 1 Le probl me que doit r soudre un espion potentiel pour d couvrir le secret commun partag par Alice et Bob apr s l change consiste connaissant les param tres publics que sont G et g ainsi que les grandeurs g 4 et g qu il a pu intercepter au cours de la communication retrouver g 4 8 Ce pro
38. on On distingue ainsi les colonnes actives et les colonnes inactives Ces pr liminaires pass s nous pouvons maintenant aborder la description du fonctionne ment de l algorithme d limination structur e 5 2 2 tapes de l algorithme Le processus d limination structur e passe cons cutivement par les tapes num r es ci dessous Il est important d insister sur le fait que le poids d une ligne est le poids de la partie active tape 0 D clarer les 1 de colonnes les plus lourdes comme inactives tape 1 Oter toutes les colonnes de poids 0 elles n ont pas d int r t pour la r solution de notre syst me puisqu elles correspondent des vecteurs parasites du noyau de B ta pe 2 Retirer toutes les colonnes de poids 1 en gardant de c t les lignes correspondantes Les coordonn es correspondantes d un vecteur du noyau pourront tre d termin es l aide de ces lignes R p ter les tapes 1 et 2 tant que c est possible tape 3 Retirer arbitrairement une partie des lignes les plus lourdes pour conserver un certain ratio entre le nombre de lignes et de colonnes Reprendre l tape 1 si des colonnes de poids 0 ou 1 sont apparues tape 4 Choisir les lignes les plus avantageuses comme pivots pour liminer par exemple les colonnes de poids 2 qui intersectent des lignes de poids 1 R p ter les tapes 1 4 tant que c est possible Etape 5 D clarer de nouvelles colonn
39. on a voqu e comme tant gale N x O 1 Les discussions que nous m nerons concernant ces param tres introduisent implicitement autant d hypoth ses sur lesquelles nous reviendrons en 6 3 5 Valeur de s Le param tre s est de l ordre de En effet l ensemble des vecteurs colonnes des s premiers coefficients de A est de cardinal sn Donc s doit tre au moins gal pour que le rang de cette famille de vecteurs atteigne m Hormis dans les cas d g n r s on a galit Le param tre s est de toute fa on ais ment calculable Il est noter que si aucune valeur de s ne convient alors le rang de l ensemble des colonnes de A X est strictement inf rieur m Dans ce cas un autre choix de x convient probablement On rappelle que x est le bloc de vecteurs choisi al atoirement pour formes les coefficients a zT Bly Valeur de d Nous montrons que l on peut prendre pour d le plus petit entier tel que l espace engendr par les colonnes des matrices x B x est maximal En effet si tel est le cas chacune des colonnes de la matrice BT x peut s exprimer comme combinaison lin aire des BT x pour 0 lt i lt d 1 lt j lt m On a donc des coefficients 4 tels que d 1 Aijk B YZ M 1 i 0 j Appelons Q X la matrice de taille m x m dont le terme en position j k vaut d i 1 Cette matrice nous permet d crire de fa on synth tique l identit pr c dente On peut ref
40. par la suite Pour cette raison on a fait le choix logique de contraindre les coefficients rester de la taille d un mot machine Cela signifie qu au cours de Valgorithme une ligne peut devenir trop lourde au regard de la taille de ses coefficients et devenir ainsi inutilisable en tant que pivot pour toute limination Ce ph nom ne pour le cas qui nous concerne l algorithme de Coppersmith pour le calcul de logarithmes discrets s est montr tr s visible puisqu une bonne proportion presque la moiti des coefficients valent k donc 4 avec les param tres choisis Chaque limination implique ainsi un plus grand nombre de multiplications de lignes que si tous les coefficients valaient 1 Notons en outre une seconde cons quence de cette consid ration dans l limination struc tur e aucune inversion de coefficient n est effectu e En effet une inversion aurait la f cheuse cons quence de faire exploser la taille des autres coefficients de la ligne correspondante En r sum on constate donc que le mod le de calcul dans lequel on se place pour l limination structur e n est pas le mod le alg brique 5 2 6 Implantation L algorithme d limination structur e peut se montrer assez co teux en m moire mais pas en temps compar aux calculs dans lesquels cette m thode intervient Plusieurs moyens de r agir pour r duire la consommation m moire de l algorithme peuvent tre voqu s T
41. que B agit comme une bo te noire comme le repr sente la figure 5 2 Bu Figure 5 2 Une boite noire La th orie de l alg bre lin aire black box consiste reposer exclusivement sur cette op ration en ignorant tout de la matrice B Ceci n impose pas le contexte de l alg bre lin aire creuse pour qu une m thode utilisant ainsi une bo te noire de mani re exclusive soit efficace il suffit que le proc d d valuation soit efficace sans consid ration du caract re creux de sa repr sentation matricielle dont on ignore tout si l on refuse de voir la matrice autrement que comme une bo te noire Dans une certaine mesure les travaux que nous exposons dans cette partie de ce m moire peuvent tre vus comme des m thodes black box Toutefois nous tenons remarquer que notre int r t n est pas la nous nous contentons de mentionner la terminologie Tout en n utilisant effectivement la matrice B que pour effectuer des produits matrice X vecteur on se permet des consid rations sur sa repr sentation m moire et sur le fait qu il s agit d une matrice creuse Ces consid rations si elles ne rendent pas notre approche n cessairement divergente d une approche black box sont guid es par les r alit s d un mod le qui n est pas un mod le tout fait g n rique Notre souci d efficacit calculatoire est ainsi compl tement ancr dans la r alit des matrices qui nous concernent L exemple parfait d
42. r r 1 ri 2r r _1 Il convient avec les contraintes de pr cision qui ont t nonc es que ce coefficient soit connu pour que l on puisse d terminer l On en d duit donc T est uniquement d termin ssi r ri 1 ri Mm n ri 1 i e 2r gt m n Notons s rim Nous devons d montrer d abord que Is est uniquement d termin et ensuite que l 41 ne peut pas l tre On peut statuer sur la possibilit de d terminer IIo y s en consid rant seulement l puisque r est une grandeur d croissante On a pour i s n m 2 1 ri Z s 27 gt n m 8 2 Algorithmes classiques 137 Pour l impossibilit de d terminer l 1 on fait un raisonnement similaire en utilisant la d finition de s on a toujours i amp s Ti 1 lt S 2riy lt lt m n Il s ensuit que la condition n cessaire pour la d terminabilit de T nonc e plus haut n est pas remplie Il est ais de d duire le corollaire suivant avec lequel nous nous rapprochons de la mise en place de l algorithme sous quadratique recherch Corollaire 8 5 Soient U et V deux polyn mes toujours avec degU gt deg V Soient deux entiers m et s dans 0 degU et s gt 0 Si l in galit s gt nim est v rifi e alors Io g s U V Ho s my U div X V div X partir de cette proposition on d duit un algorithme r cursif pour r aliser le calcul qui nous int r
43. rateur lin aire reste de nature compl tement s quentielle La derni re phase consistant calculer un vecteur du noyau se distribue de mani re identique ce que l on vient d voquer pour la premi re phase Pour noncer de fa on sommaire la t che que doit accomplir chacune des machines prenant part au calcul on choisit la formulation suivante Entr e Un vecteur v et un indice ko Sortie Dans un fichier tous les 27 B v pour k ko L Le principe est de faire en sorte que toute l information utile soit disponible sous forme de fichiers Nous verrons que la tol rance aux pannes en est facilit e Une fois tous ces fichiers constitu s ils sont rassembl s pour calculer le g n rateur lin aire Hormis les transferts de fichiers pour l initialisation et pour la r cup ration du r sultat du calcul aucune communication n a lieu entre les machines Ceci entra ne deux b n fices tr s importants Le calcul sur des machines distinctes non n cessairement connect es par un r seau haut d bit est rendu possible Le travail peut se faire de mani re d synchronis e Cela permet de mettre profit des machines de puissances diverses En effet si par exemple deux machines de puissance diff rente ont ensemble deux colonnes traiter le temps de calcul optimal est obtenu en changeant les t ches mi parcours Cela est possible avec l algorithme de Wiedemann par blocs D un point de vue
44. t men es semblent montrer qu une implantation reposant sur la FFT enti re d crite page 152 permettrait d obtenir des performances meilleures La table 8 7 consigne les diff rents temps obtenus par l algorithme ainsi que les valeurs des thresholds qui ont t mesur es ces valeurs d pendent grandement de l implantation elles sont donc purement indicatives 8 7 Influence sur l algorithme de Wiedemann par blocs 8 7 1 Param tres optimaux Nous avons vu en 6 3 6 des l ments de d part pour l valuation du co t de l algorithme de Wiedemann par blocs Le cha non manquant dans cette analyse tait le co t du calcul 8 7 Influence sur l algorithme de Wiedemann par blocs 157 du g n rateur lin aire vectoriel que nous avons justement d termin dans ce chapitre pour divers algorithmes Nous rassemblons maintenant les diff rentes composantes Pour l algorithme de Wiedemann par blocs la matrice B sur laquelle nous nous concen trons est de taille N x N et compte en moyenne y coefficients non nuls dans chaque ligne Comme cela a t fait en 6 3 6 on va noter M le co t d une multiplication de deux l ments de F et d tailler uniquement dans le cas de F quelles sont les complexit s finales obtenues en fonction de m et n On en d duit les valeurs optimales de ces deux param tres Le calcul de g n rateur lin aire intervient au c ur de l algorithme de Wiedemann par blocs comme la phase que l on
45. une coordonn e Si l on est dans le cas o le nombre m de colonnes de x est un multiple du nombre k de processeurs utilis s on peut m me faire en sorte que les produits scalaires puissent tre calcul s avec uniquement la tranche propre chaque thread du programme Ce n est pas dans un but cosm tique que la boucle du programme 7 2 a t d roul e pour contenir deux it rations Cela permet d viter les changes de vecteurs et conomise un point de synchronisation C est donc un point fondamental pour obtenir de bonnes performances puisque l on utilise un seul point de synchronisation soit deux fois moins que dans l implantation qui avait t r alis e par Kaltofen et Lobo KL99 7 2 3 Mise au point de la synchronisation Cet aspect parall le du calcul a n cessit un travail important inh rent la mise au point d algorithmes fonctionnant en parall le sur plusieurs processeurs Comme on l a soulign il n tait pas question d avoir de trop nombreux points de synchronisation dans la boucle du programme On estime avoir rempli correctement cet objectif puisque le nombre de points de synchronisation que l on utilise est minimal un seul On pourrait donner quelques exemples d implantations de Multithread ApplyBlackBox qui ne marchent pas pour comparer avec le programme 7 2 ou bien donner tous les d tails de implantation r elle qui reprend V it ration courante si elle choue mais un
46. 163 9 5 1 Mise en place d un calcul d alg bre lin aire parall le et distribu 163 9 5 2 Mode d emploi ou de non emploi d un centre de calcul 164 Annexes 167 A Rappels sur les corps finis 169 A 1 Caract ristique cardinal 169 A 2 Construction des corps finis 170 A 3 Le groupe multiplicatif 170 A 4 Propri t s des corps finis 171 A 5 Nombre de polynomes irr ductibles sur Fg 173 Bibliographie 177 FIG FIG PROG FIG FIG TAB TAB FIG TAB FIG PROG FIG FIG PROG FIG FIG PROG PROG FIG PROG FIG PROG PROG PROG PROG TAB TAB TAB TAB PROG 1 1 1 2 2 1 2 2 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 5 1 5 2 6 1 6 2 7 1 T2 7 3 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 9 1 Table des figures Le protocole d change de clefs de Diffie Hellman Complexit de DL dans les corps finis Algorithme de Pohlig Hellman Une composante connexe d un graphe fonctionnel Fusion de deux composantes Donn es globales du graphe pour Fo607 R partition de la taille des cycles volution du nombre de CYCLES pon helo es ae Baten SLR AE R partition
47. 2 3 log exp o ren 1 log ao gt 32 log 2 3 3 9 La complexit de la derni re phase de l algorithme s obtient de mani re tout fait similaire La complexit de chaque passage du degr q au degr bq appelons w3 q ce co t est donn e de deux fa ons par le nombre d essais n cessaires dirig par la probabilit de friabilit et par le nombre de paires disponibles Comme pr c demment on a int r t choisir k proche de Je Si l on pose d zq le nombre d essais faire pour pouvoir esp rer trouver une paire friable est wsl o Vad Vi nd nd logs w3 q DE bq log 82 7 bq FA Vay o Be zd Le nombre de paires disponibles est 22 41 Si Pon pose b xq on doit donc s assurer que Vona 2z 1 q gt V2b 2 4 L algorithme de Coppersmith 33 2z 1 gt Vez tant donne que x lt 1 par construction la plus petite valeur de z possible est toujours comprise entre 5 et 1 Dans le cas pessimiste o z 1 on peut borner ainsi la valeur de logs w3 q log w3 q b Nous reviendrons plus en d tail sur la fa on dont se comporte z en fonction de x en 3 8 La complexit pr c dente doit tre multipli e par le nombre de polyn mes d composer ainsi Le nombre d tages de d composition est de l ordre de grandeur de logn De plus on peut se permettre de majorer grossi rement le nombre de facteurs suppl mentaires cr s ch
48. 28 28 31 34 36 viii Table des mati res 3 3 Le principe du crible 53 3 4 Le crible partiel valuation statistique des contributions des facteurs 56 3 5 Le groupement de cribles 60 3 5 1 L espace de crible n cessaire 60 3 5 2 Distribution du crible en paquets 60 3 5 3 Division de la table de crible 61 3 5 4 Amortissement du co t d initialisation 61 3 5 5 Influence combin e des deux effets 62 3 6 Le crible par r seau 2 a 63 3 7 Strat gies de factorisation des relations 64 3 7 1 Particularit s du probl me pos 64 3 7 2 L algorithme de factorisation de Niederreiter 66 3 7 3 La m thode SFF DDF EDF 54 au re aie de Se Bag ae GS 68 3 8 D termination de logarithmes individuels 69 3 8 1 Complexit r elle et pratique 70 3 8 2 Nature du probl me 70 3 8 3 Premi re d composition l algorithme d Euclide 71 3 8 4 Seconde d composition la descente par special Q 72 4 Record de logarithmes discrets F607 75 4 1 Travaux ant rieurs 75 42 Param tres gura swish ee he ind ee DE Si ek DER Oa BS 75 4 3 Techniques de crible
49. 4 2 le facteur de travail w pour obtenir une d composition b1 friable est alors donn par n n by gt 2b ES T CVs og p log ws log 72 Chapitre 3 Techniques pour l algorithme de Coppersmith 1 log 2 Z b cf page 141 1 log2 On peut par cons quent se permettre de prendre de l ordre de x x 0 52 La premi re borne de friabilit prendre si l on veut placer une bonne partie du travail sur cette premi re d composition est 1 bi V nb 2c 1 Il se trouve que dans la pratique on ne choisit pas n cessairement z car l emploi des techniques de crible et de special Q descent d crites ci apr s peut donner des performances meilleures Cela est d la composante polynomiale non crite des complexit s ainsi bien entendu qu aux facteurs d implantation 3 8 4 Seconde d composition la descente par special Q Nous reprenons ici de fa on d taill e le processus de refriabilisation esquiss pages 30 31 Ce processus nous fournit un moyen de d composer un polyn me Q de degr q en un produit de polyn mes de degr plus petit A nsi toujours en ayant en t te notre type de donn es g n ral sous forme d une liste de polyn mes on peut faire d cro tre la hauteur de la liste Nous avons pr sent des m thodes permettant d obtenir des relations faisant intervenir Q elles sont similaires aux m thodes employ es lors de la premi re phase de l algorithme
50. De tr s nombreux points de l algorithme ont t tudi s et plusieurs am liorations ont t obtenues En particulier nous avons travaill rendre possible la distribution partielle du calcul d alg bre lin aire Contenu et organisation de ce m moire Ce m moire est compos de deux parties et d une annexe qui passe en revue les quelques pr requis de la th orie des corps finis utiles pour la compr hension de l ensemble du manuscrit La premi re parie d crit notre travail concernant le calcul de logarithmes discrets en g n ral et l algorithme de Coppersmith en particulier Ce dernier a t utilis pour calculer des logarithmes discrets dans les corps finis de caract ristique 2 En examinant divers points de l algorithme nous avons pu le d ployer grande chelle et mener bien le calcul de logarithmes discrets dans Fo6o7 ce qui constitue le record mondial actuel depuis f vrier 2002 Le chapitre 1 d taille la port e cryptographique du calcul de logarithmes discrets Le chapitre 2 est consacr l exposition des diff rentes m thodes de cryptanalyse permettant de calculer des logarithmes discrets en particulier la description de l algorithme de Coppersmith Mettre en uvre grande chelle des calculs de logarithmes discrets en utilisant cet algorithme a n cessit le d veloppement de nombreuses optimisation ainsi que l examen de diverses caract ristiques fines du calcul Ces tudes sont d t
51. Figure 1 2 Complexit de DL dans les corps finis On peut remarquer qu il est possible de travailler dans des sous groupes de groupes mul tiplicatifs si l on dispose pour ces sous groupes d une repr sentation efficace De cette fa on on rend l attaque structurelle sur le corps fini moins efficace par rapport la taille des objets manipul s Ce principe appara t dans la pr sentation du protocole de signature de Schnorr Sch91 ainsi que dans le cryptosyst me XTR LV00 Courbes elliptiques Un autre exemple de groupe propos est le groupe des points des courbes elliptiques d finies sur les corps finis sugg r l origine par Koblitz Kob87 et Miller Mil87 Une courbe elliptique d finie sur un corps fini K peut tre vue comme l ensemble des solutions dans K de l quation y aty A3Y x azr a4 a Si les coefficients a v rifient certaines conditions l ensemble des points de cette courbe auquel on adjoint un point l infini correspondant la solution projective 0 1 0 forme un groupe commutatif Il est donc possible d y d velopper les protocoles cryptographiques reposant sur le logarithme discret Il n y a pas d algorithme sous exponentiel connu pour r soudre le probl me du logarithme discret sur les courbes elliptiques en g n ral Elles constituent donc d excellents candidats pour l implantation de protocoles cryptographiques Il convient toutefois d viter
52. Fo6o7 la d termination de logarithmes individuels peut se faire en une heure de calcul sur une machine du type d un PC de bureau Lorsque l on cherche calculer des logarithmes discrets dans des corps de taille moyenne F2127 ou F163 par exemple le probl me est diff rent La question n est plus celle du caract re r alisable ou non de la cryptanalyse mais celle de l utilisabilit de ce genre de primitive par exemple dans un syst me de calcul formel comme MAGMA Pour l utilisation en calcul formel faisable peut dans certains cas signifier un calcul de moins d une minute Notre objectif est de d tailler dans la perspective de l usage pour des corps de taille moyenne comment ce calcul peut tre optimis bien que l on n chappe pas bien entendu la nature sous exponentielle du calcul Les diff rents d veloppements que nous donnons ici ont fait pour certains et feront l objet pour les autres d une incorporation dans le logiciel de calcul formel MAGMA destin e rendre plus efficace cet aspect Il ne s agit toutefois que d un ensemble de pistes 3 8 2 Nature du probl me Le probl me auquel nous sommes confront s peut se r sumer de la mani re suivante Nous devons tant donn un l ment de For repr sent par un polyn me P trouver le logarithme discret de P en base X si X est primitif Plus exactement on souhaite exprimer le logarithme discret de P sous la forme d une c
53. Pour une suite de matrices de taille m x n c est dire en prenant la notation sous forme de s ries pour A X K X on veut calculer des g n rateurs lin aires vectoriels droite en d autres termes des l ments de X X On fera quelques br ves excursions pour l examen du calcul de g n rateurs lin aires matriciels donc des l ments de K X ce qui nous am ne formuler plus g n ralement notre int r t pour le probl me suivant Probl me Soient m n r entiers et A K X Calculer F K X tel que A X F X G X KX Comme on l a vu pour l algorithme de Berlekamp Massey scalaire on a besoin d un r sultat pour prouver que la sortie de l algorithme est bien un g n rateur lin aire C est l objet du th or me 8 1 dans le cas scalaire On lui donne ici une extension matricielle qui nous montre que l introduction de la non commutativit am ne une dimension frappante hypo th se naturelle de ce th or me n est plus une hypoth se d existence d un g n rateur lin aire comparable celui que l on cherche mais l existence d un g n rateur lin aire de l autre c t Ces quantit s sont reli es dans les situations non d g n r es On va voir d ailleurs que les algorithmes pr sent s ici en fournissent une preuve constructive 140 Chapitre 8 Berlekamp Massey matriciel Th or me 8 6 Soit A K X etr un entier On suppose q
54. Une s rie A K X et N une borne sur 6 A pour un g n rateur Sortie Un g n rateur lin aire F de A et une borne sur 6 F AF f 1 fo X t Valuation A 1 6 t d9 1 Coefficient en X de Af correspond e1 0 9 Coefficient en X de Af2 correspond e2 0 while t 142 lt N do if 01 lt 02 then if 0 then fi X fi fz f2 2 fi e Coefficient en X de Af 01 01 1 ne change pas else cas exceptionnel mais permanent si f1 est g n rateur fo X fo c1 Coefficient en X de Afi 09 02 1 fi ne changent pas end if else Op rations inverses end if t t 1 end while if t 6 gt N then return f1 01 else return f2 02 end if Programme 8 1 Algorithme de Berlekamp Massey 134 Chapitre 8 Berlekamp Massey matriciel Correction du r sultat Il reste prouver que l algorithme de Berlekamp Massey fournit une solution non triviale en effet si le g n rateur lin aire F rendu est nul il est de peu d utilit Nous donnons une preuve qui est en fait une sp cialisation de celle que l on utilisera plus tard dans le cas matriciel Consid rons la matrice h X K X suivante h E l ET 2 Vinitialisation de Valgorithme on a par construction f 1 fo X et e2 0 0 Par cons quent det h 0 e2 0 0 Par ailleurs le passage de l tape t l tape t 1 se transcrit pour la matrice h par la
55. Usap Uga u ug L ensemble des vecteurs Uoa Usa 1_ est donc l ensemble des points de Uga Up e0 d 1 Fz d E0 d 1 F2 Le r sultat s ensuit Un second point important est le co t que repr sente le calcul de la valeur initiale AX mod g Pour des polyn mes g de degr important cette r duction d un polyn me modulo g est le point d licat En particulier il prend le pas sur le parcours du code de Gray dont le cout d croit exponentiellement avec deg g Ces deux aspects doivent donc tre optimis s Un pseudo code indiquant comment programmer un tel crible polynomial est donn en 3 7 Du point de vue de l implantation l indexage du tableau S par un polyn me ne pose pas de probl me En effet la repr sentation la plus vidente des polyn mes sur F2 utilise un bit par coefficient et fournit donc imm diatement la bijection naturelle avec les entiers Le pseudo code fourni consid re que c est cette repr sentation qui est utilis e et que les polyn mes trait s sont de degr suffisamment petit pour pouvoir tre repr sent s par un mot machine Crible sur le polyn me D Dans la description que l on a faite du crible rien ne prescrit la forme sp cifique du polyn me C AX B Il est possible aussi de cribler sur le polyn me D d fini par D AFXhk nf BF Le choix entre ces deux possibilit s est dict par la recherche d efficacit du crible C
56. X 1 mod g o A Ap X 441 4 En faisant ainsi on ne modifie pas profond ment le fonctionnement du crible 3 5 3 Division de la table de crible On peut trouver et cela a t le cas parfois qu imposer 32Mo pour la table de crible pour toutes les machines prenant part au calcul est un peu difficile surtout si l on souhaite utiliser ces machines en concurrence avec les programmes des autres utilisateurs A cet effet une variation simple permet de r soudre la consommation en m moire diviser encore la table de crible par exemple par 27 pour y un petit entier en fixant y bits suppl mentaires dans B ce qui am ne le nombre de sous cribles traiter pour un paquet 2 4 1 7 Ainsi la taille de la table de crible est abaiss e 2 8 1 7 soit dans notre cas 277 x 32Mo Le probl me de cette approche est bien s r que lorsque l on diminue autant la table de crible le co t d initialisation pay pour chacun des polyn mes irr ductibles consid r s devient dominant L efficacit en souffre durement En employant des pr calculs on parvient amoindrir cet effet n faste mais le r sultat reste d cevant 3 5 4 Amortissement du co t d initialisation Nous avons souhait modifier le sch ma pr c dent pour permettre de r duire le co t d ini tialisation La constatation de d part est que pour deux valeurs de qui ne diff rent que de quelques bits la valeur d initalisation du crible not e Bo lors d
57. a permis de d terminer le logarithme de P qui vaut 3Cette substitution est pertinente car au cours de la phase d alg bre lin aire certaines relations n ont d lib r ment pas t consid r es par exemple parce qu on les a consid r es comme trop lourdes 78 Chapitre 4 Record de logarithmes discrets F 607 log P 478 911 461 661 946 696 753 672 487 974955 175 947 078 100 949 897 401 737 706 214 043 974 054 397 090 373 933 613 593 697 064 947 460 160 895 949 314 765 939 949 543 387 334053 322 259 124 498 269 177 310 650 885 248 209 789 392 038 650 635 mod 2907 1 4 6 Comparaison avec les calculs pr c dents Il n est pas ais de mener des comparaisons pr cises des efforts de calcul lors des diff rents records de calcul de logarithmes discrets dans F n Nous donnons toutefois un ordre de gran deur de la puissance de calcul d ploy par Gordon et McCurley en 1993 Leurs calculs ont permis d obtenir suffisamment de relations pour r soudre des logarithmes discrets dans F 4503 bien que le syst me lin aire associ n ait jamais t r solu ensuite Ce calcul a n cessit 88 jours sur les 1024 processeurs d une machine de type nCube 2 Chacun de ces processeurs a une vitesse d environ 15 MIPS si on en croit les documentations On arrive ainsi un effort de calcul d environ 3700 ann es MIPS C est donc beaucoup moins que les 19000 ann es MIPS qui nous ont t n cessaires pour mener bien
58. ces donn es repr sente 4 m gaoctets soit peu de choses En dehors de cet amendement de l initialisation du crible de omission par construc tion des puissances de polyn mes irr ductibles et bien videmment de la borne finale h deg qui devient la quantit un peu plus complexe qui contr le deg D l algorithmique ne change pas la congruence centrale est transcrite de mani re tr s similaire Pour les raisons qui ont d j t expos es page 35 lors de la discussion sur le choix du polyn me la consid ration de telles puissances pour le polyn me D est d un int r t pratiquement nul 56 Chapitre 3 Techniques pour l algorithme de Coppersmith Il est enfin possible d effectuer deux cribles l un pour C et l autre pour D Cela est int ressant si le crible s av re consid rablement plus rapide que la factorisation 3 4 Le crible partiel valuation statistique des contributions des facteurs Comme cela est indiqu en commentaire dans le pseudo code 3 7 le sch ma de crible polynomial pr c demment d crit souffre de deux inconv nients Lorsque le polyn me g est de degr trop important le co t d initialisation qui implique une r duction modulaire peut s av rer important Lorsque le polyn me g est de petit degr la boucle qui met jour les entr es du tableau est tr s longue En outre cette boucle n acc de pas la m moire de fa on tr s ordonn e Il
59. ces techniques que nous sommes parvenus r soudre le syst me lin aire qui est intervenu au cours du calcul de logarithmes discrets dans Fo6o7 La taille de ce syst me est impressionnante puisqu elle atteint 1077513 x 766150 et que le corps de base Z 2607 _ 1 7 n est pas vraiment petit Les d tails de ce calcul qui constitue aussi un record sont donn s dans le chapitre 9 L encore on donne avec la description de ce record un t moignage des difficult s que repr sente la r alisation d un tel calcul Premi re partie Logarithmes discrets dans Fon Chapitre 1 Logarithme discret et cryptographie 1 1 Diff rentes instances du probl me 1 1 1 D finitions Si l on veut rester tr s g n ral le probl me du logarithme discret peut se formuler dans n importe quel groupe Soit G un groupe cyclique de cardinal n que l on note multiplicative ment On appelle g un g n rateur de G Le logarithme discret d un l ment se d finit comme suit D finition 1 1 Logarithme discret Soit a G On appelle logarithme discret en base g de a l unique l ment x de Z nZ tel que x g 4 Souvent on consid rera le logarithme discret de a comme tant l unique repr sentant entier de x dans 0 n 1 mais il est capital de garder l esprit le fait que ce logarithme n est r ellement d fini que modulo n G Le probl me du calcul du logarithme discret que l on note DL en abr g est un probl
60. cet inconv nient on a suppos que pour chaque machine prenant part au calcul il tait possible de trouver un serveur de courrier lectronique quelque part qui partagerait une partition de disque dur avec l esclave Sur ce serveur secondaire est alors aussi install un programme procmail qui met jour un fichier lisible par l esclave Cette approche s est av r e compl tement impraticable l chelle qui nous concernait pour plusieurs raisons La v tust de l installation informatique du serveur de courrier lectronique principal sur lequel des probl mes permanents de lock ont t apparents Il a t par cons quent impossible d utiliser l installation de courrier lectronique de fa on fiable puisque r gu li rement le calcul reprenait au paquet num ro 1 Communiquer de cette fa on avec des machines trop distantes d un serveur de courrier lectronique s est av r difficile nouveau cause de probl mes de lock Les tr s nombreux courriers lectroniques g n r s se perdent parfois en route mais at terrissent toujours quelque part ventuellement dans une file d attente sur une machine plus ou moins al atoire On a vu arriver ainsi des trains de plusieurs milliers de courriers lectroniques perdus avec des mois de retard Une bo te de courrier lectronique est un instrument de travail sensible et faire rentrer ainsi dans le circuit de gestion du courrier des scri
61. comparer aux 2 r ductions modulaires qui doivent tre effectu es si l on fait 2 cribles distincts On peut similairement calculer ais ment les donn es d initialisation du crible lorsque degg gt g 1 mais ce cas est de peu d int r t car le polyn me g n atteint pas de telles valeurs La description du proc d g n ral est faite dans Tho01b 3 5 5 Influence combin e des deux effets Nous avons montr que l on pouvait jouer avec la table de crible de deux fa ons Il est int ressant de voir que la combinaison des deux effets permet des gains de temps En effet l amortissement du co t d initialisation en augmentant combin e la r duction de la table 3 6 Le crible par r seau 63 de crible en augmentant y r duit le temps final de calcul Dans la figure 3 9 l influence de ces effets a t consign e pour les param tres d j mentionn s qui ont t utilis s pour le calcul sur F607 Ces mesures ont t effectu es sur un Pentium IT 450MHz Pour chaque couple de valeurs on a mentionn le temps d initialisation du crible et le temps de remplissage de la table stock e en m moire La derni re donn e est le temps total donc a priori la somme des deux aux impr cisions de mesure pr s Bien entendu la taille m moire de la table de crible varie en fonction de y et d o les fl ches diagonales Pour pouvoir comparer des grandeurs similaires on a donc ramen
62. d assurer la confidentialit des don n es au sens large se fait sentir dans un tr s grand nombre d applications commerce lec tronique communications sensibles r seaux mobiles Les outils propos s par la cryptologie moderne permettent de r pondre ces besoins de mani re tr s satisfaisante par le d ploiement de cryptosyst mes clef publique aussi dits asym triques Le principe de ces cryptosyst mes est de rendre possible la publication de la clef de chiffrement tout en gardant secr te la clef de d chiffrement Ils permettent aussi la signature lectronique de messages ou l tablisse ment d une clef secr te commune deux acteurs via un canal de communication non s r sans divulgation de ce secret par le protocole de Diffie Hellman Toutes ces primitives reposent sur la notion de probl me facile ou difficile r soudre Ces probl mes sont pour les plus utilis s d entre eux issus de la th orie des nombres Ainsi le cryptosyst me RSA RSA78 repose sur la difficult du probl me de la factorisation d entiers tant donn n pq retrouver p et q et le protocole de Diffie Hellman repose sur celle du probl me du logarithme discret dans un groupe fini dans un groupe engendr par g tant donn un l ment a du groupe trouver un entier x tel que g a La cryptologie lorsqu elle s int resse ces diff rents cryptosyst mes traite en particulier de la difficult des probl mes qui
63. d f en cons quence un sous corps isomorphe Fp Z pZ Le corps K peut tre vu comme un espace vectoriel sur F Son cardinal est une puissance de p DEMONSTRATION La premi re assertion d coule de la factorisation du morphisme et de la d finition d un sous corps Le sous corps F ainsi mis en vidence est appel sous corps premier de K Le corps K est d ailleurs appel premier s il est gal son sous corps premier Ensuite la propri t du cardinal est une cons quence On peut aussi tudier les cardinaux des extensions de corps finis Notation A 3 Soit L une extension finie d un corps K On note L K la dimension de L en tant que K espace vectoriel Proposition A 4 Soit K L M une tour d extensions finies On a M K M LIL K D MONSTRATION On construit une base ad hoc de M en tant que K espace vectoriel pour arriver l galit E 169 170 Annexe A Rappels sur les corps finis Cette propri t implique que pour deux corps finis K et L tels que K C L si le cardinal de L s crit p alors celui de K s crit p avec d divisant n Dans ce qui pr c de on n a pas fait d hypoth se sur la commutativit de K La structure d espace vectoriel sur F peut donc tre non commutative N anmoins cela n est que th o rique puisqu un th or me d Wedderburn montre que seul le cas commutatif m rite d tre trait Th or me A 5 Wedderburn Tout corps fini es
64. de K X modules pas n cessairement le m me On note O f g la quantit max deg f 1 deg g Cette notation est particuli rement destin e au cas o f est un g n rateur lin aire de la suite a repr sent e par la s rie formelle A X de telle sorte que f X A X soit de degr fini On s int resse alors la quantit 0 f fA abr g e f lorsque le contexte est clair Cette quantit permet de compl ter l information cach e par notre d finition la o interviennent des polyn mes r ciproques En effet le g n rateur lin aire de la suite des puissances d un l ment de polyn me minimal P est le polyn me r ciproque P Mais le passage de P P n est pas univoque en effet P XP on manque parfois d information si l on consid re seulement P En revanche il est assur que 6 P deg P Cela d coule de la d monstration de la proposition 6 2 vue plus haut Si P X Q avec Q 0 Z 0 alors P Q et Q Q Le coefficient de degr n de P X A X est nul si et seulement si X 4e8 P P est multiple de P X P c est dire si et seulement si n gt deg P Donc 5 P P X A X deg P 6 1 4 Minimalit Dans le cadre des deux premiers exemples mentionn s plus haut on a Ro K On peut alors parler du g n rateur lin aire savoir le polyn me minimal En effet il est ais de montrer que les g n rateurs forment un id al de K X qui est un anneau principal On peut donc en extraire le g n rateur minima
65. de la taille des composantes connexes Effondrement des composantes connexes taille 1 11 et plus Crible polynomial Evolution de la qualit du crible partiel Influence de y et sur le temps de crible R duction de r seaux de F2 X en dimension 2 Un exemple de matrice de logarithme discret rie Bolte noires 22248 be ws Baier ah Sack haste Bac ee bbe en Ed Algorithme de Wiedemann Algorithme de Wiedemann par blocs Segmentation de la matrice B pour la parall lisation Implantation multithread du produit matrice x vecteur Organisation du calcul pour Multithread ApplyBlackBox Algorithme de Berlekamp Massey Algorithme partial gcd sous quadratique Calcubde ns ne ei Sn eae Algorithme r cursif pour calculer les matrices m Donn es du calcul r cursif des matrices T Ordres maximaux des DFTs pour le calcul r cursif des matrices 7 Temps de calcul de g n rateurs lin aires Comparaison avec les r sultats de Lob95 Le programme daemon pl xi Introduction La cryptologie est aujourd hui au c ur du d veloppement des nouvelles technologies de l information et de la communication En effet le besoin
66. demment v nous permet d obtenir un l ment du noyau de F pourvu que l on ait v 0 Pour cela nous requ rons une propri t suppl mentaire du bloc de vecteurs x Le coefficient de degr k du produit A X F X pour k gt deg F vaut deg F X AP 27 Y BE YXE i 0 deg F gt Beds F X paes F i Pa gt Beds Fray Par construction ce coefficient est nul pour k gt F Si l on note donc comme on l a fait pour l algorithme de Wiedemann 6 F deg F le vecteur B gt v est orthogonal tous les vecteurs de la forme ET Si ces vecteurs engendrent KV cela implique Btw 0 6 3 4 Structure de l implantation Le programme 6 2 donne un exemple d implantation de l algorithme de Wiedemann par blocs Un tel programme ressemble assez la fa on dont une implantation pourrait tre r alis e sur F2 Si le corps de base est F4 on a dit que notre int r t tait la parall lisation ou la distribution donc le programme 6 2 qui ne rentre pas dans ces consid rations doit tre regard uniquement en tant que trame g n rale 6 3 L algorithme de Wiedemann par blocs 115 Algorithme Block Wiedemann Entr e Une matrice B KNN singuli re Deux param tres de blocs m et n Sortie Un l ment de Ker B x matrice al atoire dans KN z matrice al atoire dans KN y Bz v y for k 0 k lt X O 1 k alkl rTv v Bv F g n rateur lin aire des a 0 F deg F v 0
67. des structures combinatoires Si l on souhaite exprimer la s rie g n ratrice des polyn mes b friables il suffit de restreindre le produit dans le dernier membre de l quation ci dessus On arrive l expression 1 f z II 1 26 k 1 Plus g n ralement on peut noncer la proposition suivante toujours partir de r sultats l mentaires tels que pr sent s dans FS93 HOn remarque que la courbe en question plafonne partir de la borne de qualification 155 En effet 155 178 23 un polyn me de degr 178 dont on a identifi une partie 23 friable de degr gt 155 est n cessairement 23 friable 58 Chapitre 3 Techniques pour l algorithme de Coppersmith 0 9 F 0 8 0 7 F 0 6 F 05E 0 4 0 3 02 0 1 F 0 9 F 0 8 0 7 0 65 0 5 F 0 4 0 3 0 2 0 1 F 0 Qualit de la s lection t Proportion des polyn mes friables captur s 0 20 40 60 80 100 120 140 160 180 Crible complet Qualit de la s lection Proportion des polyn mes friables captur s 0 20 40 60 80 100 120 140 160 180 Degr 6 22 1 T T 00 Qualit de la s lection o4 Proportion des polyn mes friables captur s 0 20 40 60 80 100 120 140 160 180 Degr 10 20 1 T T 09 Qualit de la s lection 04 Proportion des polyn mes friables captur s 0 20 40 60 80 100 120 140 160 180 D
68. disques durs auxquels nous avions acc s ne permettait de stocker une telle quantit de donn es Il a donc fallu les r partir sur plusieurs disques et faire un travail de vases communicants entre ces disques Ce point aurait pu tre vit avec l achat de quelques disques durs de 40Go Deuxi me partie R solution de syst mes lin aires creux 85 Chapitre 5 Pr sentation du probl me 5 1 Alg bre lin aire rapide et alg bre lin aire creuse Nous avons achev dans la partie I de ce m moire la pr sentation de l algorithme de Coppersmith ainsi que de plusieurs algorithmes de calcul d index Tous passent par une phase d alg bre lin aire Le probl me plus explicitement est le suivant on dispose d une matrice singuli re N colonnes et possiblement un plus grand nombre de lignes Appelons cette matrice B On recherche un l ment du noyau de B c est dire un vecteur w qui soit solution de l quation Bu 0 Notre probl me est donc la r solution de syst mes lin aires homog nes Il s agit bien s r d un sujet sur lequel la litt rature est tr s vaste Il est donc n cessaire de cerner un peu plus pr cis ment le probl me pour d terminer le champ des algorithmes applicables La caract ristique principale des syst mes lin aires que l on doit r soudre est qu ils sont creux On entend par l que ces syst mes ont peu de coefficients non nuls par ligne de l ordre de grandeur de log N
69. en r sulte une nette chute de performance due au comportement de la m moire cache Pour pallier ces inconv nients on a employ une strat gie de crible partiel Cette technique s apparente des techniques d j employ es dans les algorithmes de factorisation Le principe est d valuer la probabilit de friabilit partir des contributions des facteurs les plus faciles traiter Plus exactement cela signifie que dans le crible on omet les polyn mes g de petit et de grand degr Pour les deux raisons que l on a voqu es au paragraphe pr c dent les polyn mes moyens sont en effet trait s plus efficacement Cette omission d lib r e des polyn mes de petit degr dans le crible s apparente la small prime variation employ e dans les algorithmes de factorisation Bien entendu si l on omet certains degr s la borne h deg appel e borne de qualifi cation doit tre corrig e en fonction des facteurs que l on a omis Cette borne doit maintenant refl ter la contribution statistique des facteurs de degr interm diaire la factorisation des polyn mes friables Les d savantages que l on rencontre en omettant ainsi des facteurs appa raissent lors du choix de la borne de qualification Les deux effets suivants interviennent Alors que la contribution globale de tous les polyn mes irr ductibles de degr 1 b la factorisation d un polyn me b friable de degr d est videmment
70. en th orie quilibr e mais le comportement local est incertain L influence sur W2 exponentiel en b L influence sur l espace m moire n cessaire pour la phase 2 Le choix de d Ce param tre conditionne le degr maximal de A et B Nous avons vu qu asymptotique ment d b La taille de l espace de crible i e l ensemble des paires A B d pend donc directement de d et il convient de s assurer que cet espace de crible est suffisamment grand pour obtenir le nombre voulu de relations tant donn e la probabilit de friabilit laquelle on doit s attendre H las lorsque l on augmente d les degr s de C et D augmentent aussi ce qui a pour effet de r duire leur probabilit de friabilit A titre de remarque il est assez ais de constater que les degr s de C et D sont inchang s si l on donne un valeur un peu plus grande au degr maximum de B par rapport celui de A on d couple ainsi d en deux param tres distincts d4 et dg Un calcul ais montre que la valeur optimale de la diff rence entre ces deux param tres est hk n deg fi dg d4 A Le choix de k Le param tre k est contraint tre une puissance de 2 La valeur employ e exp rimen talement peut donc tre relativement loign e de la meilleure valeur asymptotique qui est TCette approximation est valable si l on consid re que l alg bre lin aire est de complexit quadratique Dans Cop84 Cop
71. f agt r g o l expression du couple a b en fonction de a et b est connue Un exemple de telle fonction sera donn plus loin L algorithme utilise les propri t s classiques du graphe d une fonction al atoire f d un ensemble fini dans lui m me Ces propri t s sont obtenues l aide de la consid ration des s ries g n ratrices exponentielles correspondant aux graphes fonctionnels Elles sont expos es par exemple dans FO90 On rappelle ici tr s rapidement celles qui nous int ressent Proposition 2 4 Soit E un ensemble fini de cardinal n et f une fonction al atoire de E dans E Soit T le graphe orient ayant pour sommets les l ments de E et pour ar tes les x f x pour x E On a alors en moyenne La plus grande composante connexe de T est de taille O n 2 2 Les algorithmes exponentiels 21 f a PA 2 Figure 2 2 Une composante connexe d un graphe fonctionnel Le plus grand cycle du graphe de T est de taille O n La distance maximale d un sommet un cycle est O n L algorithme calcule des it rations de la suite v f vi 1 c est dire qu il effectue un chemin dans le graphe I partir d un point de d part donn La figure 2 2 donne l aspect typique d un tel chemin ainsi que des possibles autres parties du graphe qui appartiennent la m me composante connexe On constate que le chemin contient n cessairement un cycle On o
72. fields Manuscrit en pr paration 2003 T ELGAMAL A public key cryptosystem and a signature scheme based on discrete logarithms IEEE Trans Inform Theory IT 31 4 469 472 Jul 1985 179 EH96 EH97 EG02 FKP89 FO90 FS93 F994 FS02 FR94 vzGG96 vzGG99 vzGG02 vzGP01 vzGS92 Gau00a Gau00b GGoi GHS02 R M ELKENBRACHT HUIZING An implementation of the number field sieve Expe riment Math 5 3 231 253 1996 R M ELKENBRACHT HUIZING Factoring integers with the number field sieve Doctor s thesis University of Leiden 1997 A ENGE et P GAUDRY A general framework for subexponential discrete logarithm algorithms Acta Arith 102 1 83 103 2002 P FLAJOLET D E KNuTH et B PITTEL The first cycles in an evolving graph Discrete Math 75 167 215 1989 P FLAJOLET et A M ODLYZKO Random mapping statistics Dans J J QUISQUATER et J VANDEWALLE diteurs Advances in Cryptology EUROCRYPT 89 Lecture Notes in Comput Sci volume 434 pages 329 354 Springer Verlag 1990 Proc Eurocrypt 89 Houthalen April 10 13 1989 P FLAJOLET et R SEDGEWICK The average case analysis of algorithms counting and generating functions Rapport de recherche RR 1888 INRIA Apr 1993 chapitres 1 3 de Analytic combinatorics amp paraitre P FLAJOLET et R SEDGEWICK The average case analysis of algorithms saddle point asymptotics Rapport de recherch
73. formule suivante permutation pr s des lignes et des colonnes pour 7 et D t 1 _ 1 0 t 1 X 0 h G DL TD out f 1 et D 0o 1 Donc la valeur de det h est inchang e au cours de l algorithme Ceci d montre que l algorithme produit n cessairement un r sultat non trivial car si f1 0 l tape t cela impliquerait qu il existe une colonne nulle dans A ce qui est exclu 8 2 2 L algorithme d Euclide tendu Lien avec le probl me et notations Le calcul d un g n rateur lin aire peut aussi se faire en employant l algorithme d Euclide tendu aux polyn mes U X2 et V A mod X2 Cet algorithme bien connu proc de en crivant une suite d quations U X P X V X Qi X Ri X o l on part de Po Qo Ro 1 0 U et Pi Q1 Ri 0 1 V Le passage l tape i 1 se fait par division euclidienne de R par R on note T le quotient On obtient ainsi Ring R 1 ik Pin Pi TiFi Qi 1 Qi 1 TiQi De telle sorte que UP VQiu Rit En examinant les degr s des polyn mes concern s on arrive facilement aux identit s deg T deg Ria deg Ri deg P 1 deg P deg l sauf pour i 1 deg Qi deg Q deg lj On en d duit les deux invariants suivants Vi gt 1 deg P deg R deg V 8 2 Algorithmes classiques 135 ViZz0 degQi deg R deg U Comme deg Q est une grandeur strictement croissante il existe un entier
74. groupe est polynomial conform ment ce que l on a nonc On peut ainsi partager les groupes propos s en trois classes DL dans G est exponentiel C est la cat gorie de groupes dans laquelle on r ve de trouver un exemple On ne peut esp rer mieux car nous verrons au chapitre 2 qu il existe des algorithmes exponentiels pour calculer des logarithmes discrets dans des groupes n ayant que les propri t s mini males cit es plus haut H las trouver des exemples de tels groupes est encore un r ve car on ne conna t pas de groupe o il est possible de prouver que DL est exponentiel On conna t toutefois des exemples de groupes pour lesquels aucun algorithme connu ne 1 1 Diff rentes instances du probl me 9 permet de calculer des logarithmes plus rapidement qu en temps exponentiel DL dans G est polynomial Alors le groupe G ne m rite pas d tre consid r pour la cryptographie En effet un cryptosyst me s appuyant sur un tel groupe rendrait le travail de l espion peu pr s aussi facile que celui des acteurs honn tes DL est entre les deux sous exponentiel Nous allons voir des exemples de groupes pour lesquels DL est de complexit sous exponentielle Cette complexit s exprime pour les cas qui nous int ressent l aide de la fonction L a c d j d finie dans l introduction par Liogn a c 0 exp c 1 o 1 log n log log a La fonction L a c interpole ainsi entre l
75. inversible dans K X 00 x m n puisque son d terminant est une unit dans KX X Cette information nous sera utile ult rieurement 8 4 3 Description de l it ration On souhaite passer de l tape t l tape t 1 Examinons la r partition des coefficients non nuls des produits A X f X Ces produits sont au nombre de m n ils constituent les 4Le choix de s comme nom de variable correspond start 8 4 L algorithme propos par Coppersmith 143 colonnes de la matrice Af En consid rant de telles colonnes comme des polyn mes ayant des vecteurs comme coefficients on reprend des sch mas semblables ceux qui avaient t faits dans le cas scalaire Sur chaque ligne on repr sente les coefficients non nuls de A X f X en marquant une case d un point La k me case d une ligne est vide ou marqu e 0 si l on sait par construction que le coefficient correspondant X A fj est le vecteur nul Pour prendre un exemple fictif on a le sch ma suivant l tape t gj j ma o EE Da i PPPPSL LLL BP ee 86 ses 6 t On a marqu certaines cases par pour le cas sp cifique du coefficient de degr t En vertu de la condition C2 on sait que la matrice e 0 est de rang m On souhaite annuler les coefficients de degr t Cela doit tre fait sans modifier profond ment les valeurs des 6 Le proc d employ est en fait une sorte d limination gaussienne La matrice dont on veu
76. le calcul dans Fo6o7 Toutefois l cart entre les deux efforts est largement compens par l cart de difficult des deux probl mes Calculer des logarithmes discrets dans F607 est au moins vingt fois plus dur que dans Fo503 Ces chiffres montrent que l importance des am liorations th oriques et pratiques que nous avons apport es au processus de crible sont bien r elles 4 7 Tailles pouvant tre atteintes Le calcul que nous avons men est un calcul de grande envergure En terme de temps de calcul l effort est deux fois plus important que celui qui a t n cessaire la factorisation de RSA 155 On peut consid rer que ces travaux repr sentent la limite des tailles pouvant aujourd hui tre atteintes par une approche semblable la notre Nous devons toutefois faire tat de deux points pr cis Tout d abord nos travaux ne permettent que partiellement de r pondre la question de la capacit que pourrait avoir une institution gouvernementale pour s attaquer ce genre de probl mes En novembre 2002 le record du plus gros supercalculateur mondial a t battu par le constructeur japonais NEC avec la mise en service du Earth Simulator La puissance de calcul d un tel monstre est formidable 40 t raflops soit 40 000 milliards d instruction par seconde Utilisons la comme ordre de grandeur En consid rant que chacun des 5 120 pro cesseurs de ce supercalculateur cadenc s 500MHz a la puissance d un PC
77. lecture des coefficients v est compl tement s par e sur les diff rents processeurs seul le processeur en charge de la colonne j acc de la valeur de v En revanche tous les processeurs contribuent chacune des coordonn es wi nos yeux la seconde de ces possibilit s entra ne trop d inconv nients Le premier d entre eux est le fait que la contribution aux w qui est une criture est globale Bien s r il est possible que chaque processeur calcule sa contribution au vecteur w et que ces contributions soient ajout es ensuite mais cela induit une complication du sch ma notamment en ce qui concerne la synchronisation Par ailleurs nous allons voir que l quilibrage des t ches est plus ardu dans ce contexte Nous avons donc choisi le premier sch ma Chaque processeur se voit distribuer un paquet de lignes Plus exactement pour t allant de 0 T 1 le processeur p est en charge des lignes d indices 1 1 On r alise ainsi une segmentation de la matrice qui est repr sent e par la figure 7 1 Les op rations effectu es par le processeur p sont les suivantes Notons que la r duction des coefficients modulo le nombre premier p est faite tardivement set_zero Pour i allant de X t4 1 1 N 3 N oe multiply Pour 7 allant de ta a l t 1 7 1 et pour chaque B non nul wi wi Bi jvj reduce_modp Pour allant de ex t4 1 1 wi wi m
78. les r premi res colonnes de la matrice Q sont lin airement ind pendantes en effet une permutation des indices mettra en t te le mineur qui nous int resse devenant ainsi le mineur principal d ordre r On peut alors crire Qui Q12 Q21 Q22 r il existe una matrice K telle que Qi2 QuE et Q22 QD Cela implique Q21 Qt Qu DT Q41 On peut donc crire f Ore Oia o 42 au _ Qu 9 o 2 He Q I 0 Qu 0 L ner GO 0a La matrice Q11 est donc inversible comme on l a requis a la matrice Q sous la forme On a Q21 QB Comme la matrice est de rang Nous appliquons ce lemme pour construire W partir de V La structure it rative de l algorithme de Lanczos par blocs appara t par l usage d une r currence Pour construire la matrice V i 1 on a deux points de d part d une part la matrice AW et d autre part la matrice V elle m me Ainsi les vecteurs de V qui n ont pas t s lectionn s dans W sont pris en compte l it ration suivante On a donc une formule du type Vin AW V termes correctifs Ajouter ainsi la contribution de V permet de conserver le rang de la suite des matrices Vi qui descendrait z ro sinon Il n est pas n cessaire de proc der ainsi dans le Lanczos standard que nous avons d crit plus haut mais c est en revanche tr s important ici Les termes correctifs qui interviennent permett
79. licate car le proc d est tr s sensible des variations mineures de la pr sentation 5 2 1 Utilisation des propri t s de structure Le point de d part de la SGE est la structure particuli re des matrices rencontr es dans les probl mes de factorisation et de logarithme discret Ces matrices ont en effet leurs coefficients non nuls concentr s gauche dans la matrice La raison de ce ph nom ne a t donn e page 29 Un exemple de matrice produite par l algorithme de Coppersmith est donn par la figure 5 1 L intensit du niveau de gris correspond la densit des coefficients non nuls V chantillonage tant fait sur des sous matrices de taille 2000 x 2000 La pr sence de deux motifs distincts mettant en vidence des lignes plus lourdes que les autres est due la large prime variation d crite en 3 1 L algorithme d limination structur e utilise le tr s faible remplissage de la partie droite de la matrice en contraste avec la forte densit de la partie gauche Au cours du processus on conserve en permanence une information sur le poids des lignes et des colonnes Le poids 5 2 Pr conditionnement l limination structur e SGE 89 Figure 5 1 Un exemple de matrice de logarithme discret d une ligne n est toutefois jug qu au regard d une partie de la matrice on ne compte pas les coefficients qui sont dans la partie gauche de la matrice que l on consid re comme dense de toute fa
80. linear systems Math Comp 64 210 777 806 Apr 1995 E KALTOFEN et A LOBO Distributed matrix free solution of large sparse linear systems over finite fields Algorithmica 24 4 331 348 1999 E KALTOFEN et V SHOUP Subquadratic time factoring of polynomials over finite fields Math Comp 67 223 1179 1197 Jul 1998 D E KNUTH The Art of Computer Programming volume 2 Seminumerical Algorithms Addison Wesley 3 dition 1998 N KOBLITZ Elliptic curve cryptosystems Math Comp 48 177 203 209 Jan 1987 N KosBuitz Hyperelliptic cryptosystems J of Cryptology 1 139 150 1989 A N KRYLOV On the numerical solutions of the equation by which the frequency of small oscillations is determined in technical problems in russian Izv Akad Nauk SSSR Ser Fiz Mat 4 491 539 1931 B A LAMACCHIA et A M ODLYZKO Solving large sparse linear systems over finite fields Dans A J MENEZES et S A VANSTONE diteurs Advances in Cryptology CRYPTO 90 Lecture Notes in Comput Sci volume 537 pages 109 133 Springer Verlag 1990 Proc 10th Annual International Cryptology Conference Santa Barbara CA USA August 11 15 1990 181 Lam96 LL93 LLMP93 LM90 LM91 LM94 LV00 LN83 Lob95 Mas69 Mat99 MY92 MY96 Mau94 MW96 MOV93 R LAMBERT Computational aspects of discrete logarithms Phd thesis University of Waterloo 1996 A K LENSTRA et H
81. ma am ne plusieurs remarques Toutes sont pertinentes dans notre situation Connaissance partielle du r sultat Tout d abord l entier d qui param tre le nombre de points utilis s pour le calcul de la DFT est essentiellement conditionn par le nombre de coefficients inconnus du r sultat En effet d une mani re g n rale s il existe deux fractions rationnelles et W telles que le r sultat R s crive R U X X P Q o la complexit de l valuation des fractions rationnelles est ind pendante de d c est le degr de X P Q qui importe On illustre cette id e par un exemple Si l on sait que le produit des polyn mes P et Q vaut 1 X S X on pose PQ 1 X P Q Xa bj W X S 14 X45 152 Chapitre 8 Berlekamp Massey matriciel Il est ais de remplacer l tape de convolution par le calcul du 24 uplet suivant ea P 1 Q 1 w P w Q w Bwt P w Q w 1 Le Chacune des valuations co te un nombre constant de multiplications car les puissances de w sont pr calcul es on peut consid rer que la DFT de X est port e de la main Donc l tape de convolution garde la m me complexit lin aire en N Il est ensuite suffisant de s assurer que 27 gt deg S pour avoir une d termination unique de S par la DFT inverse Cette formalisation pourrait tre pouss e plus loin mais l exemple que nous donnons correspond a nos besoins Une autre mani re de traiter le
82. me F2 X Fonction sur la courbe gt C Resy G Norm Resy H ir Le choix de la base de facteurs dans l algorithme FFS s obtient en consid rant les deux c t s de la figure rationnel et alg brique On a ainsi deux bases de facteurs gauche du cot rationnel on choisit tous les polyn mes irr ductibles de degr inf rieur une borne b On les note 7 droite du c t alg brique on choisit tous les id aux premiers de degr 1 de l ordre maximal de K H Fo X Y H X Y dont la norme est de degr inf rieur la m me borne b On les note p On consid re ensuite de nombreuses expressions de la forme A X Y B X o A et B sont soumis aux contraintes deg lt d4 et deg B lt dg On recherche la friabilit la fois 2 5 Le crible de corps de fonctions FFS 39 du c t rationnel et du c t alg brique Du c t rationnel on souhaite donc avoir la friabilit du polyn me C X A X 1 X BUX u2 X et du c t alg brique on veut que la norme de la fonction A X Y B X soit friable Cette norme s crit D X Resy H X Y A X Y B X Bien que cela ne soit pas apparent si l on prend pour H l expression correspondant lal gorithme de Coppersmith alors C X et D X correspondent bel et bien aux polyn mes du m me nom introduits dans l algorithme de Coppersmith Une paire A B telle que C et D sont friables correspond presque une relati
83. mes P 1 Pict be s de la forme V o V d crit l ensemble des diviseurs de P sans facteurs carr s En outre deux tels polyn mes H sont toujours distincts DEMONSTRATION La preuve de ce r sultat est donn e dans Nie93a Soit H une solution quelconque de l quation Notons U pgcd P H et V et W les deux polyn mes tels que P UV et H UW On a alors UVUW UW VW V W W W vw Or comme pgcd V W 1 W w d o il d coule W 0 et donc V W P Il s ensuit que U y et donc H est de la forme annonc e Comme les polyn mes V et W c est dire V et V sont premiers entre eux le polyn me V est sans facteurs carr s R ciproquement il est ais de v rifier qu un polyn me H ayant la forme annonc e satisfait quation Le fait que les polyn mes H ainsi construits sont tous distincts tient au fait que pour P H a ona z d P H pgcd V V pecd P H 7 pecd V V 7 d o on conclut que la correspondance V H est biunivoque a Construction d un syst me lin aire On d duit de la proposition pr c dente le nombre de solutions de l quation diff rentielle consid r e Si P se factorise sous la forme P FO Fem 3 7 Strat gies de factorisation des relations 67 alors le nombre de polynomes H distincts possibles est 27 Comme en outre l espace des solu tions de l quation HP H constitue un sous espace vectoriel de l
84. n cessaires En effet les degr s des polyn mes R au cours des tapes de l algorithme sont variables Le degr de R est not r Il peut descendre plus vite que pr vu Pour mesurer cette descente on introduit la notation suivante Notation 8 3 Soient U X et V X deux polyn mes avec deg V lt degU Soit s R Avec les notations pr c demment expos es on note s l unique indice tel que Ts 2 S gt T s 1 On a ainsi par construction deg U 0 En dehors de cette donn e tout ce que l on peut dire de s est que c est une fonction d croissante et aussi que s s cette relation se v rifie facilement Pour tout le raisonnement qui suit on va fixer l hypoth se deg V lt deg U Comme on l a vu pr c demment c est la quantit T qui permet de calculer P 41 Qi41 et R 11 On peut crire matriciellement P By Pea Fi 0 1 Qi Qi Q Qi G T Ri Run Ri1 Ri 136 Chapitre 8 Berlekamp Massey matriciel M X Mi 1 X T X o l on a pris les notations convenables pour M X et T X Il est important de remarquer que la matrice Mo n est autre que LD U V Mo Nous allons baptiser II X la matrice T 41 X T X en prenant la convention II I2 Cette matrice v rifie la propri t M Mill j En outre en vertu de la forme connue de Mo on sait que Ilo n est autre que Ia i z l mg 6 Qi Utilisation d une information incompl te L
85. nous faut avant le i et apr s le point de synchronisation revenir si besoin l tape src_vec v dst_vec w On souhaite viter l introduction d un point de synchronisation suppl mentaire Pour cela les modifications suivantes doivent tre apport es On n inclut pas ici le code de la fonction barrier_wait disponible avec l ouvrage But97 Avant le point de synchronisation chaque thread calcule sa propre contribution aux produits 67 v et aT w Ce calcul peut tre effectu concurentiellement par les diff rents threads A entr e dans la fonction barrier_wait qui doit donc tre modifi e en cons quence chaque thread profite de l instant o il dispose d un lock exclusif c est dire qu il est tranquille pour ajouter ces contributions un compteur Le dernier des threads rejoindre ce point de synchronisation v rifie l galit des deux 3A l entr e du point de synchronisation pour qu un thread teste de fa on s re qu il est le dernier entrer il faut r fl chir 128 Chapitre 7 Implantation de BW compteurs en question pendant qu il dispose du lock Une fois cette galit test e il met jour un indicateur binaire selon qu elle est vraie ou fausse Tous les threads en sortie du point de synchronisation testent cet indicateur binaire et recalculent le cas ch ant l it ration Chapitre 8 Calcul sous quadratique de g n rateurs lin air
86. on a d j peu pr s autant de choix possibles pour Q que d l ments dans la base de facteurs 64 Chapitre 3 Techniques pour l algorithme de Coppersmith aussi un r seau de F2 X c est dire un F2 X module de rang maximal dans F2 X ce titre ce r seau a une base naturelle donn e par u 1 X v 0 Q On veut transposer la terminologie connue pour les r seaux r els notre situation o F2 X joue le r le de Z Pour cela il faut d finir une norme sur les polyn mes ainsi que sur les vecteurs de F2 X La norme choisie est naturellement la norme de Dedekind IPI EXP 28 On munit ensuite F2 X de la norme L Dans ce contexte les normes des vecteurs u et v ainsi que le volume du parall logramme form par u et v sont donn s par h lull amp 2 Jol 2889 Idet u v 2deeQ Il s ensuit comme dans le cas r el que nous avons bien une base du r seau Bien entendu cette base n est pas convenable pour effectuer des calculs car les normes des vecteurs u et v sont trop importantes Des combinaisons F2 X lin aires petites de u et v donnent en particulier des polyn mes B de grande taille ce qui n est pas souhaitable Il est important de trouver une base du r seau avec des vecteurs plus courts Id alement on souhaiterait pouvoir trouver des vecteurs presque orthogonaux c est dire tels que det u v soit aussi proche que possible du produit u v Deu
87. orie alg brique et algorithmique des nombres est aussi intervenue en cryptologie par le biais de la diversification des cryptosyst mes et plus g n ralement des contextes cryptographiques Limit s l origine au groupe Z nZ pour ce qui concerne le cryptosyst me RSA et le protocole de Diffie Hellman ces contextes sont devenus beaucoup plus vari s avec la d finition d exigences de plus en plus fines de la part du consommateur de cryptosyst mes D une utilisation une autre celui ci peut insister sur divers aspects avoir une petite taille de clef avoir un tr s petit temps de chiffrement ou bien de d chiffrement avoir de petites signatures Ce sont l autant d exigences qui consacrent chacune ind pendamment un 2 Introduction contexte cryptographique pr sentant les avantages ad quats pour un usage pr cis par rapport aux autres contextes Pour r pondre de mani re pr cise ces besoins vari s il est apparu n cessaire d introduire des concepts math matiques de plus en plus vari s Le groupe Z nZ cet gard n est que le d but de l histoire Algorithmes sous exponentiels L ventail des algorithmes d ploy s en cryptanalyse a fait appara tre pour r soudre les probl mes difficiles que sont la factorisation d entiers ou le logarithme discret des algorithmes sous exponentiels Pour une taille de probl me n leur complexit s exprime par la fonction ou classe de fo
88. pour produire des relations Plus sp cifiquement les m thodes de crible par r seau vues en 3 6 sont parfaitement adapt es la diff rence pr s qu il faut choisir les param tres d h k en fonction de q Le param tre d donne le degr maximal des paires A B consid r es Si l on veut raisonner en termes de coefficients dans la base du r seau associ ces coefficients ont un degr maximal de d 4 puisque les vecteurs de base du r seau sont de degr 4 en moyenne Nous posons d zq Le choix de k et h s en d duit puisque l on prend pour k une puissance de 2 proche de VF et hi 7 Dans le cas le meilleur on obtient ainsi une paire C D quilibr e Nous cherchons obtenir une relation bgq friable Nous avons vu que les contraintes pour qu une telle relation existe dans le r seau consid r nous imposaient pour b xq l quation nd nd 2d q gt 4 logy 2z 1 gt Vzx La plus petite valeur de z satisfaisant cette relation s obtient en r solvant l quation associ e ce qui donne 2 ijl z Lee x ee Sl y 2 2 2 8 d f x Par rapport au choix simple z Le qui donne d 5 q b soit le choix fait par Coppersmith l avantage ici est que z est parfois plus petit Comme z conditionne la com plexit de cette tape de r duction qui est en Ly 4 y zclog 2 on obtient un gain dans 3 8 D termination de logari
89. que le nombre total de polyn mes qualifi s pour une borne de qualification gale q que ces polyn mes soient b friables ou pas est donn par SleMon u 2 furet BCA t l u k2q De ces formules d rivent les repr sentations de la figure 3 8 Les grandeurs consid r es font qu aucun soin particulier n est n cessaire pour l valuation des coefficients des s ries formelles mentionn es il est donc possible de mener des calculs exacts malgr le manque d int r t de la vingti me d cimale L emploi de d veloppements asymptotiques est alors probablement de peu d int r t leur obtention n apparait pas comme vidente et pour les petits degr s de polyn mes qui nous int ressent il n est pas impossible que le d veloppement asymptotique doive tre pouss assez loin pour obtenir une approximation correcte des grandeurs qui nous int ressent G n ralisations de la m thode d valuation Bien que la description qui vient d tre faite ne tienne pas compte des large primes ceux ci peuvent s ins rer ais ment dans le sch ma Les s ries formelles manipul es deviennent un peu plus compliqu es Un autre facteur de complication des critures est l omission du crible sur les puissances des polyn mes irr ductibles En effet le b n fice est l aussi maigre compar au co t Similairement on peut faire entrer cette consid ration en ligne de compte dans l criture des s ries formelles 12L
90. r sultats peut se trouver dans BGLO3 6 3 L algorithme de Wiedemann par blocs Nous avons pr sent l algorithme de Wiedemann pour la r solution de syst mes lin aires sur les corps finis Cet algorithme pr sente l inconv nient d tre trop s quentiel dans le sens o les coefficients a xT B y ne peuvent par construction tre calcul s que un un au cours de l algorithme On aimerait mettre en place une version par blocs de cet algorithme pour b n ficier des avantages nonc s en 5 3 2 Cette version par blocs pr sente l avantage que la probabilit de succ s est augment e l instar de ce qui se passe avec l algorithme de Lanczos 6 3 1 Introduction de blocs de vecteurs Pour obtenir une version par blocs de l algorithme de Wiedemann on remplace les vecteurs x et z par deux blocs de vecteurs Ces blocs sont choisis de tailles respectives m et n o m et 112 Chapitre 6 M thodes utilisant des g n rateurs lin aires n sont deux entiers arbitraires Bien s r plusieurs changements se d duisent En particulier la suite des az tout en gardant la m me formulation ak xT By est d sormais une suite de matrices on a toujours y Bz La s rie qui la repr sente est A X ak XF Elle appartient d sormais K X En formulant ainsi la g n ralisation de l algorithme on voit que la formulation adopt e plus haut pour l algorithme de Wiedemann ne peut pas tout fait se tr
91. s attend Ainsi toutes les op rations dans le programme 7 2 doivent n cessairement tre soigneuse ment ordonn es car sinon on court le risque d avoir un comportement non d terministe du programme Et ce risque est bien r el 7 2 4 Equilibrage Le programme 7 2 contient des points de synchronisation Les threads ont donc tendance a attendre le thread le plus lent Il faut donc viter toute raison structurelle pouvant faire qu un thread soit plus lent que les autres Or le temps d ex cution d une it ration par un thread est proportionnel au nombre de coefficients non nuls dans la tranche concern e de la matrice B Nous devons donc quilibrer ces tranches Si l on observe la figure 5 1 page 89 on voit que les matrices que nous avons eu traiter n ont pas leurs coefficients r partis de fa on uniforme En particulier ces coefficients ne sont pas du tout r partis uniform ment sur les colonnes ce qui aurait rendu un bon quilibrage particuli rement difficile si l on avait choisi de d couper selon les colonnes L observation de la figure 5 1 montre toutefois que les lignes de la matrice ne sont pas non plus particuli rement quilibr es Nous avons donc crit un petit programme qui permute les lignes de telle sorte que le r sultat soit quilibr que l on souhaite parall liser le travail sur 2 4 6 8 ou 16 processeurs Le principe en est tr s simple Si est le ppcm des nombres de processeurs envisag s po
92. s r pas non plus laiss le nombre de lignes devenir inf rieur N 5 3 Algorithmes pour terminer la r solution Apr s l tape de l limination structur e on s int resse aux algorithmes qui permettent r ellement de terminer le calcul Nous nous int ressons deux algorithmes l algorithme de Lanczos et l algorithme de Wiedemann Leurs versions par blocs seront aussi tudi es Les derniers paragraphes de ce pr sent chapitre sont consacr s d abord l introduction de l alg bre lin aire black box contexte g n ral dans lequel on peut raisonnablement bien inclure les diff rents algorithmes tudi s ainsi qu la description de ce qu on entend lorsqu on voque des versions par blocs d algorithmes d alg bre lin aire Nous introduisons aussi bri vement Valgorithme de Lanczos L algorithme de Wiedemann qui occupe une place plus centrale dans ce m moire est tudi au chapitre 6 5 3 Algorithmes pour terminer la r solution 93 5 3 1 La multiplication matrice x vecteur alg bre lin aire black box En notant toujours y le nombre de coefficients non nuls par ligne de la matrice B consid r e on peut tirer parti de la faible valeur de y en n autorisant qu un seul emploi de la matrice B la multiplication par un vecteur On exclut toute manipulation l int rieur de la matrice B Vinverse de ce que l on a pratiqu dans la SGE pr c demment expos e On dit alors
93. s que f d 4 0 Comme les termes de la somme 74 9 d f d sont tous positifs on en d duit que Vd n f d d Comme y n est non nul il existe un l ment g d ordre n dans G Cela revient dire que G est cyclique engendr par g a Pour un corps fini une autre fa on d noncer le r sultat qui pr c de est de dire que K est isomorphe Z q 1 Z Rendre explicite cet isomorphisme revient tant donn le choix d un g n rateur g savoir donner pour un l ment x K un entier k tel que g x L entier k est le logarithme de x en base g Calculer de tels logarithmes est le probl me souvent difficile sur lequel porte la premi re partie de ce m moire A 4 Propri t s des corps finis Une propri t incontournable des corps finis est l existence de l automorphisme de Frobe nius Proposition A 8 1 Soit K un corps fini de cardinal q p Soit x K Alors x4 x p us L L 2 Soit L une extension de degr n de K L application o q est un auto CH gt T morphisme de corps fixant K De plus o idz DEMONSTRATION La premi re assertion est triviale pour x 0 Pour un x non nul donc l ment du groupe K des l ments inversibles de K on a c 1 Comme K q 1 on d duit le r sultat en multipliant par x Pour la seconde assertion comme p 0 dans K on utilise le d veloppement par la formule du bin me de l expression o a b a b 4 Comme p divise p
94. se contenter d tudier le cas o deg 9 1 Supposons que deg gt 1 Soit L le corps de rupture de une racine de dans L et o l endomor phisme de Frobenius dans L g n rateur du groupe de Galois de L sur Fq Le sous espace caract ristique C p L associ dans L se d compose sous la forme d une somme directe de deg D sous espaces caract ristiques T ere o l action de B restreinte T est Aid Il existe un F isomoprhisme de C dans I not y tel qu un vecteur y de C s crive sous la forme gies o 1 y ly Oy Seo De fa on semblable au calcul d j fait on a alors p By Ss gt CCS DEOS l Comme les X X sont premiers entre eux le polyn me minimal de cette somme est le ppem des polyn mes minimaux Cela implique que fz Hy si et seulement si x et y sont tels que dans l espace I on a l galit car alors elle se transmet aux conjugu s Ce lemme implique qu il est suffisant de s int resser au cas o deg 1 on rappelle que y est un isomorphisme Pour finir de sp cifier notre cas d tude il est clair qu tudier la valeur propre 0 suffit traiter le cas g n ral quitte changer la base de K X en consid rant les puissances de X A Soit donc B une matrice nilpotente dans un espace de dimension N La suite des noyaux it r s K Ker B est croissante concave et stationnaire Si l on note d dim K dim K _1 on peut crire la d comp
95. sert juste all ger les calculs on choisit typiquement de d terminer une fraction constante des points comme tant distingu s par exemple au vu de leur criture binaire Ma tre 1 Soit L 2 Pour chaque point distingu y a b d tect par les esclaves s il existe un autre triplet y a b L avec y y et a a alors retourner Le Sinon ajouter y a b L Esclaves 1 Soit a b al atoire dans Z nZ et y x g 2 y f y et calculer le nouveau couple a b 3 Si y est distingu remonter au maitre sous la forme y a b 4 Reprendre l tape 2 jusqu la O n it ration Ensuite recommencer en 1 En vertu des m mes propri t s du graphe de f que celles voqu es pr c demment on est assur que le maitre trouve des points distingu s au bout d un temps O n Champ d application Comme on va le voir par la suite il existe dans certains cas des algorithmes ayant une complexit bien meilleure que ceux mentionn s ici Toutefois on ne fait pratiquement pas d hypoth se ici sur le groupe G les restrictions pratiques impos es par l nonc 2 3 sont insignifiantes Cela a pour cons quence que les algorithmes expos s ici s appliquent la o aucune autre m thode n est valide En v rit ces hypoth ses sont les hypoth ses les plus faibles que l on peut faire pour qu un groupe soit utilisable en cryptographie et dans ce contexte Shoup a montr dans
96. sp cification POSIX pr cis ment en ce point puisque plusieurs processus sont cr s pour les diff rents threads Cette implantation semble tre en 9 5 Obstacles rencontr s technique et sociologie 165 pour la gestion des communications entre les threads Cette approche impose donc une limite bien trop forte Elle est en outre assez proche de l inutile puisqu on peut liminer la restriction ais ment Il suffit de faire croire au programme de soumission que la t che finit imm dia tement en ayant entre temps essaim quelques processus fils qui se seront d tach s de leur processus p re normal ceci en utilisant l appel syst me setsid on cr e ainsi des processus fils de init Le petit programme 9 1 crit en perl sert ce but usr bin perl w use strict use POSIX setsid Usage daemon pl lt running_dir gt lt output_file gt lt program gt lt arguments gt ENV PATH bin usr bin my dir shift ARGV my output shift CARGV chdir dir or die Can t chdir to dir defined my pid fork or die Can t fork exit if pid open STDOUT gt output or die Can t write to output setsid or die Can t detach open STDERR gt amp STDOUT or die Can t dup stdout open STDIN lt dev null or die Can t dup stdin exec ARGV Programme 9 1 Le programme daemon pl Nous avons rencontr d autr
97. traduction fran aise n est pas vocatrice 2 Wet re 7 x s L Sat En surchargeant ainsi une machine de type PC 8 processeurs on a obtenu de mani re d terministe un plantage du syst me 7 3 Tol rance aux pannes r cup ration 127 Dans tous les tests que nous avons men s sur des machines tr s diverses avec un nombre de processeurs allant jusqu 8 le facteur d acc l ration obtenu par l utilisation de threads s est av r tre presque exactement le nombre de processeurs utilis s Tout au plus a t on d plor une perte de l ordre de 5 Par ce bon comportement on doit comprendre que notre chance a t le fait de ne devoir parall liser que sur un petit nombre de processeurs Tous les essais de parall lisation plus grande chelle sur des machines massivement parall les montrent que les choses sont beaucoup plus difficiles lorsque l on cherche utiliser concurentiellement un nombre de processeurs de l ordre de 256 ou plus 7 3 Tol rance aux pannes r cup ration Notre mode de gestion des t ches effectuer sur les diff rentes machines qui sont parfois assaillies par d autres utilisateurs n est pas sophistiqu Par exemple aucune consid ration de migration automatique de travail n a t envisag e Le syst me de gestion des t ches employ pourrait s appeler kill 9 La raison en est simple comme nous le verrons au chapitre 9 la disparition des processus est une chose
98. tre vues comme essentiellement indicatives 3 4 Le crible partiel valuation statistique des contributions des facteurs 57 graphique 6 et 22 pour le troisi me et 10 et 23 pour le quatri me Les diff rentes valeurs possibles de la borne de qualification sont donn es en abscisse Sur chaque graphique la partie gris e repr sente la proportion des polyn mes friables qui passent le crible On cherche maximiser cette quantit Il est clair que si le crible est complet alors un polyn me friable a une contribution maximale donc la zone gris e reste cal e 100 Dans les autres cas cause de la dispersion statistique de la contribution des facteurs dans la plage s lectionn e il est net que cette zone gris e d croit si la borne de qualification est trop stricte On repr sente ainsi le premier des effets mentionn s ci dessus La qualit de s lection du crible est la courbe qui se d tache sur les graphiques On souhaite aussi maximiser cette qualit Elle indique en fonction de la borne de qualification choisie la proportion des polyn mes friables parmi les polyn mes qualifi s On repr sente ainsi le second des effets mentionn s plus haut Le comportement de cette courbe varie peu en fonction des situations elle doit tre vue comme une r f rence associer la seconde donn e En effet la borne de qualification doit tre choisie de telle sorte que les deux quantit s tudi es so
99. une souplesse beaucoup plus importante dans le choix des param tres notamment en ce qui concerne le param tre jouant le r le du param tre not k dans l algorithme de Coppersmith La pr sentation suivante du FFS est inspir e de AH99 JLO2 Dans les notations que nous prenons nous donnons le m me nom aux variables qui intervenaient d j dans l algorithme de Coppersmith puisqu elles jouent un r le similaire Supposons que nous avons choisi une repr sentation de For sous la forme F2 X I f X Il nous faut choisir deux polyn mes deux variables H X Y et G X Y ayant une racine commune dans F n le polyn me G tant de degr 1 en Y Comme le crible alg brique le FFS est tr s sensible la taille des coefficients des polyn mes G et H On s attache donc construire de petits polyn mes G et H Avant m me de fixer le polyn me de d finition f la construction propos e par JL02 consiste choisir d abord le polyn me H X Y Cette construction est motiv e par le fait que pour la performance de l algorithme il est encore plus important de contr ler H que f Soit k un entier Nous donnerons sa valeur asymptotique plus loin ce param tre joue le m me r le que dans l algorithme de Coppersmith mais ici il n est pas contraint tre une puissance de 2 Soit H X Y un polyn me de degr k en Y qu on crit H X Y hk XY hi X Y ho X Les coefficients h X sont choisis de degr n mod k
100. une valeur approch e du cardinal de B peut tre obtenue sans peine b 1 En utilisant la proposition A 15 ona 6 2 La suite des op rations consiste engendrer des relations entre les x plus exactement entre les log t Dans le cadre de l algorithme d Adleman on r p te autant que n cessaire l op ration suivante Choisir m au hasard dans 0 2 1 Calculer X mod f S il est b friable conserver sa factorisation X 7 mod f Nous avons suppos implicitement que X est un l ment primitif c est dire que la classe de X dans For est un l ment g n rateur du groupe multiplicatif Les logarithmes sont expri m s en base X 1Ce choix sera d taill lors de l analyse Pour l algorithme d Adleman b yn 2 3 L algorithme d Adleman 25 Phase 2 Si op ration pr c dente est r p t e un nombre suffisant de fois on dispose d un grand nombre de relations Si l on prend le logarithme de chacune de ces relations on obtient des relations de la forme m de log 7 mod 2 1 au Ceci fait du vecteur log 7 la solution d un syst me lin aire d fini modulo 2 1 Si l on dispose de suffisamment de relations il nous en faut B 27 ce syst me lin aire poss de avec forte probabilit une solution uniquement d termin e Il faut donc le r soudre Phase 3 La derni re phase consiste obtenir le logarithme discret d un l men
101. 002 G VILLARD A study of Coppersmith s block Wiedemann algorithm using matrix poly nomials Rapport de recherche 975 LMC IMAG Grenoble France Apr 1997 D WEBER et T DENNY The solution of McCurley s discrete log challenge Dans H KRAWCZYK diteur Advances in Cryptology CRYPTO 98 Lecture Notes in Com put Sci volume 1462 pages 458 471 Springer Verlag 1998 Proc 18th Annual Inter national Cryptology Conference Santa Barbara CA USA August 23 27 1998 D H WIEDEMANN Solving sparse linear equations over finite fields EEE Trans Inform Theory IT 32 1 54 62 Jan 1986 P ZIMMERMANN An implementation in GMP of Sch nhage s fast multiplication al gorithm modulo 2 1 1998 Programme mul_fft c dans la distribution de GMP versions 4 x GMP R sum Le calcul de logarithmes discrets est un probl me central en cryptologie Lorsqu un algo rithme sous exponentiel pour r soudre ce probl me existe le cryptosyst me concern n est pas n cessairement consid r comme disqualifi et il convient d actualiser avec soin l tat de l art de la cryptanalyse Les travaux de ce m moire s inscrivent dans cette optique Nous d crivons en particulier comment nous avons atteint un record de calculs de logarithmes discrets F607 Dans une premi re partie nous exposons les diff rentes am liorations que nous avons ap port es l algorithme de Coppersmith pour le calcul de logarithmes discrets en
102. 1 La raison de cette variation est que l on tient conserver une correspondance simple entre ar tes du graphe et relations D cr ter ici que l anc tre de Q2 a pour parent Q ou bien l anc tre de Q1 n cessiterait trop de calculs En particulier cela n cessiterait la lecture de toutes les relations allant de Q2 son anc tre ce qui induirait une p nalit trop forte en termes d entr es sorties La contrepartie du choix que nous faisons est que la profondeur moyenne des sommets dans les arbres associ s aux composantes connexes est plus grande qu avec l algorithme standard Dans la pratique cet aspect n a toutefois pas eu d influence notable Au fur et mesure de l insertion des ar tes dans le graphe on garde donc le compte exact du nombre de cycles que l on est en mesure de cr er Lorsque l objectif est atteint on traite alors une par une les relations engendrant des cycles Cela n cessite de prendre en consid ration toutes les relations correspondant aux ar tes des cycles concern s En pratique on a toujours le large prime 1 comme anc tre commun des sommets consid r s donc l expression d une relation ff ne pose pas de probl me Comme on l a mentionn au fur et mesure de la description des diff rentes actions possibles sur le graphe il est ais de maintenir une trace de plusieurs propri t s du graphe notamment son nombre de composantes connexes son nombre d ar tes de sommets et p
103. 2 41 158 60 9 63 04 89 10 18 64MB 108 92 3 105 58 0 179 08 24 121 11 16 96 56 190 28 27 15 14 69 55 32MB 108 68 2 110 42 4 106 84 1 210 72 46 144 14 0 126 87 12 4MB 8MB 16MB Figure 3 9 Influence de y et sur le temps de crible On s attend ce que la dimension de l espace directeur de S soit 6g 1 deg g Nous allons voir que calculer quels sont les points de S peut se faire ais ment m me lorsque cro t Les op rations qui nous sont utiles sont des d calages arithm tiques et des op rations logiques sur les bits Faisons la supposition que degg lt g 1 Un point de base de S est le point s donn par so AX B X 8 1 mod g On identifie ais ment g 1 deg g vecteurs de l espace directeur S de S qui sont les X g pour 0 lt i lt g deg g On obtient ais ment autres vecteurs une fois que l on a calcul la valeur de X mod g et cette valeur est une valeur interm diaire du calcul de sq ce sont les X X i mod g pour 0 lt i lt e Ces vecteurs sont faciles calculer car le passage de i 1 fait simplement intervenir un d calage arithm tique et ventuellement une op ration XOR ou exclusif Le co t de Vinitialisation du crible en fonction de est donc presque invariant avec Il est de l ordre d une r duction modulaire et quelques op rations comparablement triviales Ce co t est
104. 4 c pour calculer des logarithmes discrets 3Pour les m mes raisons que celles qui font de Fj127 un candidat de choix pour l implantation 2 4 L algorithme de Coppersmith 29 Polynome de d finition Tout d abord l algorithme de Coppersmith requiert que le polyn me de d finition f X employ pour l extension soit de la forme X f X avec f1 X du plus petit degr possible Heuristiquement obtenir f de degr O log n est toujours faisable Param tres de l algorithme Outre le choix du polyn me de d finition l algorithme de Coppersmith requiert le choix de plusieurs param tres b d k et h Nous verrons en d tail lors de l analyse les valeurs asymp totiques de ces param tres Nous discuterons aussi l influence respective de chacun d entre eux Pour l instant on se contente de mentionner les contraintes auxquelles ces param tres sont soumis Le param tre b est comme pr c demment la borne de friabilit Le param tre d est un entier comparable b Le param tre k est une puissance de 2 le plus souvent k 4 Le param tre h est gal z Obtention des relations L id e de Coppersmith est la suivante Pour toutes les paires A B de polyn mes de F2 X premiers entre eux et de degr born par d par la suite on appellera souvent cet espace espace de crible pour des raisons qui appara tront claires en 3 3 former les polyn mes C AX B D C mod f AF
105. 400 365 19000 4 4 Alg bre lin aire 77 de la base de facteurs Les donn es plus fines sur les diff rents cycles produits par la double large prime variation sont consign es dans les tables 3 2 page 48 et 3 3 page 49 On peut noter que le plus gros des cycles ainsi produits impliquait pas moins de 40 relations partielles donnant une relation avec un nombre de termes d passant 500 En excluant les cas extr mes comme celui ci la densit moyenne des 766 150 relations les moins lourdes s levait 67 7 4 4 Alg bre lin aire La deuxi me phase de l algorithme a consist effectuer un calcul d alg bre lin aire Les algorithmes sous jacents ainsi que les d tails de ce calcul sont d velopp s dans la partie IT de ce m moire 4 5 Logarithmes individuels Une fois que l on a obtenu la solution de notre syst me lin aire le 18 f vrier 2002 on a pu entamer la fin du calcul D abord les diff rents logarithmes ainsi trouv s par la r solution du syst me lin aire ont t substitu s dans toutes les relations dont nous disposions pour d terminer ainsi tous les logarithmes qui pouvaient l tre De cette fa on 766 009 logarithmes ont t obtenus ce qui signifie que notre impr cision est tr s faible seulement 141 logarithmes ont t ainsi oubli s parce qu aucune relation ne les faisait intervenir On a aussi utilis le m me m canisme de substitution dans les relations partie
106. 6 2 1 Pr sentation et principe L algorithme de Wiedemann a t introduit en 1986 Wie86 C est le premier algorithme sp cifiquement con u pour tre appliqu dans le cadre des syst mes lin aires d finis sur les corps finis la diff rence de l algorithme de Lanczos qui a t adapt d une m thode num rique ancienne L algorithme de Wiedemann est un algorithme probabiliste de type Monte Carlo avec une faible probabilit il peut ne pas produire de r sultat correct Le principe de fonctionnement de l algorithme permet de relier cette probabilit aux propri t s de r duction de la matrice d entr e consid r e Nous nous int ressons toujours la r solution du syst me lin aire homog ne Bw 0 o B est singuli re de taille N x N d finie sur un corps fini K poss dant y coefficients non nuls par ligne Comme la matrice B est singuli re X divise son polyn me minimal u Il existe donc un polyn me p et un entier k tels que u X t p k gt 0 et y 0 A 0 Dans ce cas on a la proposition suivante 6 2 L algorithme de Wiedemann 107 Proposition 6 8 Soit k 1 la valuation en X du polyn me minimal u et u X t1y Avec probabilit 1 1 q o mo est la multiplicit de la valeur propre 0 de B un vecteur x de KN est tel que u B x 4 0 On peut obtenir partir d un tel vecteur un vecteur de Ker B DEMONSTRATION Notons E Ker B 1 le sous espace caract ristique associ la
107. 78 9g p o Bo AX mod g Pour parcourir efficacement cet espace affine on veut n avoir a effectuer que des additions polynomiales jamais des multiplications La notion de code de Gray permet de parcourir un espace vectoriel sur F2 en ne faisant qu une addition de vecteur de base chaque tape on pr sente en g n ral le code de Gray comme un parcours des sommets d un hypercube qui n est rien d autre qu un espace vectoriel sur F2 La proposition suivante nous donne le parcours consid rer SDans notre cas deg C gt deg D La probabilit de friabilit de C est donc inf rieure celle de D Dans le cas contraire cribler sur D est plus avantageux Ce cas sera abord page 54 54 Chapitre 3 Techniques pour I algorithme de Coppersmith Proposition 3 3 Soit V eo a_1 F un espace vectoriel de dimension d sur F2 Pour un entier i notons i Vindice du premier bit non nul de i c est dire le plus grand entier k tel que 2 i Soit un n la suite d finie par uo 0 Un Un 1 Ellin Alors u0 usa_1 est l ensemble des points de V D MONSTRATION La preuve est une r currence Pour d 0 le r sultat est trivial Soit maintenant d gt 0 On sait par hypoth se de r currence que ug Uga_ est l ensemble des points de e9 g_1 F En outre on a 2 d donc uga eq Uga_ Pour chaque entier i tel que 0 lt lt 24 on a 2 i i Par cons quent
108. 79 parall lisation 121 163 parallel collision search 22 param tres dans l algo de Coppersmith 34 75 perl 80 165 Pohlig Hellman 17 point distingu 22 Pollard rho 20 polyn me de d finition choix 35 polyn me minimal 176 Index d une suite 106 POSIX 122 procmail 79 PVM 81 race condition 126 refriabilisation 72 special Q sieving 63 structured gaussian elimination SGE 88 table de hachage 47 threads 122 transform e de Fourier 150 unimodulaire 106 union find 45 vector generating polynomial 104 Wiedemann 106 par blocs 111 Adl79 A d194 AD93 ADH94 AH99 AHU74 BL94 BC99 Ber68 BAS0 BFHMV84 BMV85 BR96 BFO1 BGLO3 But97 CA B00 Bibliographie L M ADLEMAN A subexponential algorithm for the discrete logarithm problem with applications to cryptography Dans 20th Annual Symposium on Foundations of Computer Science FOCS 79 pages 55 60 IEEE Computer Society Press 1979 San Juan Puerto Rico October 29 31 1979 L M ADLEMAN The function field sieve Dans L M ADLEMAN et M D HUANG diteurs ANTS I Lecture Notes in Comput Sci volume 877 pages 108 121 Springer Verlag 1994 1st Algorithmic Number Theory Symposium Cornell University May 6 9 1994 L M ADLEMAN et J DEMARRAIS A subexponential algorithm for discrete logarithms over all finite fields Math Comp 61 203 1 15 Jul 1993 L M ADLE
109. 8 4 6 Complexit Evaluons la complexit de l algorithme chaque tape t les op rations suivantes sont effectu es Calcul de la matrice e 0 X4 Af Application de l algorithme ComputePMatrix1 Multiplication de f par la matrice P ainsi calcul e On peut remarquer que les coefficients des m colonnes de la matrice e 0 qui ont servi de pivot pour limination gaussienne r apparaissent automatiquement l tape t 1 Seules n colonnes doivent donc tre calcul es Le degr moyen des colonnes de f est donn par qui vaut nr asymptotiquement Le nombre de multiplications dans le corps de base 148 Chapitre 8 Berlekamp Massey matriciel n cessaires pour calculer la matrice e 0 en tenant compte de l information qui peut tre recycl e depuis les tapes pr c dentes est mn mn t t m n m n L algorithme ComputeMatrix1 prend un temps qui ne varie pas du moins tel qu on l a d crit Toutefois pour calculer f P efficacement on le calcule au cours de la construction de la matrice P qui ne devient plus qu un sous produit de l algorithme Le nombre de multiplications effectuer est gouvern par le nombre de multiplications par des matrices de transvection les additions de multiples de colonnes Cela am ne compte tenu du degr moyen de f t mn multiplications dans le corps de base La valeur maximale de t tant par l algorithme est min d
110. A engendrent l espace K X1 entier en supposant donc implicitement qu un tel indice s existe Si ce n est pas le cas alors l ensemble des colonnes des coefficients de forme un sous espace vectoriel strict On peut donc combiner certaines lignes de A pour faire appara tre une ligne nulle dans A En tant cette ligne et en diminuant m on peut donc se ramener au cas g n rique En fonction des deux grandeurs s et d que l on vient d introduire les deux algorithmes que nous pr sentons maintenant l algorithme de Coppersmith et notre am lioration sous quadratique fournissent en suivant le m me sch ma de calcul une preuve de l assertion qui suit Proposition 8 7 Un g n rateur lin aire droite F K X pour A peut tre calcul de mani re d terministe en utilisant uniquement les L premiers coefficients de A c est dire A mod X o L s ua n Le g n rateur lin aire F calcul v rifie 5 F AF lt s Za n 3Cet entier s joue le m me r le que l entier s introduit dans le cas scalaire qui valait 1 v v tant la valuation de A 8 4 L algorithme propos par Coppersmith 141 8 4 L algorithme propos par Coppersmith Nous commen ons par exposer la g n ralisation de l algorithme de Berlekamp Massey au cas matriciel propos e par Coppersmith Cop94 lorsqu il a d crit algorithme de Wiedemann par blocs Cet algorithme si on l applique dans le cas m n 1 e
111. C D Dans le cadre des calculs qui ont t effectu s les consid rations suivantes doivent tre prises en compte 17Bien s r on peut commencer par r duire u en rempla ant X par X mod Q mais cela n est pas suffisant 3 7 Strat gies de factorisation des relations 65 Algorithme GaussReducePoly Entr e Deux vecteurs u et v de F2 X Sortie Une base courte du m me r seau if ul gt v then return GaussReducePoly v u end if d1 Max Degree uv 1 Degree u 1 0 d2 Max Degree v 2 Degree u 2 0 w lt v 1 X d1 ult v 2 x7a1 ul2 gt w lt y 1 X d2 u 1 v 2 X d2 u 2 gt if Jw gt w then w w else w w end if if w lt lv then return GaussReducePoly w u end if return u v Programme 3 10 R duction de r seaux de F2 X en dimension 2 Le polyn me C a t identifi comme ayant une probabilit de friabilit importante En revanche le polyn me D n a pas de probabilit particuli rement plus lev e que la moyenne d tre friable Quand bien m me un crible a pu tre effectu pour s lectionner la paire C D en fonction de la probabilit de friabilit de C il est exclu de conserver la liste des fac teurs identifi s du polyn me C Cette donn e serait trop encombrante et ralentirait consid rablement le crible Les polyn mes que l on cherche factoriser sont de degr plut t modeste ce degr
112. Dans J J QUISQUATER et J VANDEWALLE diteurs Advances in Cryptology EUROCRYPT 89 Lecture Notes in Comput Sci volume 434 pages 429 434 Springer Verlag 1990 Proc Eurocrypt 89 Houthalen April 10 13 1989 J RISSANEN Realizations of matrix sequences Tech Report RJ 1032 IBM Research T J Watson Research Center Yortown Heights New York NY 1972 R L Rivest A SHAMIR et L M ADLEMAN A method for obtaining digital signatures and public key cryptosystems Comm ACM 21 2 120 126 1978 H G RUcK On the discrete logarithm in the divisor class group of curves Math Comp 68 226 805 806 Apr 1999 T SATOH et K ARAKI Fermat quotients and the polynomial time discrete log algorithm for anomalous elliptic curves Comment Math Helv 47 1 81 92 1998 J SATTLER et C P SCHNORR Generating random walks in groups Ann Univ Sci Budapest Sect Comput 6 65 79 1985 O SCHIROKAUER D WEBER et T F DENNY Discrete logarithms The effectiveness of the index calculus method Dans H COHEN diteur ANTS IT Lecture Notes in Comput Sci volume 1122 pages 337 361 Springer Verlag 1996 2nd Algorithmic Number Theory Symposium Talence France May 18 23 1996 C P SCHNORR Efficient signature generation by smart cards J of Cryptology 4 3 161 174 1991 A SCHONHAGE et V STRASSEN Schnelle Multiplikation gr er Zahlen Computing 7 281 292 1971 R SEDGEWICK Algorithms Addison Wesley
113. FTs peuvent tre regroup es D une mani re g n rale pour une extension de degr k o k est une puissance de 2 on peut regrouper k DFTs en une Pour notre exemple notons i 1 Pour calculer simultan ment P et Q on calcule la DFT de P iQ Comme la conjugaison complexe permute les racines de l unit on conna t pour chaque puissance w de w les valeurs de P iQ w et P iQ w Il est trivial d en d duire P w et les autres valeurs qui nous int ressent Usage de la FFT enti re Par le proc d que l on vient de d crire on amoindrit la p nalit que repr sente le passage dans une extension alg brique Toutefois un gain nettement plus int ressant peut tre fait en se pla ant tout simplement sur les entiers L algorithme de multiplication rapide de Sch6nhage Strassen SS71 d crit dans vzGG99 et implant par exemple par Zim98 fonctionne selon le m me sch ma que celui que l on vient d exposer Pour multiplier deux entiers de N bits sa complexit est O N log N log log N La composante log log N ne doit pas tre vue comme un inconv nient de cette m thode puisque log log est une fonction tr s faiblement croissante 8 5 Une version sous quadratique 153 Bien au contraire elle est en fait la marque de ce qui fait l avantage de l algorithme Sans rentrer dans les d tails de son fonctionnement remarquons que dans la description faite au paragraphe pr c dent l arithm tique su
114. K X si et seulement si le produit A X f X est dans Ry 8x K X K X on a pris la notation A X nzo nX Un tel f X est appel g n rateur lin aire matriciel matrix generating polynomial Si l on reprend le m me nonc avec Ro K et Ry K on obtient ce que l on appelle un g n rateur lin aire vectoriel vector generating polynomial 6 1 3 Degr Pour l tude des g n rateurs lin aires et des polyn mes minimaux dans les cas clas siques qui correspondent au deuxi me exemple ci dessus la notion de degr est une notion importante Nous en introduisons ici une g n ralisation aux K X modules que l on consid re savoir les modules Ro x K X et R1 x K X Nous allons voir aussi que cette notion doit tre assortie d une grandeur auxiliaire not e 6 afin de conserver tout le pouvoir d expression auquel on est habitu D finition 6 3 Soit K un corps et M un K X module de type fini On appelle degr d un l ment f M not deg f la valeur maximale du degr des coefficients de l criture de f dans une base quelconque de M sur K X 6 1 G n rateurs lin aires 105 Cette d finition conserve toutes les propri t s du degr On a pris soin de pr ciser que l on consid rait des X X modules de type fini mais cette pr cision devra tre entendue comme implicite dans ce qui suit On introduit la notation suivante Notation 6 4 Soient f et g deux l ments
115. La matrice f est initialis e comme suit Pour les n premi res colonnes on choisit la matrice identit I Les m colonnes restantes sont choisies comme tant les X r pour k 1 m m D ANUS us xterm On prend s comme valeur initiale commune des 6 De cette fa on la condition C1 est valide pour chaque colonne puisque pour tout j on a 6 s il n y a pas de contrainte sur la d termination de gj et ej La condition C2 sur le rang de la matrice e 0 est une cons quence facile du choix des ik et des rx si l on note G X la matrice m x m form e par les m derni res colonnes de eW X A X f X div X5 on voit que le choix des i et des rx fait que les colonnes de B 0 sont les vecteurs vx qui forment une base de K La matrice G 0 est donc de rang maximal m Il en est alors de m me pour la matrice e 5 0 Pour permettre par la suite de prouver que l algorithme fournit un r sultat non trivial on g n ralise la preuve faite dans le cas scalaire en 8 2 1 On consid re la matrice h X de taille m n x m n obtenue en concat nant verticalement les matrices f et e Initialement la matrice A est In Xr CCR Co pis B X Comme i lt s pour tout k il est facile de voir que la partie en haut droite de A 0 est nulle On peut donc facilement calculer le d terminant de la matrice A qui est det A 9 0 det G 0 0 La matrice AW X est donc unimodulaire c est dire
116. Log g x m pj kj nj d finis comme ci dessus for j in 1 m do Y x h 9 lj 0 for s in heed by 1 do Invariant ord y ord h p 1 Log h Yi dj i p y yh h hP end for end for return ChineseRemainderTheorem j in 1 m p7 j in 1 m end function Programme 2 1 Algorithme de Pohlig Hellman Le pseudo code 2 1 fournit une criture en langage MAGMA de cet algorithme L algorithme de Pohlig Hellman s applique au cas o l ordre du groupe dans lequel on souhaite calculer des logarithmes discrets n est pas premier Toutefois il se peut que cette r duction soit de peu d int r t dans la situation o le meilleur algorithme pour r soudre le logarithme discret sur un sous groupe n est pas diff rent de celui utilis pour la r solution du logarithme discret sur le groupe entier Nous d taillons maintenant quelques algorithmes sp cifiques dans les groupes qui nous int ressent 2 2 Les algorithmes exponentiels Parmi les algorithmes permettant de r soudre le probl me du logarithme discret sur un groupe fini G de cardinal n on trouve d abord les algorithmes exponentiels en logn ayant plus exactement une complexit en O n Le point int ressant est que de tels algorithmes existent pour n importe quel groupe G pourvu qu il satisfasse aux hypoth ses minimales suivantes ces hypoth ses correspondent la notion de groupe g n rique au sens de Nec94
117. MAN J DEMARRAIS et M D HUANG A subexponential algorithm for discrete logarithms over the rational subgroup of the jacobians of large genus hyperelliptic curves over finite fields Dans L M ADLEMAN et M D HUANG diteurs ANTS I Lecture Notes in Comput Sci volume 877 pages 28 40 Springer Verlag 1994 1st Algorithmic Number Theory Symposium Cornell University May 6 9 1994 L M ADLEMAN et M D HUANG Function field sieve methods for discrete logarithms over finite fields Inform and Comput 151 1 5 16 1999 A V AHO J E HOPCROFT et J D ULLMAN The design and analysis of computer algorithms Addison Wesley Reading MA 1974 B BECKERMAN et G LABAHN A uniform approach for the fast computation of matrix type Pad approximants SIAM J Matrix Anal Appl 15 3 804 823 Jul 1994 E A BENDER et E R CANFIELD An approximate probabilistic model for structured Gaussian elimination J Algorithms 31 2 271 290 1999 E R BERLEKAMP Algebraic coding theory McGraw Hill 1968 R R BITMEAD et B D O ANDERSON Asymptotically fast solution of Toeplitz and related systems of linear equations Linear Algebra Appl 34 103 116 1980 I F BLAKE R FUJI HARA R C MULLIN et S A VANSTONE Computing logarithms in finite fields of characteristic two SIAM J Alg Disc Meth 5 2 276 285 Jun 1984 I F BLAKE R C MULLIN et S A VANSTONE Computing logarithms in Fon Dans G R BLAKLEY et D CHAUM
118. Soient u X et u2 X deux polyn mes de degr en Y On prend G X Y w2 X Y m X Constituons le r sultant suivant Resy G H m X H x aN Xa A A XX ho X p X Si notre choix de y et u2 est bon alors ce r sultant est un polyn me de degr n irr ductible Le fait que le degr soit gal n est tr s probable gr ce au choix fait pour le degr des hi Pour Virr ductibilit la probabilit est de l ordre de 1 On r p te le choix de 41 et u2 jusqu obtenir cette condition et on pose alors f Resy G H Notons que pour obtenir une plus grande souplesse sur le choix des coefficients de H on peut choisir 2 de degr bien inf rieur z voire u2 1 De cette fa on la contrainte deg h n mod k peut tre relax e puisqu en prenant simplement deg hg n mod k et deg h lt k 1 on obtient le bon degr La construction analogue pour l algorithme de Coppersmith consiste poser G Y X et H Y Xhk f X le r sultant est alors gal X f X ce qui revient au m me Une fois que les polyn mes G et H ont t ainsi form s on a alors deux polyn mes ayant une racine commune modulo f X savoir ut On a donc le diagramme commutatif suivant 38 Chapitre 2 Logarithme discret et cryptanalyse on e H xX Y H X Y mod N pa G Ce diagramme m rite quelques claircissements car son caract re allusif cache plusieurs points t
119. TAV sont d pendantes l algorithme choue Dans la pratique le nombre de ces colonnes est tr s petit devant leur nombre de coordonn es et dans la pratique elles sont toujours lin airement ind pendantes Dans le processus que nous venons de d crire l op ration la plus co teuse qui est effectu e chaque tape est le calcul du produit AW Les calculs des matrices C 1 requi rent quelques produits scalaires et des op rations sur des matrices n x n Il en est de m me pour 100 Chapitre 5 Pr sentation du probl me le choix des matrices d extraction S La composante majeure du co t de l algorithme est donc Vapplication r p t e de la matrice A un bloc de vecteurs Le nombre d tapes n cessaires est Z o n est l esp rance de n Ici est une constante Montgomery a d termin la valeur 0 76 L introduction de blocs dans l algorithme de Lanczos est avantageuse sur F2 En effet comme on l a dit plus haut cela nous permet d effectuer 32 op rations en une En outre si l on souhaite utiliser l algorithme sur F dans la perspective d une ex cution parall le ou distribu e par exemple il n est pas possible ici d enchainer les r currences sans communication entre les n uds prenant part au calcul Nous allons voir que cela rend l algorithme de Lanczos par blocs peu attractif pour une utilisation distribu e par comparaison avec l algorithme de Wiedemann 5 3 5 Unifica
120. XPE nf BF La derni re identit tient bien entendu au fait que k est une puissance de 2 Si C et D sont friables et s crivent respectivement 7 et af on a alors la relation LES Il mod f i i DES 1 mod f i SG ke loga 0 mod 2 1 a Nous obtenons ainsi une m thode pour fabriquer des relations Cette m thode nous offre la possibilit en jouant sur les param tres d quilibrer les degr s de C et D des valeurs peu lev es La complexit finale en b n ficie grandement comme on le verra lors de l analyse de Valgorithme R solution du syst me lin aire La partie alg bre lin aire ne se diff rencie pas particuli rement dans l algorithme de Coppersmith Nous verrons dans la partie II de ce m moire comment nous avons trait le probleme Une caract ristique particuli re des matrices qui nous int ressent peut d j tre mise en vidence les coefficients non nuls de la matrice sont r partis de mani re tr s in gale dans les diff rentes colonnes puisque le poids des colonnes correspondant aux polyn mes de petit degr est beaucoup plus lev Plus exactement la colonne num rot e par un polyn me 30 Chapitre 2 Logarithme discret et cryptanalyse irr ductible P de degr b a pour indice environ Z et ses coefficients sont non nuls avec probabilit 5 le num rateur correspondant aux deux polyn mes C et D qui sont factoris s titre de co
121. a A 5 Nombre de polyn mes irr ductibles sur F 173 A 5 Nombre de polyn mes irr ductibles sur F On peut s int resser au nombre de polyn mes irr ductibles ayant un degr donn sur F4 On a besoin pour cela d introduire la fonction de M bius et la formule d inversion du m me nom D finition A 13 Fonction de M bius On note u l application telle que u n 1 si n peut s crire comme produit de r nombres premiers distincts et u n 0 sinon La fonction u est appel e fonction de M bius Cette fonction v rifie la propri t suivante Proposition A 14 1 Vm n N m et n premiers entre eux gt mn u m u n 2 Si f et g sont deux fonctions de N dans C telles que Wn EN f n gt gld din alors g s obtient partir de f par la formule suivante vn EN g r D du din La v rification de cette proposition n est pas effectu e ici La formule donn e pour g n s appelle formule d inversion de M bius On peut l utiliser pour obtenir l expression du nombre de polyn mes irr ductibles de degr n sur F4 Proposition A 15 Soit I q n le nombre de polyn mes irr ductibles de degr n sur F pour n E N Ona 1 Xalq d qg din De EG Eau din DEMONSTRATION On obtient la premi re assertion partir de la propri t A 12 Il suffit de compter le degr du polyn me X X de deux fa ons distinctes Pour obtenir la deuxi me propri t on appliq
122. a baptis e BW2 Le calcul exact que l on doit mener est celui d un g n rateur lin aire vectoriel pour une suite de matrices m x n o les param tres s et d sont donn s par les arguments qui ont t d velopp s en 6 3 2 Ces valeurs sont respectivement s et a X i Proposition 8 14 Dans l algorithme de Wiedemann par blocs le co t de l tape BW2 est donn par l une des formules suivantes on continue noter aa j M mn y O N en utilisant Valgorithme de Coppersmith cf 8 4 6 3 2 sha D c Mi EN log N O N log N en utilisant notre algorithme cf 8 5 sous Vhypo th se que m et n sont en O log N Ces expressions d coulent des pr sentations qui ont t faites des algorithmes en 8 4 et 8 5 Notons qu l inverse des complexit s qui ont t donn es pour les tapes BW1 et BW3 en 6 3 6 nous ne parlons pas ici de complexit parall le puisqu il n a pas t question de parall liser aucun des algorithmes mentionn s ici Nous d duisons maintenant des formules pour les valeurs optimales de m et n Nous supposons pour cela que n machines sont toujours disponibles de telle sorte que les tapes BW1 et BW3 peuvent tre effectu es en parall le Rappelons les expressions qui ont t donn es en 6 3 6 pour les complexit s parall les des tapes BW1 et BW3 m n 1 BWI yMo N BW3 yMo N mn n Th or me 8 15 Si l algorithme de Coppersmith cf 8 4 est
123. a multiplication matrice x vecteur alg bre lin aire black box 93 5 3 2 Introduction de blocs 93 5 3 3 L algorithme de Lanczos 94 5 3 4 L algorithme de Lanczos par blocs 96 5 3 5 Unification des approches Lanczos et Wiedemann 100 6 M thodes utilisant des g n rateurs lin aires 103 6 1 G n rateurs lin aires 103 6 11 Formalisme s 1e aa pew ae lee Bele beh ae AAD Eo aed 103 6 12 Exemples sa sa ed ee dk tes in oe Ba te ol ae 104 GLS Degr ginea mp oae es as pate dass Se Ba oe dur eG ees 104 6 1 4 Minimalit 105 6 1 5 Descriptions en fractions rationnelles 105 6 1 6 G n rateur lin aire et polyn me minimal 106 6 2 L algorithme de Wiedemann 106 6 2 1 Pr sentation et principe 106 6 2 2 R cup ration des checs et implantation 107 6 2 3 Justification eip nea es ol Mid A Ne men al ea 109 6 3 L algorithme de Wiedemann par blocs 111 6 3 1 Introduction de blocs de vecteurs 111 6 3 2 La notion de g n rateur lin aire utiliser 112 6 3 3 Obtention d un vecteur du noyau 114 6 3 4 Structure de l implantation
124. a not ici la concat nation des informations Pour fabriquer la signature s e Alice fabrique a g partir d un entier al atoire k Elle calcule ensuite e H M a et s k ze On a alors g y a donc la relation voulue est v rifi e Les signatures produites par ce cryptosyst me peuvent tre courtes car elles reposent autant sur la difficult de calculer des logarithmes discrets que sur la difficult de trouver des collisions dans la fonction de hachage H 1 2 4 Le syst me de signature DSA Le syst me DSA a t propos par l organisme am ricain NIST et con u par la NSA en 1991 approuv en 1994 et mis jour en 2000 Pour pr senter l algorithme de mani re g n rique de fa on englober ses variantes ECDSA supposons que nous travaillons dans un groupe G muni d un g n rateur g et d une fonction quelconque de G dans Z nZ on englobe ainsi la fois la pr sentation originelle de l algorithme et la variante ECDSA On se donne en outre une fonction de hachage H L information publique d Alice est toujours y g o x est un entier al atoire secret La signature d un message m est un couple r s d entiers d finis modulo n avec s premier avec n v rifiant la condition suivante que Bob devra tester o glims yrs i 1 3 Cryptographie fond e sur l identit 13 Pour obtenir r et s Alice choisit au hasard un entier k premier avec n et a g Elle calcule r a et
125. able l utilisation d un algorithme dense les consid rations de minimisation du co t que l on vient d voquer font que l occupation m moire reste raisonnable Si l on enl ve ces contraintes elle peut exploser 5 2 5 Nature des coefficients Un point important remarquer dans l tude de l limination structur e est l importance de la nature des coefficients Que le syst me soit d fini sur un petit corps comme F ou au contraire sur un corps de grande taille comme les syst mes provenant d algorithmes de logarithme discret les coefficients de la matrice B en entr e sont en g n ral petits ils correspondent typiquement des exposants dans une factorisation donc de l ordre de grandeur de log N On peut consid rer qu en entr e ces coefficients peuvent sans probl me tre stock s dans un mot machine Si le corps de base est Fp et qu on laisse l limination gaussienne se d rouler sans pr ter attention a la croissance des coefficients ceux ci peuvent largement d passer la taille d un mot machine la faveur des diff rentes additions et multiplications de lignes de la matrice Ceci ouvre deux possibilit s distinctes laisser ou pas les coefficients cro tre au del de la taille d un mot machine Il s av re que le surco t la fois en m moire et en temps d un traitement en multipr cision est totalement prohibitif aussi bien pour l limination structur e que pour l algorithme utilis
126. acit Je remercie grandement Thierry Berger et Don Coppersmith pour avoir accept la lourde t che de rapporteurs malgr la barri re de la langue pour Don Coppersmith Leur regard tr s attentif et leur analyse profonde de mon travail m ont t tr s pr cieux J ai d une certaine mani re red couvert mon travail gr ce leurs commentaires Je remercie Xavier Roblot qui s est int ress mes travaux de th se ainsi qu aux autres chantiers sur lesquels je travaille actuellement Je remercie Nicolas Sendrier pour l int r t qu il a port mon travail et pour les discus sions que nous avons eues divers moments en divers coins du monde Je remercie Gilles Villard qui a su me donner les bons conseils pour am liorer la mise en forme de mes travaux sur le calcul de g n rateurs lin aires matriciels J ai effectu ma th se au LIX o j ai assid ment us les fauteuils de la pause caf Je remercie l ensemble du laboratoire pour m avoir accueilli Je remercie d abord Michel Weinfeld et Jean Pierre Jouannaud directeurs successifs du laboratoire pour avoir men le navire du petit nom donn nos locaux depuis le d m nagement de 1999 Je remercie aussi Jean Marc Steyaert Robert Cori et Philippe Chassignet qui m ont donn l occasion d enseigner quelques fois aux jeunes polytechniciens Le fonctionnement du laboratoire m a toujours offert de bonnes conditions de travail Ce succ s est d a
127. actoris en un produit de polyn mes dont tous les facteurs irr ductibles sont de m me degr EDF Equal degree factorization Chaque polyn me dont tous les facteurs irr ductibles sont de m me degr est factoris en produit de polyn mes irr ductibles Ce sch ma g n ral est partag par les algorithmes les plus performants connus actuellement pour la factorisation de polyn mes Il est apparu avec l algorithme de Cantor Zassenhaus CZ81 L tape co teuse est en g n ral la DDF Dans la plupart des algorithmes avanc s c est sur cette tape que se concentrent les efforts vzGP01 vzGG99 Ainsi on peut atteindre Une implantation r elle n emploie que des tableaux 3 8 D termination de logarithmes individuels 69 une complexit quadratique ou m me inf rieure en le degr du polyn me vzGS92 Sho90 Sho95 KS98 vzGG02 Ces algorithmes sont indiscutablement sup rieurs aux algorithmes de Berlekamp et Niederreiter pour des polyn mes de grand degr Dans notre cas le degr est relativement faible Dans les premi res exp riences que nous avons men es il d passait peine la centaine et pour le calcul de logarithmes discrets sur F 607 que nous avons effectu ce degr est inf rieur 200 titre de comparaison vzGG02 s int resse la factorisation de polynomes de degr sup rieur 16 384 Pour les degr s que nous avons rencontr s il est possible que l algorithme de Shoup par exemple Sho90 c
128. agm Q2 multiplicit G2 agm2 aim Q3 multiplicit 63 azm3 a2nv Qk multiplicit 8 army Ak 1Mi 1 On a donc une expression ais e du vecteur 1 Gx mi mi B1 Br a1 ak X Mpi mi Mk Si aucun des large primes Q n est le faux large prime 1 alors tous les exposants doivent tre non nuls pour que la relation soit utilisable Cela n est possible que si la matrice qui appara t dans le membre de droite est singuli re Son d terminant vaut m 21 Vis Comme nous voulons que cette quantit s annule dans Z on voit que la probabilit est faible compte tenu du fait que dans l algorithme de Coppersmith les exposants m et m valent g n ralement 1 et k sans ordre Un tel cycle g n rique est en revanche possible 211 est toutefois possible si la matrice n est pas singuli re de cr er partir de cette situation une ar te 1 Q1 3 1 L emploi de large primes 45 g rer dans le cas des algorithmes de factorisation o les exposants ne sont consid r s que modulo 2 Le produit des relations R est alors une relation ff cet gard Fort heureusement l aspect n gatif de la constatation que nous venons de faire est com pens par le fait que de tels cycles g n riques n apparaissent jamais En effet le graphe consid r a un sommet sp cial le sommet 1 qui est beaucoup plus touffu que les autres sommets puisque de tr s nombreux la
129. aill es dans le chapitre 3 Le chapitre 4 expose notre record de calcul de logarithmes discrets dans F607 constituant l aboutissement de cette entreprise Nous donnons aussi dans ce dernier chapitre de la premi re partie un aper u des aspects sociologiques que comporte un calcul de cette ampleur La deuxi me partie de ce m moire est consacr e la r solution de syst mes lin aires creux d finis sur un corps fini Ce probl me occupe une place centrale dans les calculs de logarithmes discrets que nous avons effectu sur les corps F n mais plus g n ralement il est de premi re importance pour la plupart des algorithmes sous exponentiels Le chapitre 5 donne un premier aper u des m thodes disponibles Le chapitre 6 d taille les m thodes utilisant des g n rateurs lin aires comme l algorithme de Wiedemann et l algorithme de Wiedemann par blocs C est ce dernier algorithme invent par Coppersmith que nous avons utilis Nous avons ainsi d montr qu il rendait possible une distribution partielle des t ches Ceci est d montr par les d veloppements pratiques sur l implantation de l algorithme de Wiedemann par blocs d taill es au chapitre 7 Une am lioration importante que nous avons apport e l algorithme a t la possibilit de calculer des g n rateurs lin aires de suites matricielles en temps sous 4 Introduction quadratique Cette am lioration est d crite dans le chapitre 8 C est en utilisant
130. aintenir dans une table la densit des diff rentes colonnes Si la densit de la colonne j est D j alors le choix comme pivot d une ligne poss dant un coefficient non nul dans cette colonne y entra ne l apparition de 1 D 5 coefficients en moyenne par r plication de la ligne Si D j 1 la colonne est dense et cela explique que l on ne consid re que le poids actif des lignes Si D j est proche de 0 alors l approximation c 1 faite plus haut est fid le Toutefois dans un souci d accro tre la pr cision il n est pas co teux de conserver une valuation de D j Lors de l limination des lignes tape 3 il est pertinent de retirer prioritairement les lignes qui intersectent de nombreuses colonnes de poids 3 car cela rend possible des op rations d limination dans l tape 4 par la suite 5 2 4 Lien avec l tape suivante Lors des diff rentes op rations effectu es le nombre de colonnes de la matrice d croit tandis que le nombre total de coefficients ou plut t le nombre de coefficients dans les N lignes les plus l g res N tant le nombre de colonnes est d abord d croissant puis croissant Au del de cet extremum jusqu quel point poursuit on le processus d limination structur e Le co t de l algorithme utilis apr s l limination structur e a une expression connue en fonction de N et du nombre de coefficients Pour conserver les notations que l on a fix es et que l on con
131. aire ainsi que les descriptions des ar tes correspondantes raison d en viron 5 octets n cessaires pour identifier un large prime cela reste traitable En revanche conserver en m moire toutes les relations o ils interviennent est totalement exclu car une relation n cessite bien vite un stockage de l ordre d une centaine d octets On voit donc que pour faire en sorte que cette technique passe l chelle un minimum de soin est n cessaire Supposons que l on dispose d un ensemble de relations partielles typiquement stock es dans une collection de fichiers potentiellement en grand nombre Pour effectuer la recherche de cycles deux approches sont possibles approche en une passe et l approche en plusieurs passes La premi re de ces approches consiste lire une fois l ensemble de toutes les relations et fournir en sortie l ensemble des relations recombin es produites partir des cycles L algorithme union find est employ sur la totalit des ar tes Dans ce sch ma on autorise le programme acc der une seconde fois aux relations qu il a d j rencontr es pour effectuer les recombinaisons possibles partir des cycles La seconde approche consiste filtrer l ensemble des relations partielles Dans une premi re passe on identifie quels sont les large primes qui interviennent plus d une fois et qui ont donc une chance d tre utiles On limine les relations contenant de
132. aire ces calculs en multipliant par n importe quelle puissance de BT gauche Cela implique que tous les termes de degr gt d du produit ci dessus sont nuls Par multiplication par y gauche puis par transposition on d duit que Im QT A est dans K X et que 114 Chapitre 6 M thodes utilisant des g n rateurs lin aires son degr est strictement inf rieur d Comme D 1 QT est unimodulaire car 0 0 on a bien une description en fraction rationnelle gauche v rifiant 6 D lt d La valeur que l on a prise pour d fait que l on peut s attendre avoir d amp A Si l on applique ces valeurs typiques de s et d Le nombre de termes de A consid rer est L s za n NN m n Quant la valeur F obtenue elle vaut s 2d soit peu pr s x 6 3 3 Obtention d un vecteur du noyau Dans le cadre de lalgorithme de Wiedemann nous avons calcul le g n rateur lin aire de la suite des ax et form ensuite le vecteur F B z en esp rant en d duire un vecteur du noyau de B Avec l introduction de g n rateurs lin aires vectoriels la nature de F rend d sormais impossible la prise en compte de cette quantit mais l esprit reste le m me On calcule le vecteur v d fini par deg F DRE i 0 Ce vecteur est bel et bien une g n ralisation de la quantit F B z dans l algorithme de Wiedemann sans blocs l instar de ce qui se passait pr c
133. alaire tre vus sous un angle unificateur il suffit de prendre la r ciproque des polyn mes concern s Dor87 La complexit de l algorithme de Berlekamp Massey est quadratique en N tout comme celle de l algorithme d Euclide si on l applique naivement Il existe des am liorations sous quadratiques de l algorithme d Euclide GY79 notamment qui reprend la pr sentation de l algorithme HGCD de AHU74 On sait donc traiter le cas scalaire du calcul de g n rateur lin aire de mani re tout fait satisfaisante et efficace tant donn e l ubiquit de ce probl me c est un constat rassurant Pour traiter le cas matriciel plusieurs algorithmes existent dont certains sont de com plexit sous quadratique Il est possible de formuler de mani re assez g n rale le probl me que nous souhaitons r soudre Il s agit du calcul de g n rateurs lin aires matriciels de taille n x r avec bien s r r lt n pour une suite de matrices m x n Nous ne pr tendons traiter efficacement que le cas r 1 Un panel d algorithmes traitant ce probl me sont recens s dans Kal95 Vil97 Le premier travail mentionn ce sujet est Ris72 qui r sout le probl me de la r alisation minimale par tielle important en th orie du contr le Un autre algorithme d origine num rique est d 129 130 Chapitre 8 Berlekamp Massey matriciel BA80 Mor80 Coppersmith Cop94 a propos une g n ralisation matri
134. ands efforts de factorisation avec le crible alg brique par exemple 3 5 2 Distribution du crible en paquets Un premier d coupage dont la raison d tre est essentiellement une raison de gestion du calcul pour la distribution a d fini une grande quantit de sous t ches que l on a nomm es paquets i e paquets de paires cribler Ces paquets sont d finis par deux param tres A et By repr sentant les parties fixes des polyn mes A et B concern s paquet A B 4 B a Apxeatt Av B X B H B deg A lt 4 deg By lt dp Les parties fixes Ay et By sont donc des polyn mes de degr s inf rieurs ou gaux d 4 04 1 et dg p 1 respectivement titre indicatif on donne les param tres choisis pour le calcul sur Fo6or 04 6 g 24 Un ordinateur qui prend part au calcul et qui re oit la responsabilit de cribler un paquet peut effectuer ce crible de la fa on qui l arrange le mieux L approche simple consiste traiter 3 5 Le groupement de cribles 61 s par ment les paires correspondant des valeurs diff rentes de A Avec les valeurs issues du calcul sur Fo6o7 cela correspond 27 128 cribles traitant chacun un espace de 2 polyn mes B ce qui n cessite 32Mo de m moire vive Pour chacun de ces 128 cribles la congruence r soudre se modifie par rapport celle qui a t pr sent e plus haut cause du terme By Cette congruence devient By AX B
135. ansposer Pour re prendre les notations employ es dans la section 6 1 et particuli rement en 6 1 6 consid rer Ro K afin de pouvoir utiliser la proposition 6 7 nous force nous placer dans un contexte o les b n fices de la version par blocs n apparaissent pas on ne voit pas comment faire moins de produits matrice x bloc de vecteurs que l on fait de produits matrice x vecteur dans l algorithme de Wiedemann Nous allons voir pourtant en d taillant quels sont les outils dont nous aurons besoin pour mener le calcul que ce nombre de produits peut tre r duit par usage de blocs En effet seul le calcul des L premiers coefficients de A nous est utile L valant N N O 1 Ainsi nous pouvons b n ficier de tous les avantages voqu s en 5 3 2 Le temps de calcul peut tre r duit en effectuant 32 produits simultan ment lorsque le corps de base est F2 ou bien en distribuant le calcul lorsque le corps de base est Fp 6 3 2 La notion de g n rateur lin aire utiliser Afin de mettre en vidence que seulement L coefficients de A X sont utiles nous de vons nous placer dans le contexte des g n rateurs lin aires vectoriels matriciels tel qu on les a d finis page 104 La quantit que nous souhaitons obtenir est un vecteur coefficients polynomiaux not F X K X L v rifiant A X F X G X eK En accord avec le formalisme qui a t mis en place en 6 1 ce vecteur F X est un g n rateur lin aire vect
136. ant d une liste de machines on peut toujours utiliser une boucle sh for i in cat liste_esclaves do echo echo i ssh i ps xu done H las on ne r sout pas tous les probl mes de cette fa on pour plusieurs raisons Le cable r seau d un esclave particulier peut tre d branch ponctuellement Cela bloque la boucle Lancer une telle boucle sur une centaine de machines prend beaucoup de temps Voir si un processus tourne n est pas tout On peut avoir p le m le 4 relancer le pro gramme sur une machine esclave le stopper transf rer des fichiers r sultats de cribles depuis l esclave vers une autre machine enfin v rifier quels sont les paquets confi s par le maitre l esclave et la coh rence de cette liste de paquets avec les listes g r es par le maitre Le produit le plus pr cieux du calcul est le r sultat des op rations de crible prenant la forme de nombreux fichiers un par paquet produits par les esclaves Ces fichiers ne sont pas g r s de fa on automatique pour viter la perte en ligne Ils sont simplement stock s par les esclaves sur l espace disque local Pour all ger la charge sur le r seau on a choisi de placer ces fichiers dans l arborescence locale tmp de chaque esclave L inconv nient de cette approche est que le r pertoire tmp sur certaines machines est p riodiquement nettoy ce qui nous a parfois oblig a avancer artificiell
137. ante puis croissante S il est possible d galer les quantit s log W et log W2 dans la plage de valeurs o la fonction b est d croissante alors on d termine ainsi le point o max W1 W2 est minimal L quation est S logt blog 2 2blog2 Posons maintenant b cn log n L galit ci dessus est satisfaite pour b nlogn 2log2 On v rifie facilement que notre hypoth se sur la d croissance de log Wy est satisfaite La somme des temps de calcul des deux premi res phases est alors Wi W2 exp v2log2y nlogn o 1 Wiw Si vire La troisi me phase de l algorithme a une complexit bien moindre mais n anmoins sous log 2 exponentielle en Ln G m2 20n peut d montrer en effet que W et W2 tendant vers oo avec n si Wi a f et W2 Fe g alors 1 Wi We max f g 2 3 L algorithme d Adleman 27 2 3 4 Am liorations de l algorithme d Adleman Le sch ma simple de l algorithme d Adleman ne fournit h las pas un algorithme tr s efficace Deux am liorations int ressantes ont t apport es par Blake Fuji Hara Mullin et Vanstone dans BFHMV84 BMV85 Nous les d crivons ici Toutes deux visent augmenter la probabilit de friabilit des paires consid r es lors de la premi re phase diminuant ainsi le nombre de tests effectuer Emploi de l algorithme d Euclide Le polyn me X mod f que l on souhaite factoriser dans l algorithme d Adleman est de
138. aphic Techniques Brugge Bel gium May 2000 P GAUDRY Algorithmique des courbes hyperelliptiques et applications la cryptologie Th se cole Polytechnique Oct 2000 P GAUDRY et N G REL An extension of Kedlaya s algorithm to superelliptic curves Dans C BoyD et E DAWSON diteurs Advances in Cryptology ASIACRYPT 2001 Lecture Notes in Comput Sci volume 2248 pages 480 494 Springer Verlag 2001 Proc 7th International Conference on the Theory and Applications of Cryptology and Infor mation Security Dec 9 13 2001 Gold Coast Queensland Australia P GAUDRY F HEss et N SMART Constructive and destructive facets of Weil descent on elliptic curves J of Cryptology 15 19 46 2002 180 Bibliographie GGL93 GL81 Gor93 GM93 GMP GY79 Got94 HQZ03 Har JLOI JLO2 Kal95 KL99 KS98 Knu98 Kob87 Kob89 Kry31 LO90 A GEORGE J GILBERT et J W H Liu diteurs Graph theory and sparse matrix computation IMA Vol Math Appl volume 56 Springer Verlag 1993 A GEORGE et J W H Liu Computer Solutions of Large Sparse Positive Definite Systems Prentice Hall Series in Computational Mathematics Prentice Hall Englewood Cliffs NJ 1981 D M Gorpon Discrete logarithms in GF p using the number field sieve SIAM J Discrete Math 6 1 124 138 Feb 1993 D M GORDON et K S MCCuRLEY Massively parallel computation of discrete loga r
139. application de l nonc qui pr c de on a en particulier EY 0 L s fl _ fr EL s 0 L s eD UE 150 Chapitre 8 Berlekamp Massey matriciel On a choisi L pour qu un g n rateur lin aire vectoriel se trouve parmi les colonnes de f 7 et m me possiblement plusieurs g n rateurs donnant une description en fraction rationnelle Ce point a t d montr en 8 4 4 Il nous est possible d identifier quels sont ces g n rateurs par la nullit des colonnes correspondantes de la matrice e Donc une fois les donn es d initialisation calcul es f s els et AC les deux derniers formant E s la matrice moo est une donn e suffisante pour finir le calcul Notre algorithme calcule cette matrice r cursivement en utilisant seulement E comme donn e Nous pouvons donner le mode de fonctionnement de la proc dure r cursive qui tant donn un b contexte E e A calcule la matrice Oe Si b vaut 1 on calcule no P par l algorithme ComputePMatrix1 Dans le cas g n ral on forme pour commencer le 3 contexte Ey obtenu par restriction L3 Ex e mod X 2 A 0 151 Nous pouvons calculer la matrice 7 r cursivement Cette matrice par d finition b est gale la matrice mr roiled b En utilisant E et non on calcule Ey Et l31 si E E c est dire le contexte form par b b Ey en t div XL Ad 2 Par application du th or me 8 10 et de
140. aque tape par Il s ensuit que le nombre total de polyn mes d compos s ainsi est ee exp logy n log I 4 A 2 2 caer 1 2 En utilisant l expression pr c demment d termin e pour b savoir b cn3 logn 3 avec la 2 constante c qui vaut 2 5 on d duit log W3 w3 log n log 7 log Wa blog 2 log W3 clog 2n3 log n 3 En conclusion la complexit globale de Valgorithme de Coppersmith est l addition des composantes 1 32log2 3 1 log og 3 log WW Ly D Ln 1 35 o os Lis 1 l 1 32log2 3 l 1 W ie 3 oes ss 1 log 1 Alog 2 3 log 1 W L Ln 0 67 3 5 9 n 3 Cette analyse est valide lorsque l on est dans le cas optimal o k peut tre pris gal une puissance de 2 H las les puissances de 2 sont rares et il se peut que la puissance de 2 choisie soit loign e de la valeur optimale de k Le pire cas cet gard est celui o n est tel que la valeur optimale de k se trouve tre de la forme 27 V2 On ne va pas refaire le travail d analyse de la complexit correspondante mais on donne juste la cons quence d une telle situation les constantes dans les expressions de W1 W2 et W3 sont chang es On se retrouve ainsi avec 1 4log 2 en lieu et place de 2182 Num riquement la valeur de 1 35 est transform e en 1 405 34 Chapitre 2 Logarithme discret et cryptanalyse 2 4 3 Choix des param tres Les nombreux param tre
141. ar cons quent de cycles Avec peine plus de soin on peut aussi garder la trace du poids de la composante connexe la plus grosse car on sait dans notre cas de quelle composante connexe il s agit ainsi qu une majoration de la taille de la seconde plus grosse Diverses donn es de ce type sont rapport es concernant le calcul de logarithmes discrets sur Fo607 l autre On voit que c est n qui importe le plus 3 1 L emploi de large primes 47 3 1 3 Consid rations d implantation Table de hachage La mise en pratique des m thodes de large prime variation d crites ici n cessite l emploi d une structure adapt e En effet le nombre de relations stocker pour obtenir un grand nombre de cycles est potentiellement grand Pour des tailles de probl mes importantes on peut sans h sitation estimer ce nombre plusieurs millions voire dizaines de millions Pour le calcul de logarithme discret sur F607 Tho01b Tho02a le nombre de relations partielles a atteint 61 058 174 impliquant 87 073 945 large primes distincts Nous d crivons ici quelques d tails de notre implantation avec deux large primes Une contrainte de cette implantation a t de g rer la recherche de cycles en utilisant au plus 1Go de m moire vive Au fur et mesure que les relations sont collect es l algorithme union find demande de conserver de nombreuses traces des donn es De toute vidence une trace des large primes rencontr s est n cess
142. arithmes des polyn mes de degr lt bq Ceci s obtient similairement aux techniques d j employ es pour obtenir des relations On choisit des param tres d et k dont on pr cisera la valeur lors de l analyse L entier k est une puissance de 2 On pose h 77 Consid rons l ensemble des paires A B de degr inf rieur ou gal d telles que C AX W B est divisible par Q Cet ensemble est un espace vectoriel sur Fs et en obtenir une base est ais Comme pr c demment posons C AX B et Q C D C mod f AP XYK fi BE Si D et C Q sont simultan ment bg friables et s crivent respectivement 7 et IT at i on a alors la relation Q ar Ir mod y i i ILr mod f i te k ei log m k logQ mod 2 1 i Cette derni re expression est suffisante pour d duire la valeur de log Q Pour obtenir lors de Vanalyse une complexit performante la bonne valeur choisir pour d est choisie entre 1 et q 2 Cette analyse est peu pr s valable quand on examine les colonnes une une Elle est totalement erron e si l on s int resse aux lignes puisque les probabilit s de pr sence des diff rents facteurs ne sont pas ind pendantes SToutefois pour des raisons d efficacit on pr f re traiter cette ensemble comme un r seau de l espace F2 X Ce point sera d taill en 3 6 2 4 L algorithme de Coppersmith 31 Une fois que n
143. as on a typiquement Mo lt M Proposition 6 12 Sur le corps de base Fp en utilisant n machines la complexit parall le des tapes BW1 et BW3 est donn e par BW1 Mo mM TEEN cf remarque 6 13 BW3 Moi N DEMONSTRATION Le nombre de termes de A qui doivent tre calcul s est L X 0 1 Pour chacun de ces termes le co t est celui d une application de la bo te noire yN multipli cations par des coefficients de la matrice ainsi que le calcul d un produit scalaire soit mN 6 3 L algorithme de Wiedemann par blocs 117 multiplications d l ments de Fp cf remarque 6 13 En additionnant ces deux composantes on obtient le co t parall le annonc Par ailleurs l tape BW3 requiert F applications de la bo te noire La valeur de 6 F est de l ordre de x comme mentionn en 6 3 2 Par cons quent on obtient le co t parall le annonc pour l tape BW3 E Remarque 6 13 Dans la pratique le temps requis par l tape BW1 est seulement My 22 N si l on choisit pour les colonnes de x des vecteurs de la base canonique A nsi le co t du calcul des produits scalaires devient n gligeable Toutefois une telle manipulation a pour effet que l on ne peut plus reposer sur les th or mes assurant la validit de l algorithme puisqu alors le bloc de vecteurs x n est plus un vecteur al atoire Le calcul du g n rateur lin aire F a un co t born par O N et nous allons m me voir au chapit
144. aussi fond sur l iden tit Tous deux reposent sur l utilisation du couplage de Weil sur une courbe elliptique Sil86 Nous discutons ensuite dans quelle mesure ces sch mas cryptographiques offrent une nouvelle motivation pour s int resser au calcul de logarithmes discrets sur les corps finis Nous faisons ici une description tr s informelle des protocoles sans rentrer dans les d tails techniques des couplages utilis s En effet le couplage de Weil ne correspond pas exactement nos besoins Comme tous les calculs sont effectu s avec des points appartenant au m me sous groupe cyclique nous devons avoir e P P 4 1 ce qui n est possible qu avec une modification du couplage Nous n entrons pas dans ces d tails trait s dans BF01 DE03 1 3 1 Le syst me de chiffrement de Boneh et Franklin Soit E une courbe elliptique d finie sur un corps premier Fy Le couplage de Weil est une forme bilin aire non d g n r e de E x E dans le groupe multiplicatif d une extension finie F jx de Fy On le note e P Q o P et Q sont deux points de E Ce couplage v rifie la relation e aP bQ e P Q pour deux entiers a et b quelconques Requ rir que le couplage est non d g n r signifie que e P Q n est pas identiquement gal 1 Bien entendu on souhaite que le couplage de Weil soit ais ment calculable Pour d crire le protocole propos par Boneh et Franklin on se donne deux fonctions de hachage l une not e H
145. bl me que l on note DH peut tre r solu si l on sait calculer des logarithmes discrets dans G On a donc une implication DL DH L implication r ciproque est presque vraie sous certaines hypoth ses MW96 Mau94 Ceci nous permet de nous concentrer en priorit sur le probl me DL si DL n est pas faisable alors l espion est d sarm 7 8 Chapitre 1 Logarithme discret et cryptographie Alice Bob kA au hasard kg au hasard kA ae ee es g secret g 8 4 secret g 4 B Figure 1 1 Le protocole d change de clefs de Diffie Hellman Nous allons voir plusieurs cryptosyst mes faisant intervenir le logarithme discret Tous reposent de la m me facon sur l impossibilit pour un espion de calculer des logarithmes discrets La difficult de cette t che d pend du groupe G dans lequel les calculs sont men s Nous allons donc donner un apercu des diff rents groupes pouvnt tre tudi s 1 1 2 Hypoth ses requises Quelles propri t s le groupe G doit il satisfaire Il faut que le logarithme discret soit diffi cile et notamment beaucoup plus difficile que le calcul des puissances de g Ces consid rations n cessitent une formalisation qui fait appel des notions de complexit On d crit quelques unes des qualit s du groupe id al pour l implantation de cryptosyst mes Comme n G il est l gitime de supposer que les l ments de G peuvent tre repr sent s l aide de O log n bi
146. ble de constater que ces m mes vecteurs sont alors recalcul s pendant la phase BW3 Afin de rendre possible une distribution accrue du calcul lors de la phase BW3 il est possible de sauvegarder sur le disque dur quelques uns de ces vecteurs Ainsi si l on sauvegarde les colonnes des blocs y B4 8y B84 8y il est possible de distribuer la phase BW3 sur 4n machines au lieu de n 7 2 petite chelle parall lisation Bien que nous n ayons pas encore abord la question du calcul de g n rateur lin aire on imagine bien que c est l que se situe le contrecoup du gain repr sent par m et n sur la premi re et la troisi me phase de l algorithme La valeur optimale des param tres de bloc m et n sera discut e en 8 7 On verra alors que la valeur optimale de n n est pas appel e tre tr s grande Pour fixer les id es disons que la valeur optimale de n ne d passe pas 10 Pour la r solution de syst me lin aire qui a motiv notre travail sur l algorithme de Wie demann par blocs les n machines les plus puissantes auxquelles nous avons eu acc s taient toutes des machines multiprocesseurs architecture de type SMP Pour r duire autant que possible le temps de calcul de l algorithme de Wiedemann par blocs nous avons souhait parall liser le calcul sur les diff rents processeurs de chaque n ud Il convient de noter que le nombre de processeurs va ici de 2 8 et que la parall lisation sur 8 processeurs est quelq
147. bles Cette m thode a pris le nom l origine de special Q sieving Od185 DH84 Sa difficult principale r side dans l expression efficace du nouvel espace de polyn mes A B cet effet l introduction de r seaux par Pollard Pol93 a rendu la m thode tr s comp titive Depuis lors cette m thode est plus habituellement r f renc e en tant que lattice sieving Cette m thode est tr s utilis e avec le crible alg brique Elle a t employ e par JL02 avec l algorithme FFS et peut aussi s employer avec l algorithme de Coppersmith Nous souhaitons donc tant donn un polyn me Q exprimer simplement l ensemble des polyn mes A B tels que AX B 0 mod Q Cette congruence est la m me que celle que nous avons eu r soudre pour l introduction du crible simple un peu plus haut la diff rence notable pr s que le polyn me Q n est plus d sormais un petit polyn me mais un polyn me de taille moyenne et que l on ne projette pas d employer cette congruence de la m me fa on L espace des paires A B que nous tudions est bien entendu un espace vectoriel sur Fo Mais mieux que cela si l on l ve la condition de degr sur et B on voit que cet espace est 15 Cela reste vrai tant que l on n autorise pas de large primes appartenant l ensemble de polyn mes dans lequel Q est choisi 16S Pon se restreint aux polyn mes de degr b 1 par exemple ce qui n a rien de n cessaire
148. btient le logarithme discret de x si l on sait mettre en vidence la pr sence d un cycle On utilise pour a l algorithme classique d Floyd cf Knu98 3 1 exercice 6 1 Soit u a b xg 1 r pour i 1 2 et r al atoire 2 Calculer u f u1 et calculer le nouveau couple a b1 uz f f u2 et calculer le nouveau couple a2 b2 3 Si uy u2 retourner Be Sinon reprendre l tape 2 Si a2 ai n est pas inversible modulo n alors cela signifie que l on a identifi un facteur de n On peut donc utiliser l algorithme de Pohlig Hellman vu en 2 1 pour reprendre le calcul modulo chacun des facteurs avec une efficacit accrue Comme on sait que le plus grand cycle du graphe de f est de taille O n on est assur que le cycle de la suite des v est de taille au plus O n Alors on sait que l on a u1 u2 apr s O n tapes La construction originelle de la fonction f propos e par Pollard dans Pol78 est G G ux si u Gi u x si u Go gz si u Gs o G1 G2 G3 est une partition du groupe G en trois ensembles de taille comparable Nous voyons ainsi qu il est facile d exprimer a b tels que f x g r gt Pour obtenir de bons r sultats avec l algorithme de Pollard rho il faut que cette fonction f se rapproche le plus possible du cas moyen parmi les fonctions de G dans G En faisant 22 Chapitre 2 Logarithme discret et cryptanalyse quelques hy
149. c EEE Internat Conference Acoustics Speech and Signal Processing pages 954 959 New York NY 1980 IEEE M A MORRISON et J BRILLHART A method of factoring and the factorization of F7 Math Comp 29 129 183 205 Jan 1975 MPI message passing interface 1994 Documentation and homepage of the MPIch implementation at http www unix mcs anl gov mpi V I NECHAEV Complexity of a determinate algorithm for the discrete logarithm Mathematical Notes 55 2 165 172 1994 H NIEDERREITER Factorization of polynomials and some linear algebra problems over finite fields Linear Algebra Appl 192 301 328 1993 H NIEDERREITER A new efficient factorization algorithm for polynomials over small finite fields Appl Algebra Engrg Comm Comput 4 81 87 1993 A M ODLYZKO Discrete logarithms in finite fields and their cryptographic significance Dans T BETH N COT et I INGEMARSSON diteurs Advances in Cryptology EURO CRYPT 84 Lecture Notes in Comput Sci volume 209 pages 224 314 Springer Verlag 1985 Proc Eurocrypt 84 Paris France April 9 11 1984 P C VAN OORSCHOT et M J WIENER Parallel collision search with cryptanalytic applications J of Cryptology 12 1 28 1999 B N PARLETT D R TAYLOR et Z A Liu A look ahead Lanczos algorithm for unsymmetric matrices Math Comp 44 169 105 124 Jan 1985 O PENNINGA Finding column dependencies in sparse matrices over F2 by block Wiede mann Repor
150. c d simple et n anmoins efficace peut passer par les tapes suivantes P 1 Calculer les ERAN Ce sont les polyn mes V Soit la liste L Vi et J 2 Pour chaque petit polyn me V irr ductible dans L remplacer L et I par W v Z we W V viw ufwlwez viw ieee gue aia 3 Soit V L de degr minimal Remplacer L par v juf pav w wer mul WeL wH wW pgcd V W 68 Chapitre 3 Techniques pour l algorithme de Coppersmith Si la liste L est alors inchang e V est n cessairement irr ductible Transf rer V de L vers I 4 Reprendre l tape 2 Il est ais de montrer que ce processus termine en consid rant par exemple le nombre total de facteurs irr ductibles des l ments de la liste L Par construction ce nombre est une quantit strictement d croissante En outre comme ce nombre reste chaque tape born par m le proc d d crit prend un temps O m les op rations de gestion de liste tant n gligeables La composante particuli re de la m thode expos e plus haut pour trouver les facteurs irr ductibles par l algorithme de Niederreiter est que l on tire parti de notre capacit d tecter les petits facteurs irr ductibles En effet maintenir une table des polyn mes irr ductibles de la base de facteurs est facile et de toute fa on n cessaire en divers endroits de l algorithme de Coppersmith Et comme les polyn mes que l on a factoriser sont par construct
151. ca de la contribution des cycles de taille plus importante Toutefois ces derniers apparaissent tard Le premier cycle de taille 2 est apparu apr s 200 000 relations partielles le premier cycle de taille 3 apr s 1 200 000 relations partielles d j une quantit importante La contribution des cycles de taille gt 3 a atteint 10 de celle des cycles de taille 2 apr s 4650 000 relations partielles pour enfin la d passer apr s 27 000 000 de relations partielles ce point peut s observer sur la figure 3 4 Il est difficile sur la figure 3 4 de voir que la courbe des cycles de taille 2 est de nature quadratique car elle est largement domin e par les autres courbes C est pourtant le cas Si l on essaie de mesurer exp rimentalement une interpolation polynomiale de la courbe des cycles de taille 3 et plus on arrive un exposant 3 Une autre observation int ressante qui peut tre faite sur l volution du graphe est le comportement des composantes connexes Il existe une composante connexe g ante les donn es de la table 3 2 montrent combien le foss est grand entre cette composante et les autres Au fur et mesure que le graphe se peuple il y a de plus en plus de composantes qui viennent s y fusionner On peut donc s int resser pour mettre en valeur ce ph nom ne l volution de la proportion de composantes connexes ayant une taille donn e La table 3 5 consigne les valeurs finales de ces proportions On a r
152. captur s par le crible En effet il ne sert rien de cribler tr s vite et peu soigneusement une zone ou avec du soin on peut s attendre a obtenir une grande quantit de relations Un dernier facteur est bien entendu l emploi de large primes Il est tr s difficile de pr voir quel moment aura lieu l explosion combinatoire du nombre de cycles du graphe constitu par les relations partielles correspondant l effondrement de ce graphe Par cons quent pr voir le nombre de relations partielles sur lequel on doit compter pour pouvoir obtenir le nombre recherch de relations recombin es est extr mement ardu Pour toutes ces raisons on peut difficilement esp rer viser juste pour l espace de crible Et dans le calcul de logarithmes discrets sur F607 qui a t effectu au cours de cette th se il est clair que l esp rance initiale tait bien optimiste par rapport la r alit Nous avons donc mis en place un sch ma permettant de concentrer les calculs d abord sur les zones o l on esp re obtenir un plus grand nombre de relations Le sch ma consistant d couper l espace de crible en tranches de la forme A o A est fix et B varie sur toute la plage de degr possible nous est apparu trop restrictif Les d veloppements que nous pr sentons ici sont donc essentiellement motiv s par des consid rations pratiques de gestion du calcul De telles m thodes ont aussi t utilis es pour les gr
153. caract ristique 2 Ces am liorations ont rendu possible le record que nous avons atteint La port e de ce calcul d passe le simple cadre des corps finis cause de l existence de la r duction MOV d une part et de la r cente introduction des cryptosyst mes fond s sur l identit On s int resse plus en d tail dans une seconde partie du m moire au probl me classique de la r solution d un syst me lin aire creux d fini sur un corps fini port aux limites de ce que la technologie th orique et pratique permet Nous montrons comment une am lioration substantielle de l algorithme de Wiedemann par blocs a rendu celui ci comp titif pour la r solution d un grand syst me lin aire creux sur Fp Une partie de ce m moire est consacr e au point de vue de l exp rimentateur grand utilisateur de moyens de calcul de la surcharge de travail humain que cela impose et des constatations que cette position am ne Abstract Computing discrete logarithms is a fundamental task for public key cryptanalysis The mere existence of a subexponential algorithm for this purpose is not sufficient to definitely rule on the security level provided by some cryptosystem Assessing state of the art cryptanalysis calls for a thorough evaluation process This dissertation contributes to such an evaluation In particular a record computation for discrete logarithms over F607 is described The first part of this thesis focuses on our study and
154. cas particulier que nous avons pris en exemple est d utiliser les algorithmes de middle product comme dans HQZ03 Adaptation au produit de matrices Un point primordial est la fa on dont ce proc d valuation convolution interpolation s adapte au cas du produit de matrices de polynomes En effet pour calculer le produit de deux matrices de taille p x p et de degr N par exemple on doit calculer toutes les DFTs p N log N multiplications calculer les convolutions p N multiplications calculer les IDFTs tp N log N multiplications Ainsi on d couple les deux composantes importantes Si l on tente d exprimer la complexit alg brique du produit de matrices on arrive p M N et ici on fait mieux que sp cifier M N N log N Le produit de matrices polynomiales est donc un exemple de contexte o Vemploi de la transform e de Fourier permet de modifier l algorithme en profondeur Extensions du corps de base On a parl de description simple de la FFT en requ rant l existence de racines 2 mes de l unit dans le corps de base Si ce n est pas le cas on peut avoir se placer sur une extension alg brique pour obtenir ces racines ce qui est praticable lorsque le degr de cette extension est mod r Dans ce cas on peut remarquer que plusieurs DFTs peuvent tre calcul es en une On illustre ce propos en montrant comment dans le cas d une extension K K 1 de degr 2 deux D
155. ce F comme tant l unique structure de corps fini de cardinal q isomorphisme pr s A 3 Le groupe multiplicatif Nous arrivons la propri t essentielle de structure des groupes multiplicatifs des corps finis Cette propri t est vraie en toute g n ralit m me en dehors du cadre des corps finis ou commutatifs Proposition A 7 Tout sous groupe fini du groupe multiplicatif d un corps est cyclique DEMONSTRATION Soit K le corps consid r soit G un sous groupe fini de K et n son cardinal Pour tout x G x 1 Donc un l ment de G a n cessairement un ordre qui A 4 Propri t s des corps finis 171 divise n On va classer les l ments de G selon leur ordre Soit f d le nombre d l ments de G ayant pour ordre exactement d pour d un diviseur quelconque de n L tude du groupe fini Z mZ am ne la propri t suivante faisant intervenir l indicatrice d Euler X pld n din De plus par construction de f d on peut crire gt X fa n din d o X y d f d 0 din Soit d un diviseur de n tel que f d 0 Il existe donc un l ment a de K d ordre exactement d Par cons quent les l ments 1 a a sont distinctes et constituent les d racines du polyn me X4 1 dans K ce sont n cessairement les seules car K est un corps Les l ments d ordre d dans K sont donc les puissances de d ordre d c est dire les a avec k d 1 On a donc f d y d d
156. certaines classes de courbes sujettes des attaques Les courbes de trace 1 telles que le cardinal de la courbe est le cardinal de K sont viter tout prix car le logarithme discret s y calcule en temps polynomial SA98 Sma99 Sem98b Riic99 Les courbes supersinguli res ainsi que les courbes telles que le cardinal de K est d ordre petit modulo le cardinal de la courbe sont aussi sujettes des attaques MOV93 FR94 Ces attaquent montrent que DL sur la courbe peut tre r solu partir de DL sur une petite extension de K Lorsque K est une extension de degr compos de son sous corps premier l attaque par descente de Weil de GHS02 peut s appliquer les conditions exactes sont plus subtiles Cette attaque donne un algorithme de calcul sous exponentiel du logarithme discret viter ces classes de courbes est ais Il n en reste pas moins n cessaire d valuer le carac t re r alisable ou non des attaques les concernant Dans le cas des courbes supersinguli res sujettes la seconde des attaques que l on vient de mentionner sous la forme par exemple de 2XTR n est en r alit qu une fa on de repr senter les l ments 1 2 Cryptosyst mes utilisant le logarithme discret 11 la r duction MOV MOV93 on note que cela fait partie du champ d application des calculs de logarithmes discrets sur les corps finis En effet la r duction MOV ainsi que ses g n rali sations mentionn
157. ch ma 2 2 et hed Bo See GRR LE RARES uM ey te ect ay a 141 8 4 2 Initialisation 4 2 gg eg ey oe eS pulpe ans DES non 142 8 4 3 Description de Vit ration 142 8 4 4 Terminaison 145 8 4 5 Obtention d une description en fractions rationnelles 146 8 46 Complexit sA re ay aa dan ey Be As od ag os 147 8 5 Une version sous quadratique 148 8 5 1 gt S TUCLUT T CUrSIV ruir a ana en ee dr hace ir ane ne 148 8 5 2 Usage de la transform e de Fourier 150 8 0 8 COMplexit sus bent en ne Re En ot Monter mis 154 8 6 Performance de l algorithme r cursif 155 8 6 1 Implantation ssi osam aoro du De a au pau da eee 155 8 6 2 Mesures exp rimentales 156 8 7 Influence sur l algorithme de Wiedemann par blocs 156 8 7 1 Param tres optimaux 156 8 7 2 Comparaison avec d autres implantations 159 9 Alg bre lin aire extr me 161 9 1 Elimination structur e 161 9 2 Calcul de Ta Site AX ee et eke Se EE Dee dues ee eee 161 9 3 Obtention du g n rateur lin aire 162 9 4 Obtention d un vecteur du noyau 163 9 5 Obstacles rencontr s technique et sociologie
158. ches Parler d un calcul distribu reste un discours vague tant que l on n a pas pr cis les ca ract ristiques exactes des calculs men s La premi re phase de l algorithme de Coppersmith phase de recherche de relations a t effectu e de mani re distribu e Plus exactement l es pace de crible gigantesque puisque 2 paires ont t examin es a t divis en de nombreux paquets comme cela a d j t voqu en 3 5 2 Le nombre de paquets ainsi consid r s s est lev 219 soit 562 144 L estimation d origine tait que les quelques 16 384 premiers paquets suffiraient Cette estimation tait manifestement tr s largement erron e et pour cette raison on a d tendre l espace de crible plusieurs fois un coefficient de plus pour B puis pour A etc Le sch ma global utilis est un sch ma ma tre esclave Un serveur central observe et dis tribue l volution du calcul sur les diff rents esclaves Un esclave prenant part au calcul re oit en guise d identification du travail qu il doit accomplir un num ro correspondant au paquet dont il a la charge Cette information est donc relativement l g re Lorsque l esclave a fini de cribler le paquet en question l ordre de grandeur du calcul pour un paquet est d environ une heure sur un PC 450MHz il doit faire savoir au ma tre qu il a fini le calcul et recevoir en change un nouveau num ro de paquet cribler Pour que l escla
159. chons nous servait ainsi de d fouloir et les tudiants en th se en ont un grand besoin Arrivant la fin de nos th ses nous avons aussi partag au cours de ces bavardages divers encouragements d ceptions col res et finalement joies Un norme merci a toutes les deux Je remercie mes parents ma famille mes amis qui m ont soutenu dans cette preuve de longue haleine qu est la th se Je les remercie aussi parce qu ils ont vite compris qu il n tait pas de bon ton de me demander quand je finirai mes tudes et quand je commencerai travailler Enfin je remercie Laetitia C est gr ce elle que j ai pers v r dans les moments de d couragement Elle a su au quotidien m offrir la fra cheur dont j avais besoin pour ne pas m enfermer dans ce si petit monde Introduction Table des mati res I Logarithmes discrets dans F n 1 Logarithme discret et cryptographie 1 1 Diff rentes instances du probl me AGL 1 1 2 Hypoth ses requises 1 13 Groupes proposes bck es Se Pate A N ie ar BE de ee eR ara 1 2 Cryptosyst mes utilisant le logarithme discret 1 2 1 Le syst me de chiffrement d ElGamal 1 2 2 Le syst me de signature d ElGamal 1 2 3 Le syst me de signature de Schnorr 1 2 4 Le syst me de signature DSA
160. cielle de l algorithme de Berlekamp Massey permettant de traiter le cas particulier de r 1 qui est le cas que l on souhaite r soudre ici L algorithme qu il obtient a une complexit O m n N et utilise L x N O 1 coefficients de A Nous d crivons cet algorithme en 8 4 Beckermann et Labahn ont pr sent dans BL94 un algorithme tr s g n rique power Hermite Pad solver traitant le cas de r quelconque sans aucune supposition de r gularit de la matrice d entr e A X et de complexit sous quadratique O m n mk log k pour calculer un g n rateur de degr k Pour des calculs grande chelle Lob95 KL99 Pen98 seuls les algorithmes de Cop persmith et de Beckermann et Labahn semblent avoir t consid r s L algorithme de BA80 Mor80 n cessitant une randomisation de l entr e n a apparemment pas t employ Il est fort regrettable de constater que l algorithme de Beckermann et Labahn n a t implant que dans sa version quadratique par Pen98 Dans tous les cas la performance de l algorithme de Coppersmith a t jug e satisfaisante voire sup rieure aux alternatives Une des raisons pour cela peut tre l absence de coefficient multiplicatif important cach par le O nous verrons en 8 4 6 que le nombre exact de multiplications requises est m n nk pour le calcul d un g n rateur lin aire de degr k Pour les probl mes que nous avons eu r soudre sav
161. cines distinctes En particulier le polyn me Py qui en est un diviseur a une racine dans K Soit h une telle racine Le polyn me Py tant irr ductible Pr est le polyn me minimal de h Nommons g la classe de X dans le quotient F X P Comme g et h ont le m me polyn me minimal l application suivante est un isomorphisme L K me D ag m Y a h Il s ensuit que L et K sont isomorphes a Il est maintenant l gitime de parler du corps fini q l ments Notation A 11 Pour q une puissance d un nombre premier on note F le corps fini q l ments unique isomorphisme pr s La propri t suivante est importante lorsque l on s int resse la factorisation de polyn mes sur Fy Proposition A 12 Le polyn me XU X F X est le produit de tous les polyn mes irr ductibles de F X de degr divisant n DEMONSTRATION Soit P un diviseur irr ductible de X X de degr k Comme X X est scind dans L Fyn P a une racine a dans L Il existe donc un sous corps E F a dans L On a donc L Fy L E E Fg donc k E Fy divise n L Fy La r ciproque reprend une id e d j utilis e plus haut Soit P un polyn me irr ductible de F de degr k divisant n Soit l extension de F d finie par P et a une racine de P dans E Comme E est de cardinal g on a a a Mais comme k divise n cela implique que aT a Le polyn me X X est donc un multiple de P
162. cs est minimal pour MoN Nopt 0 6 My log N et Mopt 0 5Nopt Dans ce cas le temps total est Wopt 13 84 MoMiN VA log N DEMONSTRATION Le raisonnement est identique On crit W 5nN log N E f es 1 Ensuite on obtient le minimum pour 0 3 ce qui correspond aux valeurs annonc es W 8 7 Influence sur l algorithme de Wiedemann par blocs 159 8 7 2 Comparaison avec d autres implantations On trouve peu d exp riences men es avec l algorithme de Wiedemann par blocs dans la litt rature Les seuls r sultats d exp riences sur des corps autres que F2 dont nous ayons la connaissance sont ceux de la th se de Lobo Lob95 Nous avons tent de reproduire les conditions d exp rience pour voir comment les impl mentations se comparaient Les micro processeurs utilis s par Lobo taient de type sparc 107MHz Nous avons d nich quelques microprocesseurs sparc 143MHz partir desquels on a men la comparaison Dans le ta bleau 8 8 les temps de calcul sur le corps de base F32479 sont ceux de Lob95 et nos temps de calculs sont ceux obtenus sur F 65537 A la lecture du tableau 8 8 on constate que le rapport des temps de calculs correspond a celui des fr quences des microprocesseurs pour le cas de l tape BW2 mais qu il nous est en revanche tr s favorable pour les tapes BW1 et BW3 On peut avancer plusieurs explications pour cette disparit qui est assez surprenante Bien sur les implantat
163. cyclopedia of mathematics and its appli cations volume 20 Addison Wesley Reading MA 1983 A LOBO Matrix free linear system solving and applications to symbolic computations Phd thesis Rensselaer Polytechnic Institute 1995 J L MASSEY Shift register synthesis and BCH decoding IEEE Trans Inform Theory IT 15 1 122 127 Jan 1969 R MATSUMOTO Using Ca curves in the function field sieve IEICE Trans Fundamen tals E82 A 3 Mar 1999 U MAURER et Y YACOBI Non interactive public key cryptography Dans D DAVIES diteur Advances in Cryptology EUROCRYPT 91 Lecture Notes in Comput Sci volume 547 pages 498 507 Springer Verlag 1992 Proc Workshop on the Theory and Application of Cryptographic Techniques Brighton United Kingdom April 8 11 1991 U MAURER et Y YACOBI A non interactive public key distribution system Des Codes Cryptogr 9 3 305 316 1996 U M Maurer Towards the equivalence of breaking the Diffie Hellman protocol and computing discrete logarithms Dans Y G DESMEDT diteur Advances in Cryptology CRYPTO 94 Lecture Notes in Comput Sci volume 839 pages 271 281 Springer Verlag 1994 Proc 14th Annual International Cryptology Conference Santa Barbara CA USA August 21 25 1994 U M MAURER et S WoLr Diffie Hellman oracles Dans N KOBLITZ diteur Ad vances in Cryptology CRYPTO 96 Lecture Notes in Comput Sci volume 1109 pages 268 282 Springer Verlag
164. d re qu un paquet qui n a pas t achev depuis plusieurs jours peut tre redistribu En dernier lieu les structures employ es par le serveur sont tr s simples uniquement des fichiers texte de telle sorte que des sauvegardes temporaires et des ajustements manuels sont toujours possibles Cette approche a permis l entreprise de calcul distribu de logarithmes discrets de passer l chelle N anmoins quelques difficult s sont apparues Tout d abord le mod le de com munication entre le serveur et les esclaves par connexion TCP s est heurt aux politiques des pare feu firewall utilis es par certains sites Effectuer une connexion TCP devient presque de nos jours une acte de piratage caract ris Pour y parvenir malgr tout des relais socket bouncer ont t install s pour servir de proxys aux points strat giques Fort heureusement cela s est toujours av r possible Une fonctionnalit que notre mini serveur en perl n offre pas est la v rification active du fonctionnement des esclaves Se connecter manuellement ou m me de fa on semi automatique 120 machines pour v rifier ce qu elles font n est pas facile On aurait souhait faire assumer cette t che par le serveur ou du moins avoir un regard plus global sur l avancement g n ral du calcul En termes d efficacit ce l ger flou s est traduit par d assez nombreux paquets 10 perdus malgr toutes les pr cautions prises
165. degr gal n 1 ou bien peine inf rieur le degr moyen tant n 2 Nommons ce polyn me A X Une id e relativement simple pour d composer A en produits d l ments de B consiste appliquer l algorithme d Euclide tendu A et f pour obtenir une quation de la forme AU fV W AU W mod f Si l on arr te l algorithme d Euclide la moiti des calculs les polyn mes U et W sont de degr lt 5 L int r t de cette d composition est que deux polynomes de degr 5 ont une probabilit plus grande d tre simultan ment friables qu un seul polyn me de degr n 3 contre Lorsque U et W sont friables et s crivent respectivement x et rl on a alors la relation Xe le 7 mod f i v tie X mod f i X fi es log m m mod 2 1 i Cette d composition ne co te pas beaucoup mais fait gagner beaucoup de temps dans le calcul de relations N anmoins son influence sur la complexit finale est invisible puisqu elle est dissimul e dans la composante o 1 de l exposant Cela montre combien les complexit s sous exponentielles sont sensibles aux variations m me invisibles de leurs param tres quations syst matiques Les travaux de BFHMV84 BMV85 taient concentr s sur le cas F127 Dans ce cas pr cis une m thode assez efficace pour fabriquer des relations repose sur le r sultat suivant Proposition 2 6 Soit A un p
166. demann se d coupe en trois phases comme nous allons le voir extensivement dans le chapitre suivant Calcul de A X aa a X o a T By x Bitt z x et z sont deux vecteurs et y Bz Calcul de F X tel que A X F X G X O X24 avec F et G de degr lt N Calcul de w F B z La premi re et la troisi me de ces phases sont trait es de mani re it rative en un temps identique pour chaque it ration qui se r sume une multiplication d un certain vecteur par la matrice B La phase interm diaire est r solue de mani re it rative aussi si on utilise par exemple l algorithme de Berlekamp Massey mais sa complexit globale est quadratique car les diff rentes it rations prennent un temps croissant Que se passe t il si on souhaite encha ner ces diff rentes phases La connaissance du r sultat des premi res it rations de la premi re phase est suffisante pour entamer la seconde et par la suite entamer aussi la troisi me phase On obtient ainsi une sorte de pipeline pour l algorithme de Wiedemann Il est particuli rement int ressant de remarquer alors que dans l algorithme de Berlekamp Massey le co t croissant des it rations dispara t car on a disposition l ensemble des vecteurs requis qui contiennent une plus grande information que les scalaires a 5 3 Algorithmes pour terminer la r solution 101 Il est donc possible de fusionner les trois tapes de l algor
167. diteurs Advances in Cryptology CRYPTO 84 Lecture Notes in Comput Sci volume 196 pages 73 82 Springer Verlag 1985 Proc Cryptology Workshop Santa Barbara CA USA August 19 22 1984 H BOENDER et H J J TE RIELE Factoring integers with large prime variations of the quadratic sieve Experiment Math 5 4 257 273 1996 D BONEH et M FRANKLIN Identity based encryption from the Weil pairing Dans J KILIAN diteur Advances in Cryptology CRYPTO 2001 Lecture Notes in Comput Sci volume 2139 pages 213 229 Springer Verlag 2001 Proc 21st Annual International Cryptology Conference Santa Barbara California USA August 19 23 2001 R P BRENT S GAO et A G B LAUDER Random Krylov spaces over finite fields SIAM J Discrete Math 16 2 276 287 2003 D R BUTENHOF Programming with POSIX threads Professional computing series Addison Wesley 1997 CABAL 233 digit SNFS factorization Disponible l adresse ftp ftp cwi nl pub herman SNFSrecords SNFS 233 Oct 2000 177 178 Bibliographie CZ81 Cav00 Cav02 CDL 00 Cer Cop84 Cop93 Cop94 COS86 CP01 DHS4 DDLM94 DH76 DL95 Dor87 DE03 DEMO03 EIG85 D G CANTOR et H ZASSENHAUS A new algorithm for factoring polynomials over finite fields Math Comp 36 154 587 592 Apr 1981 S CAVALLAR Strategies in filtering in the number field sieve Dans W BOSMA diteur ANTS IV L
168. donn e certaine les machines du cluster MEDICIS en particulier sont g n ralement tr s charg es La valeur de m 8 a ensuite t choisie en cons quence car nos mesures semblaient indiquer qu en toute tat de cause l tape BW2 ne serait pas limitante ce qui a t confirm En fonction de ces choix nous avons ensuite d pr parer le calcul Cela a impliqu deux manipulations Premi rement on a remplac la matrice B par une matrice XB X tant une matrice de permutation dans le but d quilibrer les lignes de la matrice en vue d un 161 162 Chapitre 9 Alg bre lin aire extr me usage sur des machines multiprocesseurs Le proc d employ pour construire XB a t d crit bri vement en 7 2 4 Par ailleurs nous avons mentionn en 7 3 que pour tre en mesure de d tecter les erreurs pouvant intervenir lors du produit matrice X vecteur nous devions construire deux vecteurs a et B reli s par 8 BTa C est ce stade du calcul que a et 8 sont construits Notre matrice ayant des coefficients tr s petits il nous a t facile d obtenir de petits vecteurs a et 8 Le nombre de produits matrice x vecteur effectuer dans la phase BW1 s l ve 120032 pour chacune des colonnes de A X Des machines tr s diverses ont t utilis es pour ce calcul Ces machines ont t mises disposition par les institutions suivantes LIX cole polytechnique MEDICIS cole polytechnique
169. e T le quotient de ces deux valeurs est 1 37 le cas le pire tant un quotient valant V2 La valeur de h qui d coule de celle de k est 152 4 3 Techniques de crible Le choix des param tres que l on vient d voquer conditionne en particulier les degr s maximaux des polyn mes C et D lors du crible valant ici 173 et 112 lorsque A et B sont de degr maximal Pour obtenir le nombre voulu de relations savoir au moins 766150 nous avons utilis un crible polynomial tel qu il a t d crit en 3 3 Pour acc l rer ce crible la technique de crible partiel d crite en 3 4 a t employ e En accord avec les calculs men s en 3 4 et en particulier les graphiques de la figure 3 8 page 58 nous avons ainsi choisi de ne consid rer pour le crible que les facteurs irr ductibles de degr compris dans l intervalle 10 23 L espace de crible examiner en fonction des degr s maximaux d4 et dg qui ont t choisis compte 2 paires A B ou encore 2 paires telles que pgcd A B 1 Nous avons aussi utilis la double large prime variation telle qu on l a d crite en 3 1 2 Nous avons donc collect trois types de relations Les relations compl tes ou ff full full ne comportant pas de large prime Les relations pf partial full o la factorisation de l un des polyn mes C et D contient un large prime Les relations pp partial partial o deux large primes interviennent soi
170. e le protocole de chiffrement fond sur l identit que l on vient de pr senter ce protocole repose sur la difficult du probl me BDH 1 3 3 Importance du logarithme discret Pour r soudre le probl me BDH on ne conna t pas d autre m thode que la r solution du probl me DL soit sur la courbe E soit dans le groupe multiplicatif le corps Fix Le param tre k reliant les deux entit s d pend de la courbe E Pour les courbes supersinguli res ce param tre 1 3 Cryptographie fond e sur l identit 15 est inf rieur 6 C est ainsi que la r duction MOV r duit le calcul de logarithmes discrets dans E au calcul de logarithmes discrets dans Fx Pour calculer a partir de P et aP on calcule le logarithme de e aP Q en base e P Q pour un point Q arbitraire Les corps finis offrent une moins grande s curit que les courbes elliptiques taille de clef semblable Ainsi le calcul de logarithmes discrets dans le groupe de points d une courbe elliptique d finie sur un corps premier de 160 bits est de difficult peu pr s quivalente un calcul de logarithmes discrets dans un corps premier de 1000 bits Si on se contraint pour les cryptosyst mes utilisant des couplages au cas des courbes supersinguli res on constate que langle d attaque le plus facile est le corps fini Fx puisque k est au plus 6 Pour cette raison il est primordial de savoir exactement quelle taille de corps fini offre un niveau de s c
171. e RR 2376 INRIA 1994 chapitre 6 de Analytic com binatorics para tre P FLAJOLET et R SEDGEWICK Analytic combinatorics symbolic combinatorics Dis ponible l adresse http algo inria fr flajolet Publications books html May 2002 chapitres 1 3 de Analytic combinatorics para tre Version revue et augment e de FS93 G FREY et H G R CK A remark concerning m divisibility and the discrete logarithm in the divisor class group of curves Math Comp 62 206 865 874 Apr 1994 J VON ZUR GATHEN et J GERHARD Arithmetic and factorization of polynomials over F gt extended abstract Tech Report tr rsfb 96 018 University of Paderborn Germany 1996 J VON ZUR GATHEN et J GERHARD Modern Computer Algebra Cambridge University Press Cambridge England 1999 J VON ZUR GATHEN et J GERHARD Polynomial factorization over F2 Math Comp 71 240 1677 1698 Oct 2002 J VON ZUR GATHEN et D PANARIO Factoring polynomials over finite fields A survey J Symbolic Comput 31 1 3 17 2001 J VON ZUR GATHEN et V SHOUP Computing Frobenius maps and factoring polyno mials Comput Complexity 2 187 224 1992 P GAUDRY An algorithm for solving the discrete log problem on hyperelliptic curves Dans B PRENEEL diteur Advances in Cryptology EUROCRY PT 2000 Lecture Notes in Comput Sci volume 1807 pages 19 34 Springer Verlag 2000 Proc International Conference on the Theory and Application of Cryptogr
172. e de complexit les algorithmes que l on verra dans ce chapitre sont de complexit O yN o y est le nombre moyen de coefficients non nuls dans les lignes de la matrice M Il s agit donc d une complexit bien meilleure que celles des algorithmes denses si y log N En outre cette complexit n inclut pas de constantes importantes cach es dans l exposant Enfin et surtout les algorithmes creux conservent le 87 88 Chapitre 5 Pr sentation du probl me caract re creux de la matrice d entr e Bien souvent c est ce facteur qui est d terminant car la taille des matrices trait es interdit tout stockage en m moire sous forme dense Ces trois arguments rendent l algorithmique creuse absolument incontournable pour la r solution des probl mes qui nous int ressent 5 1 2 Diff rents algorithmes existants Pour commencer une litt rature tr s abondante et d j relativement ancienne existe dans le cadre des syst mes lin aires num riques c est dire d finis sur R ou C o les matrices qui interviennent sont souvent tr s creuses GL81 GGL93 H las ces travaux reposent sur des propri t s structurelles des syst mes consid r s comme la concentration des coefficients non nuls autour de la diagonale De tels algorithmes ne peuvent s appliquer notre cas Les algorithmes applicables notre cas sont d crits dans ce chapitre Tous tiennent compte du caract re creux En revanc
173. e enfin dans les jacobiennes de courbes hyperelliptiques de genre grand ADH94 Gau00al il est sous exponentiel de la forme Lis G 5 c Dans presque tous ces cas on parle de complexit heuristique plut t que prouv e puisque l on repose sur des hypoth ses comme cette quantit se comporte comme si elle tait al atoire Bien que de telles hypoth ses soient corrobor es par l exp rience on a parfois des difficult s les prouver en toute rigueur L exposant a qui intervient dans l criture Li 6 a c sert moduler entre le polynomial a 0 et l exponentiel a 1 ce jour aucun algorithme sous exponentiel n est mentionn dans la litt rature avec une constante a strictement plus petite que z 24 Chapitre 2 Logarithme discret et cryptanalyse 2 3 2 Pr sentation de l algorithme d Adleman Nous nous concentrons d sormais sur le calcul de logarithmes discrets dans Fon Par cons quent nous abandonnons la notation n G Dans la s rie d algorithmes que nous pr sentons pour calculer des logarithmes discrets sur Fon Valgorithme d Adleman Ad179 est le plus ancien et aussi le plus simple Nous nous servirons de cet algorithme pour d gager la trame g n rale des algorithmes d index calculus La premi re t che consiste mettre en vidence une notion de friabilit dans Fon On souhaite pouvoir dire d un l ment qu il est friable s il se d compose en petits facteurs Cela app
174. e la description du crible polynomial change peu Nous allons donc calculer les valeurs d initialisation du crible pour plusieurs possibles choisissons une certaine quantit des bits de A que l on va laisser varier au sein de chaque crible tant donn que l on est contraint rester dans le m me pa quet on doit avoir lt 04 1 Ainsi aux entr es de la table de crible ne correspondent plus seulement des valeurs de B mais des couples a By o a est un polyn me de degr 1 La paire associ e au couple a By est la paire A a BpX 8 B o A est ApX 4t Ay et A est divisible par X Lorsque dans le crible on s int resse au facteur irr ductible g la congruence r soudre est alors By aX AX B X9 8 1 mod g Les solutions de cette congruence forment un sous espace affine S de l espace vectoriel sur F not V F 6G o F et G sont d finis par F 1 X X X 8 Cae xe ML in vitable disparit de l ensemble des machines utilis es pour un calcul de cette envergure entra ne n cessairement des probl mes de ce type 62 Chapitre 3 Techniques pour l algorithme de Coppersmith 33 28 0 22 76 31 12 26 105 68 0 109 96 4 107 75 1 144 24 0 138 20 4 125 35 38 84 16 256MB 109 48 3 153 80 6 46 16 38 128MB 107 1
175. e la multiplicit de dans la factorisation du polyn me caract ristique de B On note cg deg la dimension de ce sous espace On a alors Th or me 6 10 La probabilit pour que deux vecteurs x et y de KN soient tels qu on ait l galit ty pay est l 1 5 1 i qres e qc deg d a D MONSTRATION Pour d montrer ce th or me on a recours aux propri t s de r duction de la matrice B Commen ons par justifier cette assertion en montrant que l on peut se ramener au cas o le polyn me caract ristique de B est une puissance d un polyn me irr ductible En effet si l on crit K comme somme directe des sous espaces caract ristiques g n ralis s Cj on a ind pendamment de x y et k T pk T pk i o les vecteurs x et y ont t d compos s conform ment la somme directe Ci On associe chacune des suites zT Be c Yi un polyn me minimal respectif ah On sait par construction u 110 Chapitre 6 M thodes utilisant des g n rateurs lin aires que ces polyn mes sont premiers entre eux car les C sont les sous espaces caract ristiques g n ralis s Il s ensuit que le polyn me minimal Hg y est le ppem des 1 et donc que Hry Hy si et seulement si l galit est v rifi e localement pour tout i Il s ensuit que si la propri t de probabilit que l on cherche montrer est vraie localement elle est vraie globalement La r ciproque est vidente Montrons maintenant que l on peut
176. e point clef de l algorithme est la possibilit d utiliser une information incompl te sur R _1 et R pour calculer En effet seuls les r _1 r 1 coefficients de t te de ces deux polyn mes sont n cessaires En fonction du nombre de coefficients connus de U et V on peut d terminer combien de matrices T X peuvent tre calcul es Proposition 8 4 Si U et V sont connus partir du coefficient de degr m inclus avec m gt 0 alors Ilo est uniquement d termin si et seulement si i lt 24 o l on a not n deg U Ce r sultat est un r sultat pauvre dans le cas o m 0 la partie seulement si est bien s r incorrecte Nous d montrons qu il est optimal pour m gt 0 D MONSTRATION Pour commencer nous d terminons combien de coefficients sont connus dans l expression de R Comme on sait que deg I r _1 ri l expression connue de R en fonction de Ry V et Ro U nous donne que R2 est connu partir du coefficient de degr m ro r m n r Une r currence triviale permet d obtenir pour gt 1 R est connu partir du coefficient de degr m n r _1 inclus Par ailleurs nous souhaitons calculer des matrices IT c est dire avoir la possibilit de d terminer les quotients On a vu que seuls les r _1 r 1 coefficients de t te importaient Le coefficient de plus bas degr dans intervenant dans la d termination de I est donc le coefficient de degr
177. e si le polyn me X tp calcul aussi not pz n est qu un diviseur strict de uy Dans ce cas m me si l on a a BYF B y 0 on n a pas B F B y B Fv Byu 0 Nous d taillons plus loin la probabilit d avoir Hz y Hy La seconde possibilit d obtenir une r cursion de l algorithme est la situation o le vecteur v F B z calcul est nul Clairement cette situation exclut la pr c dente On montre le r sultat suivant Proposition 6 9 Supposons B Ttv 0 Alors v 0 amp u Ker y B DEMONSTRATION Reprenons la d composition KY E F introduite dans la d monstration de la proposition 6 8 o E est le sous espace caract ritique de B associ la valeur propre 0 donc E Ker B 1 et F un suppl mentaire stable Comme Fv B est inversible sur E si v Fv B u 0 alors u appartient F Ker w B M R ciproquement si u F alors pu p Comme B Fv B u 0 on a aussi y XAH Fv La combinaison de ces deux propri t s implique pu Fv donc v Fv B u En appliquant cette propri t conjointement avec la proposition 6 8 il ressort que la probabilit de r cursion due v 0 est 1 oa Quelle est la probabilit d avoir Hxy A Hy Elle peut tre calcul e exactement Pour chaque facteur irr ductible du polyn me caract ristique de la matrice B on appelle sous espace caract ristique g n ralis de B le sous espace vectoriel Ker B il suffit de prendre comme puissanc
178. e telle exposition pr senterait certainement quelques longueurs et serait sans doute peu clairante Nous nous contentons d insister sur quelques exemples de difficult s En examinant le programme 7 2 on peut ainis remarquer que le positionnement de la r duction modulaire la fonction reduce_modp des coefficients ne s effectue pas du tout au hasard L appel cette fonction peut avoir lieu aucun autre moment de l it ration En effet si celui ci est effectu simultan ment avec le calcul des produits scalaires save_dot_products 7 2 petite chelle parall lisation 125 w 0 w 0 lignes 1 L 2 ot lignes L 2 L w Bu multiply w lt Bu lignes 1 L 2 pas de r duction lignes L 2 L wi wi mod p ENTIER wi wi mod p i 1 L 2 reduce_modp Synchronisation T T ng disque save_dot_products Bg disque OS 1 j m 2 m v0 v0 lignes 1 L 2 RETAS lignes L 2 L Figure 7 3 Organisation du calcul pour Multithread ApplyBlackBox 126 Chapitre 7 Implantation de BW on court au d sastre ce n est pourtant pas vident on est face une race condition En effet si un thread est plus rapide que les autres et passe l tape suivante multiply pendant qu un autre est en train de mettre jour le vecteur w destination de l it ration courante et donc source de Vit ration suivante le comportement du programme est diff rent de ce quoi on
179. echniques Nous donnons d abord ces claircissements avant de d crire le proc d de calcul d index en plus grand d tail Soit un l ment de F2 X Y de degr 1 en Y Lorsqu on consid re mod G ou mod H on consid re en fait comme un polyn me en une variable Y sur le corps des fractions rationnelles en X not F2 X Du c t gauche c t rationnel la quantit mod G ainsi construite est un polyn me en X Consid rer cette quantit mod H n a du sens que si l on consid re en fait la r duction u x p2 X Du c t droit c t alg brique la premi re r duction mod H doit encore tre op r e sur le polyn me en tant qu l ment de F X Y Cette op ration ne se traduit par aucun calcul puisque est de degr 1 On obtient ainsi une fonction appartenant au corps F2 H des fonctions sur la courbe d quation H X Y 0 sur F2 nouveau lorsqu on op re la seconde r duction mod G de cette fonction il faut pour lui donner du sens consid rer G diff remment mod G est plus exactement l valuation de sur la place de H correspondant aux z ros de G De cette fa on le r sultat est bien d fini comme un l ment de Fon On peut redonner un diagramme explicitant ainsi les deux chemins construits allant de F X Y Fon modulo le polyn me H x qui est l image du c t rationnel du polyn me H p AY BEFIX Pi Polyn
180. ecture Notes in Comput Sci volume 1838 pages 209 231 Springer Verlag 2000 4th Algorithmic Number Theory Symposium Leiden The Netherlands July 2 7 2000 S CAVALLAR On the number field sieve factorization algorithm Doctor s thesis Un versity of Leiden 2002 S CAVALLAR B DODSON A K LENSTRA W LIOEN P L MONTGOMERY B MuR PHY H J J TE RIELE K AARDAL J GILCHRIST G GUILLERM P LEYLAND J MARCHAND F MORAIN A MUFFETT C PUTNAM C PUTNAM et P ZIMMER MANN Factorization of a 512 bit RSA modulus Dans B PRENEEL diteur Advances in Cryptology EUROCRYPT 2000 Lecture Notes in Comput Sci volume 1807 pages 1 18 Springer Verlag 2000 Proc International Conference on the Theory and Application of Cryptographic Techniques Brugge Belgium May 2000 me LI CERTICOM CORP The Certicom ECC challenge Description at http www certicom com resources ecc_chall challenge html D COPPERSMITH Fast evaluation of logarithms in fields of characteristic two IEEE Trans Inform Theory IT 30 4 587 594 Jul 1984 D COPPERSMITH Solving linear equations over GF 2 Block Lanczos algorithm Linear Algebra Appl 192 33 60 Jan 1993 D COPPERSMITH Solving linear equations over GF 2 via block Wiedemann algorithm Math Comp 62 205 333 350 Jan 1994 D COPPERSMITH A M ODLYZKO et R SCHROEPPEL Discrete logarithms in GF p Algorithmica 1 1 15 1986 R CRANDALL et C POMERANCE Prime numbe
181. egr 10 23 Figure 3 8 volution de la qualit du crible partiel Proposition 3 4 Soit RC 1 b Soit la s rie fro u 2 d finie par freuz I 1 lt k lt b kgR 1 1 2k e Il 1 ue keR Alors le coefficient du mon me en u z de fro u z not u z fro u z est le nombre de polyn mes b friables de degr n dont la contribution des facteurs de degr appartenant R dans la factorisation est gale m Soit en outre la s rie gr u z d finie par el gr u z fRoo u z keR Alors uz gr u z est le nombre de polyn mes de degr n b friables ou non dont la contribution des facteurs de degr appartenant R dans la factorisation est gale m 3 4 Le crible partiel valuation statistique des contributions des facteurs 59 Il s ensuit que pour une borne de qualification gale q le nombre de polyn mes b friables de degr d qui seraient qualifi s s ils apparaissaient dans un crible est gal Dole ul fR olu z On peut simplifier un peu cette criture si l on note h u la s rie 24 fro u z en fait h u est un polyn me en u Les coefficients de h u sont not s hy u h u Ona D Lu fr olu 2 gt hk u y y hy uk k gt q k gt q k20 12k D Tam Do h k gt 0 i lt k 1 n 1 NE ee k gt 0 i lt k 1 jul h 1 uh u 1 u futz Gar ALES u Parall lement on montre
182. elle n cessairement une id e de taille des l ments du groupe La situation de F n est particuli rement simple en ce qui concerne ces notions de taille et de friabilit puisqu une r ponse imm diate nous est donn e par la factorisation du polyn me de plus petit degr parmi les repr sentants d un l ment si ce polyn me a tous ses facteurs de degr inf rieur une borne b par exemple on dit que l l ment en question est friable Voici quelques exemples Pla ons nous sur Fo127 F2 X X1 4 X 1 L l ment X4 du corps admet comme unique repr sentant de degr lt 127 le polyn me X X X X19 Ce polyn me se factorise en X19 X 1 3 L l ment X40 est donc 1 friable On voit facilement que le repr sentant minimal de 1 X est X126 1 X 1 EXP Donc en vertu de la propri t A 12 1 X est un l ment 6 friable Comme cela appara t dans l exemple le polyn me de d finition du corps consid r doit tre fix une fois pour toutes au d but des calculs Supposons donc que nous avons fix une repr sentation de For Fon F X f X L algorithme proc de en trois phases cons cutives Phase 1 Le degr nous fournissant la notion voulue d l ments petits il faut maintenant choisir une borne de friabilit not e b qui param tre la base de facteurs factor base not e B B x F2lX m irr ductible degr lt b On peut remarquer qu
183. ement la date de modification des fichiers concern s La situation la plus d sagr able que l on a rencontr e cet gard est celle de quelques stations de travail qui s obstinent effacer l arborescence de tmp chaque r initialisation Notre objectif a t depuis l origine d utiliser le temps machine disponible en faisant en sorte que nos esclaves laissent la priorit tout autre calcul pouvant avoir lieu sur la machine concern e Nos programmes ont ainsi toujours t lanc s avec le niveau de priorit Unix 19 signifiant la priorit la plus basse Dans certains cas cette approche a tr s bien fonctionn puisque sur certaines machines nos programmes n ont pas eu l occasion de cribler un seul paquet entier en plusieurs semaines un tel point que les paquets en question avaient t jug s perdus par le serveur central H las laisser tourner un processus en t che de fond de cette fa on implique une gestion sociologique parfois difficile Les machines sur lesquelles on a voulu utiliser ce syst me ont t essentiellement les machines du laboratoire LIX et du cluster MEDICIS et des machines de salles de travaux dirig s destin es aux l ves principalement l cole polytechnique mais aussi bien que tr s marginalement l cole normale sup rieure de Paris et l University of Illinois at Chicago D un c t sur le cluster MEDICIS le syst me a tr s bien fonctionn dans un certa
184. employ pour l tape BW2 alors le temps total pour l ex cution de l algorithme de Wiedemann par blocs est minimal pour yMo Nopt 2 ae ef Mopt 0 7Nopt Dans ce cas le temps total est Wopt BW1 BW2 BW3 3 44 MoMi N DEMONSTRATION Nous avons tous les l ments pour calculer l expression W BW1 BW2 BW3 On obtient 1 Wea ae ee mn 2 n 1 1 n 2 W imoa Dem 158 Chapitre 8 Berlekamp Massey matriciel K N m n BW1 Coppersmith algo r cursif BW3 Threshold F 32479 10 000 2 4h01mn 1h12mn 1h57mn y 35 4 2h02mn 2h02mn 1h04mn 8 1h05mn 4h06mn 34mn 20 000 2 29h05mn 4h38mn 14h30mn y 65 4 14h44mn 8h15mn 7h17mn 8 8h07mn 16h29mn 3h48mn F65537 10 000 2 1h16mn 52mn 3mn50s 38mn 147 y 35 4 38mn 1h27mn 7mn47s 19mn 132 8 19mn 2h20mn 18mn56s 10mn 74 20 000 2 8h58mn 3h07mn 8mn45s 4h31mn 161 y 65 4 4h41mn 5h10mn 18mn32s 2h22mn 132 8 2h19mn 9h12mn 52mn01s 1h10mn 80 Table 8 8 Comparaison avec les r sultats de Lob95 Si l on cherche minimiser W pour une valeur donn e de les valeur optimales Wopt et Nopt sont SE anes a4 opt Mid SN o 1 Wopt 2N an 5 Nous devons donc minimiser aig ce qui impose v2 1 En incorporant cette valeur de on obtient les valeurs annonc es Th or me 8 16 Si l algorithme d crit en 8 5 est employ pour l tape BW2 alors le temps total pour l ex cution de l algorithme de Wiedemann par blo
185. en posant g gi g le sous groupe G g de G est isomorphe amp Z p Z J J j J J Pj DEMONSTRATION L ordre de l l ment g tant n par construction il est clair que gj et 9 sont respectivement d ordres p et pj On peut mentionner la commutativit du diagramme suivant o les applications sont d finies par prolongement imm diat partir des d finitions de gj et gi G gt G j gt Gi o e Z nZ gt B pZ 7 p 7 Cette d composition permet en fait de r duire le probl me du logarithme discret dans G au probleme du logarithme discret dans les groupes Gi une premi re tape facile tant la r duction aux sous groupes G On nonce donc le r sultat suivant que l on d montre de mani re constructive 17 18 Chapitre 2 Logarithme discret et cryptanalyse Proposition 2 2 Notons DL G la complexit du calcul du logarithme discret dans le groupe G On a DL G O SKDL G e logn j o d signe O logn op rations dans G multiplications inversions D MONSTRATION On d montre ce r sultat en deux tapes Commen ons par la relation DL G O X DL G log n j Soit x G un l ment dont on souhaite calculer le logarithme en base g Supposons que l on a calcul un m uplet 1 m tel que L log x 5 On a alors pour chaque j gt ai gb g log x _ g5 nj log njlj mod n log lj mod p Par cons quent une simple applicatio
186. ent d assurer la condition d orthogonalit suivante qui pr cise la condition 7 plus haut iv Vj lt i 1 Wi AVin 0 Les termes correctifs sont choisis sous la forme d une combinaison lin aire des matrices Wj L expression de V 1 se pr cise alors sous la forme suivante i Vier AW Vi So Wj City j 0 En raisonnant par conditions n cessaires on peut d river partir de la condition iv et de la condition 7 expression de Cj41 WI AVi41 0 i W AW WF AV X WF AWkCiik k 0 Wj A W WF AV WF AW Ci condition ii 5 3 Algorithmes pour terminer la r solution 99 Ci LL WTAW WA AW Vi condition i Essayons de simplifier cette expression de Cj 1 Pour les indices j tels que j lt i on a WT AV 0 par la condition iv On souhaite annuler le terme WT AW ce qui requiert un peu de travail Ce terme peut s crire alternativement de la fa on suivante en utilisant l criture W V S On se place dans le cas j lt i Wi Aw SP wr AW ST AW AW J T ve Vj gt WiC AW j lt 4 k 0 SF Vin Vi AWi SV AW Il est h las impossible de simplifier encore ce terme en toute g n ralit Si la matrice S 1 est gale In alors Vj41 W 1 et le terme ci dessus est nul pour j lt 1 C est ce qui se passe dans l algorithme de Lanczos simple o l extraction S 1 est toujours complete Ici pour obtenir l annulation du terme V AWi on r
187. epr sent sur le graphique de la figure 3 6 l volution de la proportion des com posantes connexes en fonction de leur taille en nombre d ar tes normalis e au maximum C est dire par exemple que l on a trac la proportion du nombre de composantes connexes de taille 4 par rapport la valeur maximale de 0 88 On voit sur cette figure que le point d effondrement du graphe est r ellement d pass partir de 40 millions d ar tes envi ron puisque pour toutes les tailles de composantes connexes jusqu la taille de 11 et plus on voit que la proportion est nettement d croissante cette constatation inspire bien s r un rapprochement avec les mod les de percolation 50 Chapitre 3 Techniques pour l algorithme de Coppersmith 900000 800000 700000 600000 500000 400000 300000 200000 100000 Nombre de cycles 1e 07 total K taille gt 2 taille 2 Nombre de relations partielles 2e 07 3e 07 4e 07 5e 07 6e 07 Figure 3 4 Evolution du nombre de cycles Taille Nombre Proportion Maxi 1 ar te 22 226085 36 93 2 ar tes 2755157 4 5 6 1 3 ar tes 856 449 1 4 1 9 4 ar tes 385 286 0 63 0 88 5 ar tes 206 514 0 33 0 48 6 ar tes 124 223 0 20 0 29 7 ar tes 81119 0 13 0 19 8 ar tes 55 325 0 091 0 13 9 ar tes 39 229 0 064 0 093 10 ar tes 29 103 0 048 0 068 11 ar tes ou plus 113 426 0 19 0 26
188. equiert une propri t plus fine de Vextraction les colonnes de Vj 41 n apparaissant pas dans Wj41 V 1S 11 doivent appara tre dans W 2 Ceci s exprime par la condition suivante v Vi Im V C Im W Im W 1 T Gr ce cette condition on peut garantir que V 4W 0 d s que j lt i 2 puisque l on j 1 peut crire par exemple Vj41 W 417 W 22 L expression de r currence peut alors se simplifier sous la forme Viet AW Vi WiCinii Wi 1Cigi 3 1 Wi 2 Citi i 2 La profondeur de la r currence est donc born e Nous pouvons v rifier apr s notre raison nement par conditions n cessaires que les quations que nous donnons permettent de garantir les diff rentes conditions qui ont t nonc es en pr cisant toutefois deux points Le processus se poursuit tant que VIAV ne s annule pas Comme dans l algorithme de Lanczos simple cette annulation intervient seulement la fin du calcul et nous permet d obtenir un vecteur du noyau de B cette fois avec une certitude plus grande puisqu partir de l identit BV T BV 0 on a de bonnes chances de pouvoir d duire des vecteurs de Ker B La condition v ne peut pas tre garantie automatiquement chaque tape il faut s assurer qu il est possible d inclure dans W 1 une base du sous espace engendr par les colonnes de V omises dans W Ce n est pas n cessairement possible si les colonnes correspondantes de V
189. er cette situation Pour que le polyn me w divise D l exposant e tant gt 1 on doit avoir APRPRR fi BP 0 mod iS k B R mod w U VR mod w Le probl me auquel on doit faire face est donc celui de l existence de racines k mes modulo une puissance d un polyn me irr ductible Si e 1 ce probl me n en est pas un car de telles 8 un tel point que l auteur de ce manuscrit ne garantit pas qu une coquille n ait pas parfois plac 4 en lieu et place de k dans ces pages 36 Chapitre 2 Logarithme discret et cryptanalyse racines existent toujours D s que e grandit la situation se complique On aimerait trouver les racines k mes qui nous int ressent par un proc d de rel vement 2 adique mais h las la structure math matique du probl me rend un tel rel vement impossible on est dans un contexte ramifi car k est une puissance de 2 Consid rons l application a Fo X v Fo X w Pmod we PF mod w Il est facile de voir que si e lt k cette application n est pas injective et les ant c dents d une valeur PF sont tous les P wp pour deg p lt e 1 deg w Deux remarques s ensuivent Toutes les valeurs ne sont pas atteintes Il se peut que n ait aucune racine k me modulo w pour 1 lt e lt k C est le cas par exemple si n est impair et deg R lt 2degw car on est alors certain que R mod w a un coefficient de degr impair non
190. es diff rentes du probl me et ce sont autant de cryptosyst mes la s curit de l un n tant pas n cessairement remise en question par l existence d une attaque sur le logarithme discret dans un autre groupe Plus exactement on sait d montrer qu il n existe pas d attaque valide pour tous les groupes on peut prouver qu un groupe g n rique est sur c est dire qu un calcul de logarithme discret est n cessairement exponentiel Par cons quent un algorithme de calcul de logarithmes discrets s applique seulement une classe de groupes bien d limit e Des algorithmes sous exponentiels existent pour r soudre certaines instances du probl me du logarithme discret On peut ainsi calculer en temps sous exponentiel des logarithmes dis crets dans les groupes multiplicatifs des corps finis ou sur des courbes hyperelliptiques de genre grand Dans la grande famille des algorithmes sous exponentiels plusieurs algo rithmes partagent des traits communs On parle l des algorithmes de crible quadratique et alg brique ainsi que des algorithmes sous exponentiels de calcul de logarithmes discrets Sans rentrer dans les d tails d un algorithme sp cifique ou d un autre on peut distinguer deux phases principales suivies souvent d une troisi me La premi re phase consiste fabriquer un syst me de relations lin aires Cette phase est en g n ral la plus co teuse en terme de temps de calcul mais po
191. es bons moments que nous avons pass ensemble Je vous remercie encore tous membres du LIX et associ s pour votre contribution a la bonne humeur qui a toujours r gn lors du traditionnel barbecue de fin d ann e Durant ma th se j ai fait souffrir beaucoup de pauvres machines innocentes J ai aussi caus du tracas aux administrateurs des machines concern es Je remercie G rard Guillerm Bogdan Tomchuk Jo l Marchand Teresa Gomez Diaz pour avoir toujours t compr hensifs et coop ratifs Je remercie John Cannon pour m avoir invit passer deux mois Sydney fin 2001 J ai pu d couvrir Australie alors qu il faisait froid dans l h misph re nord cette poque Je remercie particuli rement Claus Fieker David Kohel pour m avoir fait faire du sport et Alan Steel pour les tr s nombreuses discussions que nous avons eues Je remercie aussi toutes les personnes que j ai oubli de remercier de ne pas m en tenir trop rigueur Je remercie enfin encore une fois Mireille Fouquet et Dominique Poulalhon qui sont deve nues bien plus que des coll gues de travail Notre commune et saine horreur de la mont e des marches nous a simultan ment motiv s pour pratiquer un covoiturage de choc La Punto et la Clio si les voitures ont des oreilles ont ainsi entendu mille et mille bavardages cancans potins railleries fous rires et parfois aussi des d bats s rieux ou presque Le trajet quotidien dans les bou
192. es comme inactives et reprendre l tape 1 90 Chapitre 5 Pr sentation du probl me Dans les diff rentes tapes que l on vient de mentionner plusieurs points m ritent d tre pr cis s Tout d abord l tape 3 souligne l int r t d avoir comme point de d part une matrice avec des lignes surnum raires Cela permet ventuellement de se d barrasser au cours du processus des lignes qui deviennent trop encombrantes Bien que l on souhaite ultimement avoir g rer une matrice carr e il n est pas judicieux de forcer la matrice tre carr e tout au long du processus On se doit de garder une marge de man uvre quitte faire converger lentement la forme de la matrice vers une forme carr e 5 2 3 Comparaison de l int r t des op rations Comment d termine t on les bonnes lignes choisir pour pivoter dans l tape 4 Si Von choisit une ligne de poids r pour liminer une colonne de poids c on montre facilement que le nombre de coefficients que l on rajoute ainsi dans la matrice est au plus c 1 r 1 e 1 r 1 1 c 2 r 2 2 C est donc par l valuation de cette quantit que l on d termine quelles sont les meilleures colonnes possibles pour l limination Tant qu elle est n gative on est assur que l on r duit strictement la difficult de r solution de notre syst me lin aire Un raffinement de la r gle qui pr c de consiste m
193. es complexit s polynomiales et exponentielles puisque Liogn 0 c logn et Liogn 1 c n L existence d un algorithme sous exponentiel de calcul de logarithme discret dans un groupe n est pas n cessairement une raison de disqualifier le groupe en question pour tout usage cryptographique Le caract re pratique de l algorithme en question m rite d tre analys Dans bien des cas toutefois un groupe dans cette cat gorie souffre d un s rieux d savantage vis a vis des groupes pour lesquels seul un algorithme de calcul exponentiel est connu 1 1 3 Groupes propos s Il convient en premier lieu de remarquer qu il existe bien s r de tr s mauvais groupes Par exemple si la loi de G est en fait l addition pour une structure d anneau existant sur les l ments de G alors la situation est compromise Prenons ainsi pour G le groupe Z nZ que l on note donc additivement Ce qui tient lieu de puissance de g se note xg et le logarithme de xg est x Retrouver x est alors de complexit seulement polynomiale puisque Valgorithme d Euclide r pond au probl me Groupes multiplicatifs de corps finis Le premier groupe non trivial propos r pondant au moins en partie aux sp cifications que l on vient d noncer a t d s l article originel de Diffie et Hellman le groupe multiplicatif de Z nZ lorsqu il est cyclique Nous verrons au chapitre 2 que l algorithme de Pohlig Hellman permet de calcule
194. es machines ainsi que la quasi exclusivit de leur acc s nous a permis d en tirer un tr s bon niveau de performance Ainsi les 13 petits PCs de la grappe de calcul du laboratoire ont contribu tr s largement l effort de crible car ils y ont travaill 100 pendant l essentiel de la dur e du calcul Du strict point de vue de la puissance brute aussi bien que du nombre de machines cette ressource n est pourtant pas la plus puissante de celles auxquelles nous avons eu acc s Mais comme nous en avons fait mention la gestion des utilisateurs a parfois rendu le calcul difficile le cas ch ant Des ressources plus organis es ont aussi t utilis es comme le centre de calcul MEDI CIs l cole polytechnique le programme TestDrive propos par Compaq d sormais HP ainsi que le centre de calcul IDRIS du CNRS Orsay L emploi de ces centres de calcul a signifi quelques contraintes Plusieurs contorsions ont t n cessaires pour se d faire de ces contraintes et ainsi pouvoir travailler Nous illustrons ces contorsions par un exemple d taill relatant comment nous avons pu nous affranchir d une restriction rencontr e sur le nombre de processeurs simultan ment utilis s par une t che Comment une telle restriction peut elle tre mise en place Cela para t peu vident En effet les syst mes Unix offrent la possibilit de limiter l usage de certaines ressources par un programme au t
195. es polyn mes de la forme C AX B ne forment bien s r qu un tr s maigre sous ensemble de cette classe de polyn mes 13Le programme MAGMA qui ne dispose pas d algorithmes tr s avanc s pour la manipulation de s ries formelles ce jour a trait les graphiques de la figure 3 8 en moins d une minute 60 Chapitre 3 Techniques pour l algorithme de Coppersmith 3 5 Le groupement de cribles 3 5 1 L espace de crible n cessaire Un des aspects de la recherche de relations que nous avons durement constat par l exp rience est que les probabilit s de friabilit sont tr s instables Bien entendu des paires A B de petit degr correspondent des paires C D de degr mod r et donc des probabilit s de friabilit de ces polyn mes plus importantes Le rendement en relations de chaque pa quet de paires A B d croit avec l volution du degr de A et B Une valuation pr cise de l espace de crible n cessaire importe donc des tests sur les diff rentes plages de degr H las pour rendre la situation encore plus complexe d autres facteurs d j voqu s in terviennent L emploi de cribles partiels a pour effet d augmenter le rendement local pour des paquets de paires de m me degr mais cette approche a le d faut de consommer l espace de crible plus vite Pour cette raison les graphiques de la figure 3 8 attirent l attention sur la proportions des polyn mes friables qui sont
196. es pour des s quences de matrices 8 1 Pr sentation du probl me Soit une matrice m x n coefficients dans les s ries formelles sur un corps fini K On note A X K X Comme on l a vu en 6 3 2 c est un objet de ce type qui est produit dans la premi re phase de l algorithme de Wiedemann par blocs Cet objet est indiff remment vu comme une matrice de s ries formelles comme une s rie formelle de matrices ou enfin comme une suite de matrices Nous avons d j mis en vidence que la grandeur associ e qui nous int resse est un g n rateur lin aire de A sur K X tel que d fini par l nonc 6 1 et pr cis par l exemple en page 104 au sens de la terminologie mise en place lors de cette discussion on s int resse plus exactement un g n rateur lin aire vectoriel L quation que doit satisfaire un tel g n rateur F X K X est tout simplement AF RIX Cette quation lorsque les entiers m et n sont gaux a 1 peut tre r solue simplement avec efficacit Si le g n rateur lin aire recherch F est de degr lt N on va montrer que Valgorithme de Berlekamp Massey Ber68 Mas69 permet de calculer F partir d au plus 2N coefficients de A vu comme une suite on a donc besoin de 2N matrices m x n soit 2N scalaires puisque l on est dans le cas m n 1 Nous verrons aussi que l algorithme d Euclide tendu r sout ce probl me En fait les deux algorithmes peuvent dans le cas sc
197. es restrictions comme par exemple des restrictions sur le temps de calcul maximal C est la qu on apprend qu un programme n a pas le droit de travailler plus de dix heures Notre programme r sistant ais ment ce genre d interruption il a fallu pour une semaine de calcul mettre en s quence une quinzaine d invocations de notre programme l int rieur d un script shell De telles contorsions nous ont toujours sembl contre productives Elles atteignent rare ment le but souhait mais elles rendent l utilisation des ressources de calcul ardue et c est regrettable Dans cet esprit nous ne dirons jamais assez combien la puissance du cluster vedia du centre de calcul IDRIS nous para t s duisante six machines quadri processeur alpha EV67 cadenc s 833MHz Une telle installation est bien adapt e l ex cution d un programme comme le n tre H las pour obtenir le r sultat final nous avons du faire face des restrictions comme celles que nous venons d voquer si bel et si bien que notre programme cours de remplacement au sein de la librairie standard C glibc par l implantation NPTL Native Posix Threads Library d e U Drepper L implantation NPTL semble ob ir strictement la norme et les d veloppements que nous mentionnons ici ne s y appliquent pas n cessairement 3Et surtout un programme tournant aussi longtemps n a le droit d utiliser au sens vu plus haut qu un seul p
198. esse La conception d un algorithme exact dans ce cas n est pas une mince affaire AHU74 donne un algorithme incorrect et l algorithme pr sent par GY79 est d une l gance discutable Nous pr sentons ici un algorithme qui a l avantage de mieux se comporter vis vis de l quilibrage des r cursions Cela est obtenu au prix de quelques contorsions Nous supposons en entr e de notre algorithme que nous disposons d un couple de poly nomes U V qui ont t obtenus sous la forme d un couple Rega Ry 1 En d autres termes on sait que deg U gt z gt deg V Le cas typique que l on utilise en pratique est bien s r celui o z deg U mais nous allons voir que d autres valeurs de z sont aussi utilis es au cours des r cursions En sortie l algorithme renvoie la matrice Ho 4 U V o s est un entier tel que s gt 5 toujours en notant n deg U on rappelle que par construction de s on a toujours L s amp s Il se d compose en plusieurs tapes comme suit Si s gt deg V retourner I2 0 1 Si s deg V retourner la matrice T T J Sinon poursuivre l Calculer r cursivement Hoes U V Cette matrice s obtient en utilisant le corol laire 8 5 vu pr c demment Pour l employer on prend la plus grande valeur de m pos sible c est dire s n z L identit que l on utilise est donc Io zts U V Ho 242 mm U div X 7 V div X En d duire U
199. est pas une composante capitale de l efficacit du programme Ou plus exactement c est une composante dont l importance d croit au fur et mesure de l volution de la complexit des probl mes qui fait que les paires friables sont de plus en plus rares Nous avons consid r 18Dans le cas o le crible a t effectu sur le polyn me D comme d crit en page 54 la situation est bien entendu invers e 66 Chapitre 3 Techniques pour l algorithme de Coppersmith les algorithmes d crits dans les paragraphes qui suivent Le choix entre ces algorithmes s est av r subtil pour des petites tailles de probl mes o comparativement un temps important tait pass dans la factorisation Lorsque l on s est concentr sur F607 il est apparu pour les raisons que l on vient d voquer que cela n avait plus une tr s grande influence 3 7 2 L algorithme de factorisation de Niederreiter Pour des polyn mes de taille moyenne d finis sur F comme ceux qui nous occupent l algorithme de Niederreiter Nie93b G t94 offre un niveau de performances int ressant Il est assez semblable en structure l algorithme classique de Berlekamp d crit par exemple dans Knu98 4 6 2 L algorithme de Niederreiter s appuie sur le r sultat suivant Proposition 3 5 Soit P F2 X Consid rons l quation HP H Les polyn mes H F2 X qui sont solutions de cette quation sont exactement les polyn
200. est moins bonne et la v rification de ce fait est fastidieuse a 3 1 2 Double large prime variation Une extension possible de la m thode pr c demment d crite est la double large prime variation Celle ci autorise l apparition d un plus grand nombre de cofacteurs Par exemple on accepte d avoir un cofacteur dans la factorisation de C et un autre dans la factorisation de D On peut aussi autoriser deux cofacteurs tre pr sents du m me c t bien que cela puisse entrer en conflit avec le souci qui doit tre permanent de ne pas payer de surco t pour l obtention de ces relations partielles des cas peuvent se pr senter o deux cofacteurs sont identifiables facilement Nous d crivons ici la fa on dont les relations sont recombin es Tout d abord pr cisons la terminologie employ e Par relation ff de full full on d signe les relations sans aucun large prime Ces relations sont rares et on essaye d augmenter leur nombre gr ce des recombinaisons de relations partielles Par relation pf ou fp de partial full et full partial on d signe les relations o appa raissent un seul large prime La distinction entre pf et fp tient la place du large prime suivant qu il appara t dans la factorisation de C ou de D Dans le cas de l algorithme de Coppersmith cette distinction n a pas cours car on peut m langer sans difficult les large primes mixtes 44 Chapitre 3 Techniques pour l
201. euse u 0 for i 0 i lt 2d8 k l j44 Cette boucle est critique if i B B el f S B k for i 0 i lt 248 l it if STi gt h deg L B i marquer la paire A B Programme 3 7 Crible polynomial on se rapproche du point o le choix k 8 est plus avantageux Il en r sulte que le polyn me C est de degr consid rablement plus important que le polyn me D 178 contre 112 dans notre cas Par cons quent cribler sur D n a pas t envisag pour le calcul de logarithmes discrets sur Fo o7 Toutefois nous mentionnons ici comment un tel crible peut tre r alis Lorsque l on a d crit le crible sur le polyn me C on a mis en vidence l int r t de la congruence B AX mod g La congruence jouant le r le analogue lorsque D prend la place de C est B ARRETE mod g Concentrons nous sur le cas o g est un polyn me irr ductible En cela on exclut le cas o g est une puissance d un polyn me irr ductible On peut alors simplifier ainsi l criture pr c dente B A Xhk nf mod g La grandeur X qui intervient lors du crible sur C doit maintenant tre remplac e par la grandeur 4 Xhk nf mod g Cette grandeur est incontestablement plus complexe d autant plus qu elle d pend de g Toutefois il est parfaitement envisageable de pr calculer ces donn es si Pon crible sur un million de polyn mes irr ductibles c est une grandeur indicative le pr calcul de
202. f niveaux de r cursion ont t ainsi utilis s Le niveau inf rieur repr sentant tous les calculs de matrices 0 cf 8 5 pour b 120932 468 par la m thode quadratique Additionn s ces calcul en bas de l arbre de r cursion repr sentent un quart du temps de calcul final Les huit niveaux r cursifs au dessus se partagent presque parts gales le temps restant Pour tre exact le niveau r cursif le plus bas repr sente 11 du temps de calcul restant contre 14 pour le niveau r cursif au sommet de l arbre La consommation en m moire de lalgorithme r cursif s est av r e importante car les transform es de Fourier ont d tre stock es l avance l implantation exacte du program me 8 4 d truit la matrice e Cela n a toutefois pas pos de probl me car il a suffi d ajouter la machine la quantit ad quate de m moire virtuelle 20Go tout de m me g r e sans aucune difficult par le syst me sur une machine ayant 4Go de m moire physique r elle jamais l change de donn es avec le disque dur n a limit les performances du programme 1On aurait aussi pu tirer parti des fonctionnalit s multiprocesseur pour acc l rer le calcul mais cela n est pas apparu n cessaire 9 4 Obtention d un vecteur du noyau 163 9 4 Obtention d un vecteur du noyau La derni re tape BW3 est tr s semblable la premi re Elle a t d crite en 6 3 3 Pour cette tape on a utilis
203. faut retenir s levait 50 millions environ soit un nombre moyen de coefficients non nuls gal 67 7 Nous avons suivi les tapes du processus d limination struc tur e telles qu elles ont t d crites en 5 2 2 Le point d arr t de l limination structur e a t chois de fa on minimiser les formules d velopp es en 8 7 pour le co t de l algorithme de Wiedemann par blocs l issue de l limination structur e qui n a n cessit que quelques heures de calcul sur une machine de type alpha ev67 667MHz nous avons obtenu un syst me plus petit que le syst me d origine de taille 480 108 x 480 108 L limination structur e a bien fait son travail puisqu elle a permis cette r duction sans augmentation du nombre de coefficients ce nombre est rest 50 millions correspondant une densit moyenne des lignes de 104 8 coefficients 9 2 Calcul de la suite A X Il a fallu ensuite se lancer dans l algorithme de Wiedemann par blocs le premier choix faire tant bien entendu celui des param tres m et n Nous avons choisi m n 8 On peut remarquer que ce choix n est pas en accord avec les formules donn es en 8 7 pour les valeurs optimales Nous avons choisi n 8 car nous pensions avoir acc s 8 machines pour nos calculs Il ne s agissait l que d une estimation car les machines auxquelles nous avons eu acc s taient de nature tr s h t rog ne et leur accessibilit n tait pas une
204. fficients a peuvent tre ais ment calcul s par it ration des op rations v Bv ax x v Cette suite admet un polyn me minimal au sens de la d finition 6 6 que nous noterons Jr y Nous verrons au chapitre 8 que pour la suite des az coefficients dans un corps fini repr sent e par la s rie A X K X des algorithmes comme l algorithme de Berlekamp Massey permettent de calculer le g n rateur lin aire F minimal partir de 28 F termes de la suite et en temps O 6 F on a not F 6 F AF o 6 est conforme la d finition 6 4 En vertu de la proposition 6 7 ce g n rateur lin aire minimal est reli au polyn me Hgy si l on note F deg F le polyn me XF est gal ugry et divise donc py et u En particulier ona lt k 1et F w Si on a la chance d avoir XF ji alors on choisit un vecteur al atoire v Le vecteur F Bjv permet selon la proposition 6 8 de d river un vecteur non nul du noyau avec forte probabilit Le calcul de F B v s effectue encore une fois par r p tition du produit matrice vecteur on peut valuer l expression polynomiale avec un sch ma du type H rner 6 2 2 R cup ration des checs et implantation Nous disposons maintenant des outils essentiels pour d crire l implantation de l algorithme de Wiedemann Toutefois pour pr voir les cas o l on n obtient pas X tp u mais plut t une divisibilit stricte il faut s int resser la possib
205. formations appliquer notre liste est celle consistant employer Valgorithme d Euclide Plus exactement prenons m quelconque et utilisons l algorithme d Eu clide tendu on le d crira en d tail en 8 2 2 avec une version sous quadratique et un exemple de programme pour d composer PX sous la forme PX a dans F n P On fait plusieurs essais de d compositions de cette forme jusqu en trouver une qui nous satisfasse On cherche obtenir de cette fa on des polyn mes P et P friables b1 friables pour tre pr cis pour une certaine borne b1 Cette borne conditionne la hauteur de la liste qui r sulte Comment doit on choisir b Si l on pose b les probabilit s de friabilit sont telles qu il faut s attendre essayer 52 d compositions avant d en trouver une bonne Nous avons vu que la complexit asymptotique de la troisi me phase de l algorithme tait en Ln 4 clog 2 Nous allons donc voir comment choisir b pour que le temps pass dans cette premi re d composition repr sente une fraction non nulle du temps total de la troisi me phase Ainsi on mesure le niveau d exigence avoir sur la hauteur du r sultat de cette d composition Pour obtenir une complexit de la premi re d composition en Ln 3 clog 2 on prend pour b une fraction de la moyenne g om trique de b et n not e sous la forme Vnb En effet si l on reprend les notations de l analyse faite en 2
206. he tous ne sont pas des outils indiff remment interchangeables ayant uniquement vocation fournir en sortie le r sultat final Par exemple l limination structur e que nous exposons en 5 2 doit tre vue comme une tape pr alable de r duction de la matrice Apr s cette tape on doit utiliser un algorithme qui effectue la r solution proprement parler comme par exemple les autres algorithmes expos s ici Pour repr senter en m moire une matrice creuse de fa on conomique le choix universel lement fait est celui d une liste des coefficients non nuls Pour chacun des algorithmes que nous allons exposer on peut avoir recours des pr sentations l g rement diff rentes mais le principe est le m me Bien entendu lorsque l on consid re des matrices sur F2 il suffit de stocker en m moire les positions des coefficients non nuls puisqu il n est n cessaire de stocker aucune information concernant la valeur de ces coefficients 5 2 Pr conditionnement l limination structur e SGE Nous exposons d abord l algorithme d limination gaussienne structur e ou structured gaussian elimination SGE Cet algorithme est expos par exemple dans LO90 PS92 et tudi avec un peu plus de recul dans BC99 Son mode de fonctionnement n est autre que celui de l limination gaussienne classique mais avec le souci suppl mentaire de conserver le caract re creux de la matrice La description d un tel algorithme est d
207. ie la suite u une s rie formelle dans le X X module R amp x K X en associant chacun des un une puissance de X On note cette s rie U X Elle s crit U X So unX n20 Soient maintenant Ro et R1 deux K espaces vectoriels et une application bilin aire de Ro x R dans R1 On note cette application bilin aire comme le produit que l on ne suppose pas n cessairement commutatif On d finit la notion de suite lin airement engendr e sur Ro D finition 6 1 G n rateur lin aire Soit u RN On dit que u est lin airement engen dr e sur Ro par le polyn me P Ro 8g K X si et seulement si P est non nul et P X U X Ri x K X Dans un contexte non commutatif il convient de distinguer entre g n rateur lin aire a gauche comme nonc ci dessus et g n rateur lin aire droite Pour un g n rateur droite Vapplication produit va de R x Ro dans Ry D autres d finitions peuvent amener consid rer le polyn me r ciproque de P comme g n rateur Les diverses formulations sont quivalentes Celle employ e dans ce m moire est la plus pratique pour le d veloppement des chapitres concern s Cette d finition appelle la pr sentation de quelques exemples 103 104 Chapitre 6 M thodes utilisant des g n rateurs lin aires 6 1 2 Exemples Quand on est dans le cas simple o R Ro Ry K et que l on consid re la suite d finie par un a pour a K alors u est
208. ient grandes Par exemple dans le cas du second des graphiques de la figure 3 8 on ne peut esp rer raisonnablement capturer la moiti des paires friables cela imposerait une borne de friabilit au plus gale 100 ce qui correspond une tr s mauvaise qualit de s lection Une conclusion synth tique de la lecture de la figure 3 8 est que la qualit du crible n est globalement pas trop affect e si l on omet les facteurs de petit degr En revanche ne pas cribler pour les facteurs irr ductibles de degr important est un facteur tr s net de d gradation de la qualit du crible Lors du calcul de logarithmes discrets sur Fo6o7 dont les graphiques de la figure 3 8 sont extraits le crible a t effectu pour la plage de degr 10 23 correspondant la derni re des courbes repr sent es Il est net que parmi les situations repr sent es c est celle qui offre le meilleur compromis possible Obtention des valuations statistiques Les graphiques de la figure 3 8 ont t obtenus l aide de s ries g n ratrices Si l on note N4 le nombre de polyn mes irr ductibles de degr k sur F2 la s rie g n ratrice des polyn mes unitaires o le coefficient en z est le nombre de polyn mes sur F2 de degr n savoir 2 s crit des trois fa ons suivantes gn en De A2 n 0 k 1 Cette identit d coule des r sultats l mentaires de FS93 sur les s ries g n ratrices pour V num ration
209. ilit de r utiliser l information obtenue par le calcul de X LP Il se trouve que l algorithme s en accommode tr s bien 108 Chapitre 6 M thodes utilisant des g n rateurs lin aires Algorithme Plain Wiedemann Entr e Une matrice B KN singuli re Un couple v tel que X v et Xv u Sortie Un l ment de Ker B 4 x z vecteurs al atoires dans KN z v B z y Bz v y for k 0 k lt 2 N degv k alk x7v v Bv F g n rateur lin aire des a tel que X F F deg F v 0 for k 0 k lt deg F k On calcule v F B z v Bo veut if v 0 for k 0 k lt 4 k u Bo if u 0 return v v u return PlainWiedemann B lL vE Improbable Programme 6 1 Algorithme de Wiedemann En effet supposons qu l entr e de l algorithme on dispose outre la matrice B d une information partielle sur son polyn me minimal On pr sente cette information sous la forme d un couple v tel que X v et X v u Alors le vecteur y partir duquel est construite la suite des a n est pas construit au hasard on le choisit sous la forme B z o z v B u et u est un vecteur al atoire Il est alors clair que le polyn me minimal P X CF de la suite des ax est un diviseur peut tre strict du quotient ae Par cons quent on a VE pl et A L lt Kk 1 Puisque deg F lt N deg v le g n rateur lin aire F peut t
210. in sens puisque tous les calculs des autres utilisateurs passaient devant nos calculs de logarithmes discret Le seul point n gatif est que la raison d tre de la basse priorit que nous avons donn e nos programmes est qu il s agit de calculs de longue haleine Mais souvent les calculs devant lesquels nos programmes se sont poliment effac s taient aussi des calculs de longue haleine on parle ici de milliers d heures de calcul Cet aspect peut para tre d courageant Il n a h las Il s agit ici des machines leon du cluster MEDICIS 4 8 Technique et sociologie 83 pas t possible d une mani re g n rale d apprendre tous les gros utilisateurs de temps de calcul avoir la m me politesse que nous Mais de tr s loin la plus grosse difficult dans la gestion d un calcul distribu est la gestion des utilisateurs na fs pour ne pas dire plus Plus exactement le programme xload est un frein majeur au d ploiement d un calcul distribu Car utiliser un ordinateur aujourd hui ne consiste pas majoritairement ex cuter des programmes sur cet ordinateur Et lorsque le syst me de fen trage standard sur un site donn informe l utilisateur en temps r el de l volution de la charge du microprocesseur de la machine le passage du blanc au noir de l ic ne associ est une source d affolement C est ainsi que l on a pu subir les foudres d utilisateurs persuad s que la pr sence d
211. ion asymptotique en fonction de b en utilisant des techniques de s ries g n ratrices Une estimation correcte n cessite emploi de la m thode du point col FS94 Ce calcul n est pas effectu ici Comme nous le verrons en 3 3 ce test n est pas le moyen de s lection le plus employ puisque l on pr f re largement employer des techniques de crible N anmoins il conserve son int r t en bien des circonstances car on ne crible pas la fois pour le polyn me C et le polyn me D Effet de l emploi de large primes Lorsque l on souhaite employer des large primes suivant ce qui a t d crit pr c demment en 3 1 il est n cessaire d adapter le test de friabilit Cette adaptation peut se faire moindre co t et c est bienvenu car dans le cas contraire l emploi de large primes pr senterait un avantage amoindri les relations partielles ne seraient pas tout fait gratuites Si l on note S le polyn me introduit dans la proposition ci dessus savoir b s P I x x k on peut en fait pr ciser le r sultat de la proposition en disant que hormis dans les cas rares o P a un grand facteur r p t le degr de pgcd S P est exactement la contribution des petits facteurs la factorisation de P Il s ensuit que si deg P deg pgcd S P lt alors le cofacteur dans la factorisation de P est de degr au plus 3 3 Le principe du crible 53 3 3 Le principe du crible Le travail
212. ion de e 0 et AY produit une matrice T telle que en notant PO 70 D 1 f t pe 1 6 ptt 1 pot f f g g e Pa AGD AOPO RED pp Op o l on entend le produit A P au sens des lois d anneau max sur N U oo Ces grandeurs satisfont alors les conditions C1 et C2 l tape t 1 De plus on a gt ay D Ja m Ce th or me implique en particulier que le d terminant de la matrice h est constant et donc en particulier que cette matrice reste unimodulaire DEMONSTRATION On a d j d montr tout le cheminement inclus dans cet nonc Il convient de commenter bri vement la notation A P On munit l ensemble NU 00 des lois d an neau max Ainsi op rateur deg est un morphisme d anneaux de K X vers NU oo C est en ce sens que doit tre entendu le produit de matrices en question Il est facile de v rifier que cette expression de A est correcte L expression de h se d duit de celle de f et de e a 8 4 4 Terminaison D crire l algorithme de Coppersmith une fois que l on a obtenu le th or me 8 8 se fait sans difficult on it re l algorithme ComputePMatrix1 du programme 8 3 jusqu obtention d un g n rateur Il est ais de constater que l on peut se contenter pour les donn es de l algorithme de ne maintenir que les matrices e 0 et f ainsi bien s r que les coefficients On discute maintenant quel moment et
213. ion riches en petits facteurs nous acc l rons ainsi le processus de factorisation Exp rimentalement le nombre de pgcd effectu s en employant cette m thode de retrait des facteurs est tr s faible nettement inf rieur m7 Comparaison avec l algorithme de Berlekamp Par rapport l algorithme similaire de Berlekamp l algorithme de Niederreiter pr sente quelques avantages mentionn s dans Nie93a L algorithme ne n cessite pas que le polyn me P soit sans facteurs carr s Le co t de mise en place de la matrice M est tr s faible Si le polyn me P est creux la matrice M aussi Les deux premiers de ces avantages sont pertinents pour le cadre qui nous concerne Toutefois il existe un inconv nient tr s net l algorithme de Niederreiter les contorsions par lesquelles on doit passer pour s parer les facteurs Mais on vient de voir que cette tape peut tre dans notre cas grandement facilit e puisqu un test d irr ductibilit pour les polyn mes de petit degr peut tre effectu tr s facilement 3 7 3 La m thode SFF DDF EDF Lorsque l on parle de factorisation de polyn mes on ne peut viter de mentionner toute une famille de m thodes passant successivement par les trois tapes suivantes SFF Square free factorization Le polyn me est factoris en produit de puissances de po lyn mes sans facteurs carr s DDF Distinct degree factorization Chaque polyn me sans facteurs carr s est f
214. ions sont totalement diff rentes et cette diff rence peut induire un cart important En ce qui concerne les phases BW1 et BW3 on peut noter aussi que l influence de la m moire cache est tr s importante et nous ne disposons pas de caract ristiques de ce niveau de pr cision concernant le mat riel utilis dans Lob95 En dernier lieu il n est pas exclu qu une erreur se soit gliss e dans la mention de la densit y concernant les exp riences de Lob95 Chapitre 9 Alg bre lin aire extr me Nous d crivons dans ce chapitre les donn es de la r solution de syst me lin aire qui est intervenue dans notre calcul de logarithmes discrets dans Fo607 Ce syst me est de grande taille 1077513 quations 766 150 inconnues sur le corps de base Z 2607 1 7 Nous avons utilis pour le r soudre l algorithme de Wiedemann par blocs 9 1 limination structur e Le premier traitement que nous avons appliqu notre syst me lin aire est une premi re passe d limination structur e Comme cela a t d crit en 5 2 nous avons tir parti cet effet des lignes surnum raires dont nous disposions pour pouvoir jecter au fur et mesure de l algorithme les lignes devenant trop lourdes Comme l exc s de lignes sur le syst me initial s levait 40 notre marge de man uvre tait confortable Le nombre initial de coefficients non nuls parmi les 766 150 lignes les moins lourdes c est cette grandeur qu il
215. ir le m me cofacteur Q peuvent tre recombin es pour obtenir une vraie relation L aspect int ressant est que le nombre de recombinaisons possible cro t quadratiquement en le nombre de relations partielles disponibles C est un r sultat qui s ap parente au paradoxe des anniversaires que l on reprend ici Proposition 3 1 Si l on autorise des large primes appartenant un ensemble de cardinal m l esp rance du nombre de recombinaisons possibles partir de n relations partielles est si les diff rents large primes ont une probabilit d apparition uniforme Si leurs probabilit s d f respectives sont P1 Pm l esp rance vaut n 22 o S2 p2 D MONSTRATION On reprend la d monstration de Mor93 Cette d monstration emploie des techniques de s ries g n ratrices comme d crites dans FS93 FS02 ou encore FO90 Notons p1 Pm les probabilit s respectives d apparition des diff rents large primes pour fixer les id es on peut prendre les p gaux mais cela n est pas n cessaire La somme des p vaut 1 On crit la s rie g n ratrice exponentielle en z et u o l exposant de z est le nombre de relations partielles et exposant de u le nombre de large primes distincts apparaissant dans ces relations Dans ce contexte le coefficient du mon me en z u vaut fois la probabilit d avoir k large primes distincts a partir de n relations Cette s rie s crit m 2 52 3 3
216. ire trait dans la partie II de ce m moire On peut mentionner qu aucune des techniques d velopp es dans ce chapitre n a une in fluence fondamentale sur la complexit sous exponentielle de l algorithme En revanche cer taines peuvent avoir une influence sur la composante invisible cach e dans le o 1 de l expres sion de la complexit mais n anmoins polynomiale Souvent ce sont aussi des consid rations pratiques qui apportent des arguments en faveur d une technique 3 1 L emploi de large primes 3 1 1 Single large prime variation Une des premi res am liorations apport es aux algorithmes d index calculus et aux tech niques de combinaisons de relations en g n ral consiste employer des large primes L id e sous jacente est relativement ancienne et remonte aux premiers temps de la factorisation des entiers par l algorithme CFRAC MB75 Elle a t r utilis e avec succ s dans le crible quadra tique et le crible alg brique MB75 Pom82 LM91 DDLM94 LM94 BR96 DL95 De m me cette m thode se transporte sans difficult au cadre des algorithmes de calcul de logarithme discret comme l algorithme de Coppersmith On peut comparer cette m thode l emploi du crible par r seau qui est d crit en 3 6 Par large prime on d signe un cofacteur apparaissant dans une relation presque friable Supposons par exemple que dans l algorithme de Coppersmith les factorisations des polyn mes C et D s cri
217. iscrets dans F607 4 1 Travaux ant rieurs Le travail faisant tat de r f rence en la mati re lorsque l on a commenc travailler sur Focor tait celui men par Gordon et McCurley GM93 il y a dix ans En utilisant l algorithme de Coppersmith ils sont parvenus calculer des logarithmes discrets dans Fo401 et ont construit le syst me lin aire correspondant un calcul dans F503 sans toutefois pouvoir le r soudre la toute fin du calcul sur F607 Joux et Lercier ont annonc avoir calcul des logarithmes discrets dans F s21 JLO1 en utilisant la m thode du Function field sieve FFS que nous avons d crite en 2 5 Cette approche est prometteuse et nous revenons sur les perspectives qu elle ouvre en 4 7 4 2 Param tres La premi re des d cisions prendre pour le d ploiement d un calcul d une telle envergure est le choix des param tres Nous avons d taill la logique qui dirigeait ces choix en 2 4 3 page 34 En tout premier lieu on doit choisir le polyn me de d finition sous la forme X 607 fi Page 35 nous avons expliqu comment le choix de f influait sur la performance de l algorithme Apr s examen des diff rentes valeurs possibles pour f on a choisi de prendre fi X EX X X X 1 X 1 X X 1 X X 1 Ce choix s explique par le fait que ce polyn me pr sente le double avantage d tre le candidat de plus petit degr et de r pondre particuli rement bien a
218. iste index e par h L le triplet L L R la consommation m moire est de 14 octets par sommet au minimum Pour conomiser de la place m moire on a fait le choix de prendre pour h un chantillonage fixe des bits de L Pour cela il faut s assurer que les bits choisis pr sentent une distribution suffisamment al atoire Pour des large primes de degr allant de 24 36 on a pris une partie des bits d indice 1 23 le bit d indice 0 valant toujours 1 puisque l on traite des polyn mes irr ductibles Nous n avons pas constat de cons quence n gative de ce choix sur l uniformit du remplissage de la table de hachage Ce faisant il est possible de stocker dans la liste index e par h L seulement les bits de L non d termin s Nous avons ainsi conomis trois octets par entr e En outre stocker l indice L en entier n est pas n cessaire Il suffit de stocker h L et Vindice de l entr e concernant L dans la liste index e par h L On conomise encore ainsi deux octets par entr e pour arriver une occupation m moire par entr e de neuf octets 3 1 4 Mesures statistiques Le graphe constitu lors du calcul de logarithmes discrets sur Focor est de proportions largement respectables puisqu il taquine les cent millions de sommets Nous avons collect de nombreuses donn es exp rimentales sur ce graphe Les tables 3 2 3 3 3 5 consignent les valeurs finales de ces diff rentes quantit s L volutio
219. ithme de Wiedemann en un proc d it ratif Expliciter la bijection serait relativement complexe et nous ne le faisons pas ici En particulier on retrouverait la propri t de lookahead obligeant conserver la m moire d un nombre accru de vecteurs pour pallier aux ventuelles annulations prenant la forme d cart des degr s des candidats g n rateurs dans l algorithme de Berlekamp Massey Une telle bijection peut aussi tre construite pour les versions par blocs des algorithmes de Lanczos et Wiedemann mais l encore expliciter une telle correspondance est un travail d criture peu ais Chapitre 6 M thodes utilisant des g n rateurs lin aires 6 1 G n rateurs lin aires Les algorithmes d crits dans ce chapitre font appel diverses notions de suites lin airement engendr es Nous non ons ici une d finition tr s g n rale de ce que l on entendra par suite lin airement engendr e et par g n rateur lin aire Cette d finition se sp cialise dans la plupart des cas en la d finition intuitive de ces concepts un renversement pr s des coefficients du g n rateur Plus exactement nous proposons ici une distinction entre g n rateur lin aire et polyn me minimal lorsque ce dernier est d fini 6 1 1 Formalisme Soit K un corps et R un K espace vectoriel On va consid rer le K espace vectoriel des suites coefficients dans R not RN Une suite dans RN est not e u un nen On assoc
220. ithms Dans E F BRICKELL diteur Advances in Cryptology CRYPTO 92 Lecture Notes in Comput Sci volume 740 pages 312 323 Springer Verlag 1993 Proc 12th Annual International Cryptology Conference Santa Barbara CA USA August 16 20 1992 T GRANLUND GMP the GNU multiple precision arithmetic library 1996 Homepage at http www swox com gmp F G GUSTAVSON et D Y Y YUN Fast algorithms for rational Hermite approximation and solution of Toeplitz systems IEEE Trans Circuits Systems CAS 26 9 750 755 Sept 1979 R GOTTFERT An acceleration of the Niederreiter factorization algorithm in characte ristic 2 Math Comp 62 206 831 839 Apr 1994 G HANROT M QUERCIA et P ZIMMERMAN The middle product algorithm I Spee ding up the division and square root of power series A paraitre 2003 R HARLEY The ECDL project http pauillac inria fr harley ecdl_top A Joux et R LERCIER Discrete logarithms in GF 2 521 bits E mail sur la liste NMBRTHRY Disponible l adresse http listserv nodak edu archives nmbrthry html Sept 2001 A Joux et R LERCIER The function field sieve is quite special Dans C FIEKER et D R KOHEL diteurs ANTS V Lecture Notes in Comput Sci volume 2369 pages 431 445 Springer Verlag 2002 5th Algorithmic Number Theory Symposium Sydney Australia July 2002 E KALTOFEN Analysis of Coppersmith s block Wiedemann algorithm for the parallel solution of sparse
221. l tape t t 1 de telle sorte que la moyenne des coefficients avance de strictement moins que 1 on va voir que l incr ment est man Les quantit s que nous traitons au cours de l algorithme voluent d tape en tape Aussi pour distinguer la valeur de fj entre les diff rentes tapes on utilise la notation f CE et plus g n ralement l exposant pour distinguer les valeurs associ es l tape t de l algorithme On omettra souvent cette pr cision lorsque le contexte le permet 142 Chapitre 8 Berlekamp Massey matriciel 8 4 2 Initialisation Pour commencer on d taille la fa on dont on initialise le processus Cette initialisation doit tre effectu e avec soin car elle conditionne la correction de l algorithme L initialisation que nous proposons est une g n ralisation de celle propos e en 8 2 1 La donn e de d part est l entier s d fini tel que les colonnes des s matrices X A jusqu X571 A engendrent l espace K De ces colonnes on peut extraire une base de K 1 On le fait en choisissant m vecteurs r1 7m appartenant la base canonique de K ainsi que m entiers 71 im appartenant 0 s 1 tels que les vecteurs vk X A rx pour k 1 m constituent une base un couple ik rg identifie ainsi dans quel coefficient et dans quelle colonne on choisit un vecteur L indice de d part est s comme c tait d j le cas pour Berlekamp Massey scalaire
222. l Cela nous permet d noncer le r sultat suivant Proposition 6 5 Soit A K X Soit I fo Vid al des g n rateurs lin aires de A Tout g n rateur lin aire f de A s crit sous la forme f kfo avec k E K X et v rifie donc Jo f fo lt S O f f deg f fo deg fo Dans le cas g n ral l ensemble des g n rateurs forme un sous K X module de Ro K K X Ce dernier est un module sur un anneau principal donc ses sous modules ont une base N anmoins il n y a pas de raison de privil gier un des l ments de cette base par rapport aux autres On ne peut donc pas n cessairement dans ce cas parler du g n rateur Toutefois dans le troisi me exemple mentionn plus haut une telle formulation est justifi e En effet pour Ro K chaque colonne d un g n rateur lin aire peut servir de g n rateur lin aire sur K On peut donc dire qu un g n rateur lin aire sur K est minimal si et seulement si ses colonnes engendrent l ensemble des g n rateurs lin aires sur K Un tel g n rateur lin aire matriciel minimal est unique l action pr s de GL K X gauche Il est m me possible de construire une forme normale relativement cette action 6 1 5 Descriptions en fractions rationnelles Dans la suite de ce qui a t expos pr c demment si Ro est une K alg bre il se peut que le g n rateur lin aire P X soit inversible dans Ro x K X il suffit pou
223. la multiplication de deux polyn mes de degr n On obtient imm diatement C n O M n log n Si Pon prend pour M n la complexit obtenue par l usage de la FFT on a le r sultat asymptotique C n O nlog n Notons l importance prise dans cette analyse par l usage d un algorithme rapide de multipli cation comme la FFT Il est essentiel pour la qualit du r sultat et ce n est pas un hasard Le travail que l on a fourni a consist explicitement tailler le probl me de telle sorte que l on puisse utiliser des algorithmes de multiplication rapide sur des gros polyn mes plut t que de faire beaucoup de multiplications tr s d s quilibr es comme c est le cas dans la pr sentation l mentaire de l algorithme 8 3 Cas matriciel hypoth ses de g n ricit Nous nous concentrons maintenant plus explicitement sur le cas du calcul de g n rateurs lin aires matriciels Notre approche consiste pr senter la g n ralisation de l algorithme de Berlekamp Massey mise au point par Coppersmith et lui apporter une acc l ration sous quadratique comme on a vu que cela pouvait se faire pour l algorithme d Euclide Un sous produit du r sultat est une am lioration sous quadratique de l algorithme de Berlekamp Massey scalaire sans passer par l algorithme d Euclide Nous allons nous int resser au calcul de g n rateurs lin aires au sens de la d finition 6 1 et de l exemple en page 104
224. lculus est pertinente mais ou le calcul n est pas compl tement hors de port e 4 est la valeur optimale Pour le calcul effectu dans Fo6o7 qui constitue le record du monde actuel quelques mesures ont t effectu es avec k 8 mais le r sultat n tait pas satisfaisant Le choix du polyn me de d finition Un dernier param tre se cache dans le choix du polyn me f L algorithme a une sensibilit vidente vis vis de deg f1 puisque le degr de D vaut kda hk n deg fi conomiser un coefficient sur le polyn me D n est pas n gligeable donc l int r t d avoir deg f petit est r el Cela laisse peu de choix possible N anmoins si l on se restreint une poign e de petits polyn mes f possibles quelle heuristique doit on employer pour choisir f Dans GM93 il est d montr que la pr sence de facteurs r p t s de petit degr dans la factorisation de f a une influence importante Nous reprenons ici la d monstration de ce r sultat en l affinant Cette discussion est en partie reprise de GM93 Le polyn me D s crit D X AXP XR f X BY Pour simplifier l criture des formules nous allons temporairement noter R X f et U X eee Nous nous int ressons a la pr sence ventuellement multiple d un facteur irr ductible w dans D Notons tout d abord que si la fraction rationnelle U X a un p le en une racine de w alors w A donc w B donc w f D On peut donc cart
225. le par ligne Ainsi la ligne k est non nulle si et seulement si la k eme colonne de V est choisie dans W Ce choix de la matrice S garantit l identit STS Ip La matrice S ST par ailleurs est une matrice diagonale avec exactement n entr es non nulles gales 1 Le point de d part de l algorithme est une matrice arbitraire Vo L entier no est le rang de la matrice ve AVo voir lemme ci dessous et la matrice So est choisie de fa on s lectionner des indices correspondant des colonnes lin airement ind pendantes de Vo Ce proc d plus g n ralement sera employ chaque tape de l algorithme pour choisir W en fonction de Vi Il est justifi par le lemme suivant Lemme 5 1 Soit Q une matrice sym trique n x n de rang r Soient k1 k les indices de r colonnes lin airement ind pendantes de la matrice Q Alors le mineur correspondant ces indices est non nul D MONSTRATION Dans cet nonc le mineur que l on consid re est une des entr es de la diagonale de la puissance ext rieure r me AQ de Q la matrice AQ est carr e de taille HAA C est le d terminant d une matrice de la forme S7QS o S est une matrice de taille n x n semblables aux matrices S que l on a introduites d o le lien de ce lemme avec notre probl me les lignes non nulles de S tant les lignes d indice k1 k 98 Chapitre 5 Pr sentation du probl me On peut supposer sans perte de g n ralit que
226. les temps aux temps cumul s n cessaires pour traiter une taille m moire fictive de 128Mo Pour les cas o y 4 0 on a pris en compte le temps n cessaire pour relire les donn es pr calcul es 3 6 Le crible par r seau Une autre technique de recherche de relations consiste forcer un facteur irr ductible Q dans la factorisation de C par exemple on peut aussi prendre D et cribler sur l espace des polyn mes A B tels que ce facteur est pr sent Pour que cette m thode pr sente un int r t il convient de prendre Q en dehors de la base de facteurs On peut par exemple prendre un polyn me irr ductible de degr b 1 quelconque Avant d aborder les points techniques li s cette m thode mentionnons ses avantages les plus apparents Tout d abord le fait de forcer un facteur dans la factorisation d un des polyn mes a un effet imm diat c est seulement la friabilit du cofacteur restant que l on s attache Celui ci est de degr moindre sa probabilit d tre friable est donc plus importante Par ailleurs un second point int ressant de cette m thode r side dans le fait que deux choix distincts pour Q am nent deux ensembles de relations totalement disjoints et o les probabilit s de friabilit sont les m mes Il en r sulte puisque l on a a priori une tr s grande libert pour choisir le polyn me Q que l emploi de cette m thode am ne des probabilit s de friabilit beaucoup plus sta
227. lin airement engendr e par P 1 aX puisque P X U X 1 P tant d ailleurs inversible dans X X on peut crire U X POX Dans le cas un peu similaire o R est une alg bre de type fini non n cessairement commutative sur K une alg bre de matrices par exemple ou bien simplement une extension de corps mais Ro K et R1 R le r sultat se g n ralise ainsi Proposition 6 2 Soit R une K alg bre de type fini Soit a R et u le polyn me minimal de a sur K Soit u la suite des puissances de a Un a La suite u est lin airement engendr e par les polyn mes P qui sont multiples du polyn me r ciproque ji de n DEMONSTRATION Pour v rifier cette assertion il suffit d crire le candidat g n rateur sous la forme P X oe pe Le coefficient de degr n du produit P X U X s crit pour n gt deg P n X PXU X J pmi i n deg P andes PP a Cette expression s annule partir du rang n si et seulement si X des P P X est multiple de u ce qui quivaut P multiple de ji et n gt deg y a Un dernier exemple est celui o R est un espace de matrices rectangulaires R K On va noncer l existence d un g n rateur lin aire droite puisque c est cette formu lation qui sera retenue ensuite Soit donc Ro K R1 R le produit tant bien entendu le produit de matrices Une suite de matrices a RN est lin airement engendr e par f X Ro 8x K X
228. lle 248 1 On consid re un tableau S de 272 entiers correspondant ces polyn mes on se permet de noter S B l entr e correspondant B Les entr es de ce tableau sont initialement mises z ro et pour chaque polyn me irr ductible g de degr lt b on augmente S B de la quantit deg g pour les polyn mes B qui satisfont la congruence ci dessus Ainsi une fois que ce travail a t effectu pour tous les polyn mes de degr lt b et leurs puissances la valeur de S B correspond la contribution des facteurs de degr lt b dans la factorisation de C AX B Si cette contribution atteint deg C h deg alors le polyn me C est b friable Si cette contribution atteint seulement A deg A o est la borne maximale autoris e pour les large primes cf 3 1 alors C est presque friable Effectuer ce travail de crible efficacement n cessite de pouvoir identifier facilement toutes les solutions de la congruence B AX mod g En outre il est important de pouvoir it rer facilement l op ration S B deg g sur ces solutions Comme les solutions diff rent entre elles d un multiple de g il faut pouvoir parcourir l ensemble des multiples de g rapidement Les solutions la congruence qui nous int resse forment un sous espace affine de l espace des polyn mes de degr lt dg que l on voit comme un espace vectoriel de dimension dg 1 sur F2 L espace affine en question est Bo g Xg X
229. lles dont nous disposions afin de d terminer autant de logarithmes que possibles parmi les polyn mes de degr 24 et 25 On a pu en d terminer 80 Pour d montrer que nous pouvions calculer avec les informations dont on disposait n im porte quel logarithme dans F407 on a illustr la m thode sur un l ment al atoire de F607 On a choisi de prendre l l ment repr sent par le polyn me P repr sent en binaire par les octets suivants le tout premier bit correspondant au terme constant 0000000 54 65 73 20 79 65 75 78 20 73 6f 6e 74 20 73 69 0000010 20 70 72 6f 66 6f 6e 64 73 20 71 75 27 65 6e 20 0000020 6d 27 79 20 70 65 6e 63 68 61 6e 74 20 70 6f 75 0000030 72 20 62 6f 69 72 65 Oa 4a 27 61 69 20 76 75 20 0000040 74 6f 75 73 20 6c 65 73 20 73 6f 6c 65 69 6c 73 0000050 20 79 20 76 65 6e 69 72 20 73 65 20 6d 69 72 65 0000060 72 Oa Ces octets correspondent au deux premiers vers du po me de L Aragon Les yeux d Elsa Tes yeux sont si profonds qu en m y penchant pour boire J ai vu tous les soleils y venir se mirer En utilisant les techniques que l on a d crites en 3 8 on a pu crire le logarithme de P comme combinaison lin aire de 1010 l ments dont le logarithme tait connu des l ments de la base de facteurs ainsi que des l ments de degr 24 et 25 dont on avait pu d terminer le logarithme Ce calcul a pris quelques heures sur une machine de type alpha ev67 cadenc e 667MHz Il nous
230. mbre d uti lisations de la bo te noire au cours de l algorithme et le calcul du produit matrice X bloc de vecteurs doit s effectuer de mani re efficace Id alement on voudrait que ce produit s ef fectue en le m me temps qu un simple produit matrice x vecteur C est le cas dans les deux configurations suivantes Si le corps de base est F2 pour effectuer le produit w d une matrice creuse B par un vecteur v il est difficile de s carter du sch ma suivant w Pour chaque coefficient non nul B de B wi wi vj o d signe l addition modulo 2 le ou exclusif Le caract re in vitable de ce sch ma tient au fait que la matrice est creuse Sur une machine ayant des mots machines de 32 bits on peut en le m me temps effectuer le produit de B par un bloc v de 32 vecteurs Si chaque v est un entier de 32 bits et qu il en est de m me pour chaque w la m me criture de la m thode produit le r sultat voulu en interpr tant 6 comme l op ration logique ou exclusif de deux mots machines Si le corps de base est F un proc d identique ce que l on vient de d crire peut difficilement tre mis en uvre moins de disposer d une architecture sp cifique En revanche le produit matrice x bloc de vecteurs peut tre facilement r parti sur plusieurs processeurs ou plusieurs machines Si le vecteur v est constitu des colonnes v1 Un on rompt avec les notations prise
231. mparaison cette r partition de densit est la m me que pour l algorithme du crible quadratique le crible quadratique n est pas d crit dans ces pages mais le lecteur pourra consulter CP01 si z est un nombre premier alors la colonne d indice R s indique la pr sence du facteur x dans la factorisation d un certain entier La probabilit correspondante est donc 1 un facteur multiplicatif pr s cette densit est identique celle que l on a identifi e Calcul des logarithmes individuels Si la seconde phase de l algorithme ne pr sente pas de particularit majeure dans lal gorithme de Coppersmith par rapport ce qui a d j t expos ce n est pas le cas de la troisi me et derni re phase Il convient de d tailler comment un gain substantiel de com plexit peut aussi tre obtenu pour le calcul de logarithmes individuels En effet il n est pas du tout vident que la m thode d obtention des relations que nous venons de d crire puisse se transporter dans cette troisi me phase C est pourtant le cas La description suivante est reprise de Cop84 BMV85 Une premi re tape est l obtention des logarithmes de polyn mes de taille moyenne On parvient effectuer ce calcul par un m canisme de descentes successives Supposons que nous souhaitions obtenir le logarithme du polyn me Q de degr q Pour ce faire notre but premier est d obtenir une expression de log Q comme combinaison lin aire de log
232. n a jamais d pass 200 dans les calculs men s et les facteurs que l on veut mettre en vidence dans leur factorisation sont petits quelques dizaines au plus dans le cas o des large primes sont autoris s Afin de minimiser le travail il est pr f rable dans cette tape de factorisation de com mencer par les calculs qui ont le plus de chances de ne pas aboutir afin de n effectuer que le minimum de travail inutile En particulier comme le polyn me D n a pas t s lectionn pour tre friable on peut s attendre ce qu une partie tr s importante des paires traiter soit rejet e au motif que D n est pas friable Par cons quent la premi re des choses faire est un test de friabilit pour D Ce test tel qu on l a d crit en 3 2 est beaucoup plus rapide qu une factorisation compl te du polyn me il n y a notamment pas de pgcd calculer Une fois ce test r ussi on peut lancer une batterie d algorithmes de factorisation Il est important de noter ici la chose suivante Compar l ensemble colossal de paires trait es par un crible y compris m me pour une tranche de crible seul un petit nombre a priori passe le crible avec succ s Parmi celles ci les paires ayant un polyn me D friable sont encore moins nombreuses de telle sorte que ce n est que tr s rarement que l on a recours la factorisation totale Il s ensuit que la vitesse de l algorithme de factorisation employ n
233. n nous devons quilibrer les deux premi res phases On a ainsi la relation g2d 1 log b Pi d b Nous exprimons maintenant le fait que les 274 paires produisent pr cis ment ee relations 2b 1 _ 241 p deg C b p deg D b 2b 1 2 41 o d h b p Kkd b 22 p d h 0 p kd b 7 d h d h kd kd blog2 5 log 5 gt log Le membre de gauche contr lant la valeur de b on souhaite minimiser le membre de droite Etant donn que h on a int r t prendre k V3 Les polyn mes C et D ont alors un degr proche de vnd En fait cette assertion est fausse voire grossi rement fausse On montre en page 35 de quelle fa on D d vie nettement du comportement d un polyn me al atoire et il est manifeste que C et D ne sont pas ind pendants 32 Chapitre 2 Logarithme discret et cryptanalyse n n blog2 247 tog E Nous voyons d ores et d j que notre hypoth se sur l quilibrage des deux phases est justifi e pour une valeur de b plus faible la complexit de la premi re phase est accrue En posant b cn logn on arrive aux conditions de minimalit suivantes l a 1 a 2 a 3 B _ 2 B 1 8 clog2 ra c a2 x 0 97 Cette expression nous donne la valeur asymptotique de la borne de friabilit b 2 2 3 On d duit de cette valeur les complexit s des phases 1 et 2 de l algorithme 2 3 w 2 log w exp 2 log 2 sas noe 1 32 log
234. n aire sym trique d finie par A Toutefois plut t qu une base orthogonale pour cette forme on construit maintenant une suite de sous espaces vectoriels W de dimensions respectives n avec n lt n Chacun de ces sous espaces est repr sent par une base constitu e des colonnes d une matrice W de taille N x n Pour rendre la pr sentation aussi compr hen sible que possible on commence par exposer quelques principes g n raux de fonctionnement de l algorithme avant de d crire exactement les quations qui le r gissent Les matrices W sont construites par extraction partir de matrices V Les matrices V jouent le r le des vecteurs w dans l algorithme de Lanczos simple On construit les matrices W et donc les sous espaces W de telle sorte que les conditions suivantes soient v rifi es i La forme bilin aire repr sent e par A est non d g n r e sur W c est dire W AW GL K ii Les Wj sont mutuellement A orthogonaux vij ix j gt W AW 0 iii Les W ressemblent une d composition d un sous espace de Krylov puisque l on requiert la propri t AMC Wj j lt i 2 Nous exprimons le fait que la matrice W est extraite de la matrice V par l existence d une matrice S K telle que W V S La matrice S est une simple matrice d extraction de colonnes elle a exactement une entr e non nulle gale 1 dans chaque colonne et pas plus d une entr e non nul
235. n acc s sp cifique ces trois fonctions distinctes Il se peut toutefois que ce soit le cas de la librairie GMP moyen terme P Zimmermann communication priv e janvier 2003 154 Chapitre 8 Berlekamp Massey matriciel Matrice Taille degr e m x m n b TL m n x m n o ta m n x m n 8 ETL m x m n b 48 et 0 mod Xl nLir m n x m n ob Table 8 5 Donn es du calcul r cursif des matrices 7 Donn es Op ration Ordre Complexit ere DFT log 1 b s n n 1 6 blog 1 b mz DET log 1 4 6 5 m n 1 6 blog 1 6 b ER eR IDFT log 1 b Sm m n 1 6 blog 1 b TR TR DFT log 2 b m n 2 b log 26b ii 1 IDFT log 2 b m n 2 b log 26b Table 8 6 Ordres maximaux des DFTs pour le calcul r cursif des matrices 7 On commence par le cas le plus simple celui du produit TLTR Etant donn le degr du produit on a besoin d une FFT d ordre d ou 2 gt b donc d gt log b Pour calculer la matrice er erz div X La il faut une FFT d ordre d o 2 est strictement sup rieur au nombre de coefficients inconnus du produit Cela impose 2 gt b os 2 b d gt log a 05 Pour obtenir des bornes sup rieures sur les ordres des DFTs on est oblig de multiplier par deux les bornes inf rieures qui viennent d tre choisies On peut r sumer les ordres n ces saires p
236. n chronologique de certaines d entre elles est d taill e dans des graphiques 3 4 et 3 6 Les donn es g n rales du graphe sont consign es dans la table 3 2 On y lit que le nombre de relations pf et fp s l ve 10 du total ce qui contribue bien s r grandement l attrait du sommet sp cial 1 dans le graphe pour aider la production de cycles Dans la table 3 2 la 3 1 L emploi de large primes 49 Taille Nombre 2 sommets 154 507 3 sommets 147122 4 sommets 129 428 5 sommets 107122 6 sommets 85 558 7 sommets 65 687 8 sommets 48 810 9 sommets 35 956 10 sommets ou plus 81954 Table 3 3 R partition de la taille des cycles mention du nombre de relations ff a une valeur essentiellement indicative puisqu une relation ff n intervient bien s r jamais dans le graphe il s agit ici des relations ff hors recombinaisons des cycles Les cycles produits au cours de l exp rience sont all s bien au del du simple cas des cycles de taille 2 qui correspond au cas des simples large primes On voit dans la table 3 3 que ceux ci repr sentent moins de 20 du nombre total de cycles Le b n fice de emploi des doubles large primes est donc tr s net La figure 3 4 repr sente l volution du nombre de cycles au fur et mesure du remplissage du graphe en fonction du nombre de relations partielles Il y appara t tr s clairement que l apport des cycles de taille 2 est bien en de
237. n du th or me chinois permet de recomposer la valeur de log x mod n Une grossi re majoration de cette tape de th or me chinois est la cause de l apparition du terme log n Montrons maintenant que DL G O k DL G O log n Nous nous int ressons donc au calcul de logarithmes discrets dans G Sans restriction de g n ralit on peut supposer pour se ramener cette situation que n p et G Z pZ En employant l application d finie par G p t i k 1 _ on peut calculer ais ment log x mod p Il s ensuit que xg est d ordre divisant p n Soit H le groupe de cardinal n constitu des tels l ments engendr par h g Ona z log plogp D En d autres termes on a montr DL G O DL G DL H O logn qui n cessite O log p La quantit dans la formule pr c dente correspond au calcul de xg multiplications dans G On conclut par une r currence sur k Le r sultat que l on cherche montrer est vrai pour k 1 puisque dans ce cas G G et se d duit donc de la formule qui pr c de les termes s additionnant pour donner effectivement au final un nombre d op rations dans G born par gt _ k logp logn E 2 2 Les algorithmes exponentiels 19 Algorithme Pohlig Hellman Entr e x l ment du groupe engendr par g Sortie Le logarithme de x en base g function PohligHellman
238. nc s pouvaient tre stopp s tout moment et m ritaient une certaine surveillance En cela on a constat que la distribution de taches lourdes comme celles ci tait plus dure mener que la distribution de t ches l g res comme les programmes de recherche de relations pour le calcul de logarithmes discrets voqu s au chapitre 4 164 Chapitre 9 Alg bre lin aire extr me Enfin le faible co t en communications impliqu par l emploi de l algorithme de Wiede mann par blocs s est montr indispensable En effet m me maigres les communications ont repr sent un point d achoppement le calcul d alg bre lin aire a t men sur diff rents sites sans connexion r seau privil gi e Nous avons donc d faire transiter des fichiers par le r seau provoquant une charge importante sur cette infrastructure C est ainsi que l on a satur la liaison ext rieure de l cole polytechnique Une quantit de communication plus grande aurait coup sur rendu les probl mes de ce type encore plus aigus 9 5 2 Mode d emploi ou de non emploi d un centre de calcul Au cours des calculs que nous avons men s plusieurs types de ressources informatiques ont t mises contribution Le cas dont la gestion est de loin la plus simple est celui des machines du laboratoire LIX une machine alpha DS20E ev67 667MHz et une grappe de calcul de 13 PCs Pentium II 450MHz En effet avoir le contr le total de c
239. nctions Ln a c O exp e 1 o 1 n log n Le crible alg brique fait partie de cette classe d algorithmes Pour factoriser un entier N sa complexit est de l ordre de Liog N 2 c Le caract re pratique des algorithmes sous exponen tiels d une mani re g n rale demande a tre d montr par l exp rience car la complexit sous exponentielle est d une part heuristique dans l immense majorit des cas et d autre part peu regardante de facteurs n gligeables au vu du comportement asymptotique glo bal mais qui peuvent compliquer notablement l utilisation des algorithmes concern s Pour le cas de la factorisation d entiers un effort important a t entrepris pour valuer quelle tait la taille maximale des entiers qui pouvaient tre factoris s l aide d une puissance de calcul donn e C est ainsi qu un nombre de 512 bits soit 155 chiffres d cimaux a t factoris en ao t 1999 une telle taille de clef est encore utilis e aujourd hui dans un grand nombre d applications cryptographiques Le calcul de logarithmes discrets est c t de la factorisation d entiers l autre grand probl me difficile omnipr sent en cryptologie La force de ce probl me est qu il peut tre nonc dans tout groupe poss dant quelques propri t s facilement nonc es on requiert en particulier de pouvoir calculer efficacement dans ce groupe Il existe donc une myriade d instanc
240. nsid rant l ensemble des actions possibles au cours de ces tapes liminations pures et simples de lignes ou liminations par pivot on constitue une liste o on associe un gain heuristique chaque op ration Une des composantes de gain heuristique est l influence de l action programm e sur le co t de l algorithme utilis apr s la SGE Mais par ailleurs nous avons aussi incorpor une heuristique pour favoriser les catastrophes au sens de PS92 Ainsi l action consistant retirer une ligne de la matrice a t consid r e comme provoquant d une part le retrait du poids de ses coefficients au poids total de la matrice rien d tonnant et d autre part l abaissement du nombre de colonnes pour chacun des coefficients de la ligne intersectant une colonne de poids 3 Cette liste d actions et de leurs gains respectifs une fois constitu e on ne s int resse qu aux actions avantageuses on trie la liste et on effectue les actions les meilleures concurrence d une part d un total de 1000 actions distinctes et d autre part du retrait d un nombre donn de lignes Ce nombre a t fix 33 de la diff rence entre le nombre de lignes et de colonnes lorsque le quotient de ces deux derniers d passe 1 5 et 5 sinon On n a toutefois jamais contraint ainsi le nombre de retraits de lignes tre inf rieur 100 pour ne pas ralentir artificiellement la convergence de l algorithme On n a bien
241. nte arbitrairement les ar tes lorsqu elles sont ins r es dans le graphe de telle sorte que chaque sommet a au plus un parent et exactement un anc tre ventuellement lui m me se caract risant par la propri t de ne pas avoir de parent Les diff rents sommets d une m me composante connexe du graphe ont ainsi le m me anc tre Lors de l insertion d une ar te Q 1 Q2 quatre cas peuvent se pr senter Q et Q2 sont des sommets de degr 0 dans le graphe aucune relation ne les fait intervenir Dans ce cas on choisit arbitrairement Q ou Q2 comme tant le parent de l autre Ainsi on ajoute au graphe deux sommets une ar te une composante connexe dont Q est l anc tre par exemple et pas de cycle Exactement l un des sommets Q2 par exemple est de degr 0 On lui attribue l autre Q1 comme parent Ce faisant on ajoute au graphe un sommet et une ar te Q et Q2 sont des sommets de degr non nul mais leurs anc tres sont distincts Ils appartiennent donc deux composantes connexes distinctes que l on va relier Si la composante connexe comprenant Q est la plus lourde des deux en terme de nombre de sommets alors Q devient le nouveau parent de Q2 Cela implique de renverser le sens des ar tes menant de Q2 son anc tre Ainsi l ancien parent Q2 a d sormais Q comme parent et caetera La figure 3 1 illustre cette situation Dans le cas sym trique o c est la composante connexe c
242. nul rappelons que R X f Il s ensuit que le polyn me D ne peut pas admettre un facteur r p t de degr gt ds Cela a tendance emp cher D d tre friable S il se trouve que R admet une racine k me modulo w en supposant donc que w est de petit degr en vertu de ce qui pr c de alors de fa on automatique on a w D d s que w D Cette derni re remarque se synth tise donc en la proposition qui suit Proposition Heuristique 2 7 La probabilit de friabilit de D est augment e si le po lyn me R X f admet souvent une racine k me modulo une puissance d un facteur irr ductible Il est important de remarquer que le crit re mentionn ici est plus fin que celui cit dans GM93 qui mentionne seulement w f1 Ces deux crit res sont bien s r proches mais pas quivalents Il est ais d valuer dans quelle mesure un polyn me f r pond ce crit re ou non On peut donner la liste des couples w e de petits polyn mes w tels que R admet une racine k me modulo w avec e gt 1 Plus cette liste est grande meilleur est le polyn me f D duire exactement le gain que repr sente le choix d un polyn me f particulier sur la probabilit de friabilit du polyn me D n est toutefois pas imm diat car nous nous sommes concentr s ici sur la probabilit de divisibilit par un facteur w pr cis Ces probabilit s pour l ensemble des facteurs w n tant pas du tout ind
243. od p 7 2 2 Synchronisation des processeurs L implantation de ce calcul multiprocesseurs a t effectu e en langage C en utilisant les threads POSIX But97 Cette approche de bas niveau a t pr f r e l emploi d une 7 2 petite chelle parall lisation 123 Algorithme Multithread ApplyBlackBox Entr e Une matrice B un vecteur de d part v et un indice ko tels que v By Sortie Dans un fichier les x B y pour k ko L for k ko k lt L ce point on a v Bly pour la tranche locale de v src_vec v dst_vec w dst_area pointeur vers la bonne tranche du vecteur w set_zero dst_area multiply B dst_area src_vec reduce_modp dst_area r duit modulo p les entr es du vecteur barrier_wait k save_dot_products i dst_vec if k L break A ce point on a w B y pour la tranche locale de w src_vec w dst_vec v dst_area pointeur vers la bonne tranche du vecteur v set_zero dst_area multiply B dst_area src_vec reduce_modp dst_area r duit modulo p les entr es du vecteur barrier_ wait k save_dot_products i dst_vec Programme 7 2 Implantation multithread du produit matrice x vecteur 124 Chapitre 7 Implantation de BW biblioth que comme MPI MPI dans le but de pouvoir traiter avec le maximum de finesse le c ur du probl me savoir la gestion des points de synchronisation Le mod le d ex cution est
244. oir de tr s gros syst mes lin aires sur F l algorithme de Coppersmith Cop94 ne nous a pas paru satisfaisant Nous avons pour pallier cet inconv nient fourni une version sous quadratique de l algorithme de Coppersmith en s inspirant la fois de l am lioration sous quadratique de l algorithme d Euclide et de la dualit entre l algorithme d Euclide et l algorithme de Berlekamp Massey La difficult majeure du passage au cadre matriciel est la gestion de la non maximalit ponctuelle du rang de certaines quantit s crire un algorithme d Euclide dans ce contexte est un exercice bien d licat et c est pour cette raison que nous avons pr f r faire ce d tour par l algorithme de Berlekamp Massey qui a rendu la pr sentation plus claire notre sens Ce travail d taill ici a fait l objet des publications Tho0la et Tho02b L algorithme que nous proposons conserve les avantages de l algorithme de Coppersmith pas de randomisation et peu de constantes cach es puisque nous avons pu mener le compte du nombre de multiplications requises Si on s aventure au jeu de la comparaison des complexit s Valgorithme que nous proposons a une complexit de o a k log k m n k log k ce qui est meilleur que la complexit de l algorithme de Beckermann et Labahn O m n mk log k Pour ces raisons on peut supposer que l algorithme que nous proposons est plus rapide Toutefois l l ment primordial de cet
245. oix que nous avons fait en fonction de la valuation de A on peut constater que le coefficient e2 0 est non nul donc pour l tape de d part les e 0 ne sont pas tous deux nuls Nous allons voir que ces coefficients vont conserver cette propri t Evolution On souhaite passer de t t 1 en n augmentant que de 1 Sans perte de g n ralit on peut supposer que 01 lt 02 Deux cas distincts peuvent se pr senter Si e1 0 0 alors on e2 0 e1 0 i e le coefficient de degr t de Af2 est d sormais nul On ne fait rien dans l autre cas Sans modifier les on a donc annul l un des coefficients et l on sait par hypoth se que l autre remplace f par la quantit fo Afi o Ce nouveau polyn me f2 est tel que e2 0 132 Chapitre 8 Berlekamp Massey matriciel coefficient est non nul Les coefficients des produits Af s organisent d sormais sous la forme on a choisi d illustrer l un des cas sans perte de g n ralit Jj poo Cj n a SHA j Peel TTL Peles ses 0 t t 1 Supposons que l on est dans le cas repr sent ci dessus c est dire e2 0 0 et e1 0 4 0 on remplace maintenant f par X f et i par 01 1 Les nouveaux polyn mes f et f2 sont des approximations convenables pour l it ration t 1 De plus la nouvelle valeur de e1 0 est la m me que l ancienne une fois que l on a incr ment t donc il reste vrai que les e 0 ne sont pas tou
246. olyn me irr ductible de degr k dans F2 X Soit B un autre polyn me quelconque Alors les facteurs irr ductibles de A B X sont de degr multiple de k 28 Chapitre 2 Logarithme discret et cryptanalyse DEMONSTRATION Soit K l extension de degr k de F2 d finie par A Soit Q une cl ture alg brique de F2 Soit une racine de A B X dans On a alors un morphisme injectif plongement K F2 a 6 1 po Pista on param tre ici les l ments de K sous la forme P X o P est un polyn me de F2 X Le fait que cette application est injective d coule pr cis ment de l irr ductibilit de A si P et Q sont deux polyn mes sur F2 tels que P B a et Q B a sont gaux alors le polyn me P Q a pour racine la racine B a de A Donc P Q est un multiple de A donc P X et Q X sont gaux dans K Comme l injection existe F2 a admet Fj comme sous corps donc le polyn me minimal de a est de degr multiple de k E Partant de ce r sultat pla ons nous comme dans l exemple ci dessus dans le cas F127 F2 X x17 X 1 c est dire on prend f X X17 X 1 Pour un polyn me irr ductible A X de degr k lt b on a X X X mod f A X A X X mod f A X A X X mod f Dans cette situation si le membre de droite de la derni re quation se factorise en deux polyn mes de degr k on obtient une relation entre trois l ments de la base de facteurs tous de degr
247. ombinaison lin aire d un ensemble de logarithmes connus les m sont les l ments de la base de facteurs savoir les polyn mes de degr lt b log P gt cilogm mod 2 1 Pr senter notre objectif sous cette forme a l avantage de permettre de travailler simplement avec la notion de logarithme connu ou inconnu en faisant abstraction dans un premier temps des valeurs des log 7 le travail ne commence pas le jour o le syst me lin aire provenant de la phase de recherche de relations est r solu On peut commencer chercher une d compo sition de P avant D terminer une telle expression ne se fait pas en une seule tape Chercher brutalement d composer PX pour m al atoire sous forme d un produit des m est l approche de Valgorithme d Adleman et on sait que cet algorithme est en Ln 5 c on aurait alors la d sagr able surprise de constater que cette troisi me phase de l algorithme devient le facteur limitant la borne b tant m me inf rieure ici sa valeur dans l algorithme d Adleman on aurait en fait une complexit en Ln 3 c L approche est plus fine Elle consiste obtenir des d compositions partielles sous forme de combinaisons lin aires de logarithmes de polyn mes de degr s d croissants En pr sentant 3 8 D termination de logarithmes individuels 71 les choses autrement on peut aussi dire que l on cherche exprimer P comme un produit d l ment
248. omme le temps de calcul du crible est presque ind pendant du nombre de paires qu il s lectionne on souhaite se placer dans la situation o ce nombre de paires friables s lectionn es est le plus faible Cela nous conduit cribler sur le polyn me parmi C et D dont le degr est le plus important puisque c est avant tout le degr qui contr le la probabilit de friabilit Cribler sur D n est donc avantageux que si celui ci est degr sup rieur deg C puisqu alors le crible op re une s lection plus drastique Id alement les polyn mes C et D sont de degr identique leur valeur asymptotique commune est nda En r alit ces degr s ne sont pas quilibr s la grandeur qui assure cet quilibre est le param tre k et comme ce param tre est contraint tre une puissance de 2 on est assez loign du comportement asymptotique en ce domaine Pour la plage de probl mes dans laquelle se situe la r solution de logarithmes discrets dans Fo607 on a k 4 et Cette repr sentation est celle employ e par exemple par MAGMA en interne et par les librairies ZEN et NTL 8En cela l algorithme FFS qui l ve cette restriction sur le param tre k pr sente un avantage certain 3 3 Le principe du crible 55 for i 0 1 lt 2 8 1 4 S i 0 for k 1 k lt b k for g irr ductible de degr k e 0 g for d 1 d lt dp k d e d e d 1 lt lt 1 B AX mod g Initialisation parfois co t
249. ommence se montrer comp titif Toutefois ce stade le co t de la factori sation de polyn mes a cess d tre critique et nous n avons pas ressenti la n cessit d am liorer encore cette phase jugeant l emploi d un proc d par DDF peu avantageux On peut donner plusieurs explications Tout d abord les ingr dients essentiels des algorithmes asymptotiquement rapides de fac torisation sont la multiplication rapide de matrices d une part et de polyn mes d autre part Il est clair que les tailles que nous avons eu traiter ne sont pas telles que les algorithmes les plus rapides asymptotiquement se montrent comp titifs en pratique Dans cette m me optique nous nous sommes davantage int ress s la minimisation du nombre exact et non asymptotique de pgcd effectuer car ce nombre contr le une bonne partie du co t de la factorisation Pour cette raison l algorithme de Niederreiter a pr sent dans notre cas le double avantage de ne pas n cessiter d tape SFF pr alable et de permettre une r duction du nombre de pgcd par le proc d de s paration des facteurs d crit plus haut On peut remarquer n anmoins un int r t sp cifique de l utilisation de la DDF dans notre cas Pour un polyn me P les quantit s suivantes sont calcul es au cours d une DDF P pgcd P X X P Py pycd g X X P d La similitude de ces calculs avec ceux effectu s lors du test de friabilit voqu
250. omprenant Q2 qui est la plus grosse on effectue l op ration inverse Dans cette situation on n ajoute pas de sommet au graphe on rajoute une 310 des relations pour le calcul effectu sur Fo607 4 ce sujet les donn es exp rimentales du calcul sur F607 cit es plus loin sont loquentes plus de 800 000 cycles obtenus pas un seul ne comportant pas le sommet 1 5Ce choix est dirig par le souci de maintenir la profondeur moyenne des arbres la plus petite possible On pourrait apporter plus de soin l analyse si pour 1 2 l arbre o est situ Q a n sommets une profondeur moyenne h et que la profondeur de Q est pi alors la quantit minimiser est la profondeur moyenne r sultante savoir Den nihi neh2 p p2 1 ni pi hi si Qi est choisi comme fils de 46 Chapitre 3 Techniques pour l algorithme de Coppersmith Qe Q2 Q Q Fa Figure 3 1 Fusion de deux composantes ar te et on retire une composante connexe Q et Q2 ont le m me anc tre Alors on a d tect un cycle La strat gie employ e consiste ne rien faire et stocker part la relation correspondant l ar te Q1 Q2 dans le but de traiter ensemble toutes les relations qui engendrent des cycles Nous devons remarquer que dans le cas de la fusion de composantes on diff re du union find standard comme d crit par exemple par Sed88 L op ration men e est repr sent e par la figure 3
251. on d duit que le nombre de multiplications requises 1 mena m n n m njm n n p 3 n m n 2n2 mn n md 1 3 8 5 Une version sous quadratique Nous d crivons maintenant comment les diff rents l ments pr sent s peuvent tre ras sembl s pour former une g n ralisation matricielle de l algorithme de Berlekamp Massey qui ait une complexit sous quadratique La complexit de l algorithme que nous pr sentons est en O N log N Une valuation exacte du nombre d op rations requises est plus d licate mais n anmoins r alis e en 8 5 3 8 5 1 Structure r cursive On peut d gager un trait essentiel de la version sous quadratique de l algorithme d Euclide tendu qui a t pr sent e en 8 2 2 En effet une structure r cursive a t adopt e de telle sorte que des donn es de taille r duite soient g r es dans les pas r cursifs et qu elles soient compos es ult rieurement Une telle approche permet de tirer parti des algorithmes rapides de multiplication de polyn mes sans lesquels l effort serait vain Par ailleurs la clef de vo te de cet algorithme est la possibilit d utiliser une information r duite pour calculer une partie des donn es c est ce qui rend les pas r cursifs possibles Nous adoptons ici une strat gie identique Nous montrons dans quelle mesure une in formation partielle nous permet d avancer et nous mettons ensuite en place une struc
252. on du type 7 v Ip mod f pour une certaine valeur de y En r alit cette relation doit tre examin e plus en profondeur En particulier elle n est pas v rifi e si la courbe d quation H poss de plusieurs places l infini Cette obstruction peut tre lev e en utilisant pour H une courbe Cab comme cela a t remarqu par Matsumoto Mat99 Deuxi mement si l on travaille non plus en caract ristique 2 mais en caract ristique p alors des unit s peuvent s introduire donc la relation n est v rifi e que modulo F En dehors de ces restrictions la relation nonc e est v rifi e en prenant pour y le nombre de classes de l anneau F2 X Y H X Y c est dire le nombre de points Fo rationnels de la courbe H si celle ci est de genre 1 Ce nombre est petit Une exposition minutieuse de la justification de cette construction alg brique se trouve dans AH99 Nous n effectuons pas l analyse du FFS Elle est semblable celle de l algorithme de Coppersmith et les valeurs asymptotiques des param tres sont les m mes La seule diff rence se situe au niveau du param tre k celui ci n est pas contraint tre une puissance de 2 ce qui signifie que l on est toujours dans le cas le meilleur pour l algorithme de Coppersmith Du point de vue pratique malgr l introduction de consid rations alg briques abstraites tous les calculs peuvent se ramener des calculs sur les polyn mes Nous p
253. oriel Il est trivial de constater que de cette fa on prendre m n 1 nous fait retomber sur l algorithme de Wiedemann tel que d crit pr c demment Hypoth ses v rifier La fa on dont un tel g n rateur lin aire vectoriel peut tre calcul est l objet du chapitre 8 de ce m moire Pour l instant nous n entrons pas dans le d tail de ce calcul que l on consi d re comme un outil La proposition 8 7 et le th or me 8 6 fixent les hypoth ses que nous devons remplir On peut r sumer celles ci en l nonc suivant qui sera d montr de mani re constructive au chapitre 8 Proposition Soit A K X 1 On suppose qu il existe une description en fraction ra tionnelle gauche D X N X cf page 105 avec 6 D d Soit s le plus petit entier tel que les colonnes de ao as_1 engendrent K Alors en connaissant les L s 4 premiers coefficients de A X i e Amod X on peut calculer de mani re d terministe un g n rateur lin aire vectoriel F v rifiant F lt s d 6 3 L algorithme de Wiedemann par blocs 113 Dans la proposition suivante seule l existence de la description en fraction rationnelle est suppos e Les matrices N et D ne sont pas suppos es connues Nous devons d terminer dans le cas de l algorithme de Wiedemann par blocs quelles sont les valeurs des param tres s et d que l on peut s attendre rencontrer Ces param tres conditionnent la valeur de L qu
254. osition suivante de KN o K est somme directe de i sous espaces de tailles respectives d1 d Dans cette criture on peut lire les blocs de Jordan g n ralis s sous espaces stables maximaux sur les lignes puisque B agit comme le d calage vers la gauche sur cette figure lt lt lt Blocs de Jordan lt lt lt Ki Nous cherchons savoir avec quelle probabilit on a Hgy Hy Les choix possibles pour les coordonn es des vecteurs x et y sont au nombre total de q o q au besoin est remplac par le cardinal d une extension Parmi ces choix ceux o y est nul sont vite tranch s puisqu alors On Hgy Hy 1 Ces choix sont au nombre de q Pour les q 1 autres valeurs possibles de y combien de valeurs de x sont telles qu on a l galit Il est facile de r pondre cette question crivons X jy Le vecteur B y est alors un vecteur non nul avec un certain nombre de 6 3 L algorithme de Wiedemann par blocs 111 coordonn es non nulles ind pendantes elles sont extraites des coordonn es de y Le produit scalaire x B ly s crit comme une forme lin aire en les coordonn es correspondantes du vecteur x Cette forme lin aire prend uniform ment toutes les valeurs possibles dans F et s annule donc pour une proportion des valeurs de x Il s ensuit que la probabilit d galit est p q CETTE 1 gt e gt 1 4 a qh q guy 1 1
255. our 0 lt i lt q on a l additivit de o De plus o ab o a a b et au vu de la premi re assertion k K implique o k k Comme o est injectif c est un morphisme de corps non nul c est un automorphisme Enfin en appliquant toujours la premi re assertion L on a o idz W 172 Annexe A Rappels sur les corps finis Cette propri t nous suffit pour montrer que deux corps finis de m me cardinal sont n cessairement isomorphes Lemme A 9 Soit K une extension de degr n d un corps F de cardinal q Alors il existe un polyn me P tel que K est isomorphe F X P Ce lemme montre que la construction des corps finis par extension polynomiale est g n rique DEMONSTRATION Soit g un g n rateur du groupe multiplicatif K Le corps K est alors gal F g qui est isomorphe F X P o P est le polyn me minimal de g sur F Th or me A 10 Soient K et L deux extensions finies de degr n d un m me corps F de cardinal q Alors K et L sont isomorphes DEMONSTRATION Appliquons le lemme Soient Px et Pr deux polyn mes tels que K et L soient respectivement isomorphes aux quotients FIX PX et F X P Tous les l ments de K et L v rifient 79 x Les polyn mes Pr et Pr sont donc des diviseurs de X41 X on applique cette identit la classe de X dans l anneau quotient En outre comme les l ments de K sont en nombre q le polyn me X X est scind dans K il a q ra
256. our les op rations de DFTs et IDFTs ainsi que les nombres de multiplications qui en d coulent Les informations correspondantes sont consign es dans la table 8 6 8 5 3 Complexit Nous disposons maintenant de l information n cessaire pour valuer la complexit de l al gorithme r cursif propos pour le calcul de g n rateurs lin aires vectoriels Cette complexit passe d abord par le calcul du co t de chaque r cursion Notons C b le nombre de multi 8 6 Performance de l algorithme r cursif 155 plications n cessaires pour calculer 7 Qt ainsi cette analyse est essentiellement pertinente lorsque le corps de base est grand On d montre le r sultat suivant Th or me 8 13 Le nombre de multiplications requises par l algorithme ComputePMatrixRec pour calculer la matrice no est C b lt 2C 3 c d m n blog b 3 m m n b O m n b o l on d finit cd 3 56 0 5 DEMONSTRATION Le co t en dehors des r cursions est l addition des complexit s mention n es dans les cing lignes de la table 8 6 ainsi que du co t des convolutions On n glige tous les termes dont la contribution rentre dans la composante O m n b Tout d abord le co t des DFTs et IDFTs est DFTs IDFTs i m n 2 1 1 blog b m n 4 b log b m n c blog b comme annonc Quant au co t des convolutions il s obtient de fa on similaire en lisant les table
257. ous sommes en mesure de descendre du degr q au degr 4 bq le proc d est simplement de r p ter cette op ration jusqu arriver au degr b On peut r sumer ainsi Valgorithme pour obtenir le logarithme d un polyn me Q de degr arbitraire En utilisant l algorithme d Euclide tendu voir page 27 exprimer Q comme quotient de polyn mes de degr q lt 5 Tant que q gt b Poser q bq R duire un produit de polyn mes de degr lt z Donc au bout de logn tapes lt q la i me tape de cette it ration la borne q vaut b en moyenne on atteint le degr b 2 4 2 Analyse Avec la proposition 2 5 on peut estimer la probabilit de friabilit d un polyn me al atoire En faisant l hypoth se que les polyn mes C et D calcul s dans l algorithme de Coppersmith sont al atoires et ind pendants il est possible de leur appliquer cette estimation Partons de la supposition que le nombre de paires de polyn mes A B savoir 224 1 est exactement suffisant pour produire le nombre de relations recherch Le temps de calcul de la premi re phase est donc de l ordre de 2 Comme pour l algorithme d Adleman supposons que la valeur optimale de b est telle que la premi re phase est strictement plus co teuse pour une valeur de b plus petite et la seconde phase strictement plus co teuse pour une valeur de b plus grande Sous cette hypoth se que nous v rifierons plus loi
258. out d abord on peut constater que l limination structur e jecte agressivement des lignes et des colonnes de la matrice Certaines d entre elles conservant un int r t po tentiel elles peuvent ventuellement tre stock es sur le disque dur mais en aucun cas tre conserv es en m moire 92 Chapitre 5 Pr sentation du probl me Par ailleurs la partie dense ou inactive de la matrice contient la plupart des coef ficients Il est parfois recommand de ne pas effectuer les op rations de ligne sur cette partie pour ne les effectuer que plus tard Nous n avons pas eu besoin de recourir ce proc d Si la matrice est repr sent e sous forme d une liste de coefficients non nuls pour chaque ligne on ne peut viter un acc s par colonne qui permette de localiser les lignes ayant un coefficient non nul dans une colonne donn e pour effectuer les liminations voulues Des listes de liens crois s entre les lignes et les colonnes doivent ainsi tre maintenues Il est vident que l on doit viter de stocker cette information pour les colonnes de la partie inactive de la matrice Le maintien des diverses donn es quantitatives sur la matrice poids des lignes et des colonnes liste des pivots potentiels taille des coefficients d une ligne repr sente un surco t non significatif Dans l implantation que nous avons effectu e les tapes 3 et 4 de l algorithme ont t glo balis es En co
259. ouvons remarquer que le crit re que nous avons d velopp page 35 pour le choix du polyn me de d finition dans l algorithme de Coppersmith peut s exprimer simplement si l on regarde l algorithme comme un cas particulier du FFS Nous avons dit que pour le cas de l algorithme de Coppersmith on prenait H Y X f X c est dire Y R X Nous avons nonc qu il tait souhaitable que f soit choisi de telle sorte que R admette souvent des racines k emes modulo des puissances de facteurs irr ductibles Ce crit re est peu ou prou identique celui que l on utilise pour le crible alg brique o on choisit le polyn me de d finition de telle sorte que ses racines soient nombreuses modulo de petits nombres premiers EH96 EH97 Chapitre 3 Techniques pour l algorithme de Coppersmith Nous d veloppons dans ce chapitre les diff rentes techniques qui peuvent tre mises en uvre pour l implantation de l algorithme de Coppersmith Nous portons l accent sur notre record de calcul de logarithmes discrets dans le corps F607 la lumi re duquel les apports des diff rentes techniques que nous avons employ es sont illustr s Les techniques d crites ici sont multiples Nous d crivons surtout des techniques ayant trait la recherche de relations donc la premi re phase de l algorithme et nous donnons quelques d tails sur la troisi me phase en 3 8 La seconde phase de l algorithme est un calcul d alg bre lin a
260. p Massey matriciel K L m n Coppersmith algorithme r cursif Threshold Foi27_4 1 000 4 4 35s 36s 958 10 000 1h01mn 14mn 100 000 x 4d 6h10mn F5607_ 1 1 000 4 4 112s 118s 923 10 000 3h03mn 45mn 100 000 x 12d 19h34mn 242 304 x 75d 47h48mn Foe07_ 10 000 10 20 5d 1h57mn 880 Fo1279_1 1 000 4 4 267s 292s 916 10 000 7h15mn 1h50mn 100 000 x 30d 47h38mn Table 8 7 Temps de calcul de g n rateurs lin aires Poser 7 idm4n Pour allant de 0 k 1 Calculer P ComputePMatrix1 X er A Poser 7 TP AP Retourner 7 Il est clair que les deux premi res lignes du programme 8 4 peuvent alors tre remplac es par la ligne if b le T then return ComputePMatrix_k lt e A gt b end if La borne T threshold doit ici tre choisie de mani re optimale Les mesures exp rimentales qui suivent donnent la valeur de cette borne 8 6 2 Mesures exp rimentales Notre int r t pour le calcul de g n rateurs lin aires provient l origine de l algorithme de Wiedemann par blocs Nous avons mesur les performances de notre calcul de g n ra teurs lin aires sur diverses tailles de donn es provenant toutes de notre implantation de cet algorithme On a toujours choisi F pour le corps de base en prenant pour p un nombre premier de Mersenne Cela a l avantage de rendre l utilisation de la FFT possible dans une extension de degr 2 Toutefois les quelques mesures qui ont
261. pendantes il n est pas vident d adopter un point de vue transverse 2 5 Le crible de corps de fonctions FFS Nous ne d taillons pas dans ce m moire les algorithmes permettant de calculer des lo garithmes discrets dans les corps premiers F Notons toutefois que parmi ces algorithmes on compte le crible alg brique Gor93 qui a t adapt de la m thode de factorisation du m me nom LL93 LLMP93 En consid rant un corps de nombres K choisi de telle sorte qu il existe une surjection K Fp on peut en effet obtenir un algorithme de calcul de logarithmes discrets de complexit Liog p GG c Diverses variantes ou cas particuliers de cette approche existent comme par exemple l algorithme de Coppersmith Odlyzko Schroeppel COS86 Il est possible de les voir sous un angle unificateur SWD96 Ce regard unificateur inclut aussi l algorithme de Coppersmith pour F n qui appara t comme un cas particulier de l algorithme du crible de corps de fonctions ou Function Field Sieve FFS propos en 1994 par Adleman Ad194 Nous allons d crire 2 5 Le crible de corps de fonctions FFS 37 bri vement l algorithme FFS On va voir que le formalisme est proche de celui du crible alg brique Un avantage du FFS est son caract re g n ral Il permet de lever de nombreuses restrictions li es l algorithme de Coppersmith Notamment il s applique au cas de la caract ristique diff rente de 2 De plus on dispose avec le FFS d
262. persmith 147 g n rique o l on choisit d exclure les cas particuliers Si au cours de l volution de l algorithme tout se passe comme pr vu les entiers 4 augmentent de concert et sont tous concentr s autour de leur valeur moyenne En effet si LES 6 apr s Vit ration t il y a de fortes chances pour que la colonne j serve de pivot dans P limination gaussienne l tape t 1 ce qui provoque une incr mentation de j Cette situation se maintient tant qu aucun des 6 ne devient inf rieur a la borne t d Lorsque c est le cas la colonne j se stabilise car elle a converg vers un g n rateur lin aire en vertu du th or me 8 8 la colonne correspondante de la matrice e X devient nulle et donc la colonne j ne sert plus aucun moment de pivot et ne re oit plus aucun ajout d une autre colonne Si l volution des autres coefficients 6 continue conform ment au comportement moyen on d montre sans peine qu une it ration plus tard il y a exactement n colonnes pour lesquelles 6 lt t d Les fj correspondants sont tous des g n rateurs lin aires vectoriels Nous montrons que dans cette situation les g n rateurs vectoriels forment ensemble un g n rateur lin aire matriciel unimodulaire qui nous donne donc une description en fraction rationnelle droite pour la s rie A Pour obtenir cette propri t examinons la matrice Al En permutant les colonnes de fa on appropri e on peu
263. persmith montre que g 2 o w est lexposant de la complexit de l alg bre lin aire au plus 3 avec le pivot de Gauss 8En r alit viser juste en ce domaine est pratiquement impossible si l on prend en compte les diff rentes techniques introduites au chapitre 3 2 4 L algorithme de Coppersmith 35 n 1 if Ia tz Fe L influence n faste d une diff rence importante entre k et sa valeur opti male se situe bien entendu au niveau de l quilibre entre les degr s de C et D Id alement on a choisi dans l analyse k de telle sorte que ces degr s soient quilibr s S ils ne le sont pas c est la probabilit de friabilit qui en souffre Lorsque les degr s de C et D sont non quilibr s la probabilit de friabilit la plus faible est bien s r celle du plus gros des polyn mes Il convient donc de tester ce polyn me en premier pour ne tester le second polyn me que sur un faible chantillon de l espace de crible Un autre aspect relatif au choix de k est son influence sur le syst me lin aire qui intervient dans la phase 2 de l algorithme Ses coefficients de la forme f ke sont statistiquement plus gros si k augmente Cet aspect peut se r v ler encombrant comme on le verra en 5 2 Il est tout de m me important de noter que k 4 En effet pour la classe des probl mes qui nous int ressent c est dire les probl mes non triviaux o l emploi d une m thode d index ca
264. poth ses sur f Sattler et Schnorr SS85 ont montr qu un tel choix de partitions en trois sous ensembles ne fournissait pas un comportement tr s proche du cas moyen et qu il tait pr f rable de partitionner G en un plus grand nombre de sous ensembles Exp rimen talement il a t constat dans Tes01 qu une partition en vingt sous ensembles conf rait la fonction f un comportement statistiquement plus proche d une fonction al atoire d o un r sultat meilleur Parallel collision search Un algorithme cousin de la m thode rho qui permette une distribution efficace sur de nombreux n uds de calcul est l algorithme de recherche de collisions pr sent dans vOW99 On se contente ici d en faire une description rapide Cet algorithme a pour fondements les m mes propri t s du graphe de f vue comme fonction al atoire Puisque statistiquement il existe une composante connexe g ante on essaie de mettre en vidence deux chemins qui tombent sur cette composante connexe en partant de diff rents points de d part Lorsque l on parvient rejoindre de tels chemins on obtient le r sultat recherch On d crit ici l algorithme dans une optique ma tre esclave Le concept nouveau est celui de point distingu introduit l origine dans QD90 et repris ici On recherche uniquement les collisions entre les points distingu s La d finition de ce qui constitue un point distingu est arbitraire elle
265. pourquoi un g n rateur est obtenu La valeur moyenne 6 des coefficients 6 j comme on avait annonc augmente d exactement min lorsque t augmente de 1 C est une cons quence du th or me 8 8 Nous pouvons donc exprimer la moyenne de la diff rence t 6 m n t d t s t s t s m n m n Pour t s d on applique l galit qui pr c de et on trouve n t 0 gt d Par cons quent pour au moins un indice j on a t 6 gt d Cette condition en vertu du th or me 8 6 implique que e est nul donc que fj est un g n rateur lin aire vectoriel c est dire ce que l on cherche On prouve ais ment qu il ne s agit pas d un g n rateur trivial car cela provoquerait la nullit d une colonne de la matrice h X Or on sait que cette matrice est constamment unimodulaire donc elle ne peut avoir une colonne nulle Une autre fa on plus terre a terre de v rifier si l on a un g n rateur est la suivante Si f est un g n rateur partir de l tape t alors dans toutes les tapes suivantes la colonne 7 de la matrice e 0 est nulle en entr e de l algorithme ComputePMatrix1 Si une telle situation se r p te plusieurs fois on peut parier que l on a un g n rateur 146 Chapitre 8 Berlekamp Massey matriciel Algorithme ComputePMatrix1 1 car on avance d une tape Entr e Un couple E e A avec e une matrice de taille m x m n la matrice e 0 A
266. pratique la description sommaire faite ci dessus correspond bien ce sch ma Lorsque l on s int resse la r solution de syst mes lin aires sur Fo la distribution du calcul n est pas notre objectif prioritaire puisque le b n fice est surtout la capacit effectuer 32 op rations en une On peut toutefois envisager de choisir n 64 et de distribuer le calcul sur deux machines comme cela a t fait dans KL99 7 1 2 Etape BW2 Nous n avons pas encore d taill les algorithmes utilis s pour calculer le g n rateur lin aire vectoriel de la suite repr sent e par A X Nous rappelons que ce g n rateur v rifie la relation A X F X K xX Les algorithmes pour calculer F seront d taill s au chapitre 8 Nous verrons qu ils ne sont pas distribuables Aussi l tape BW2 impose de rassembler au pr alable les diff rentes colonnes de A X sur une seule machine Une fois le g n rateur lin aire vectoriel calcul on r partit nouveau les colonnes de F sur plusieurs machines pour entamer la phase BW3 7 2 petite chelle parall lisation 121 7 1 3 tape BW3 Le vecteur qui doit tre calcul au cours de la phase BW3 s crit sous la forme deg F De Je BE ein i 0 Au cours de l tape BW1 on calcule des vecteurs de la forme By Ces vecteurs s crivent aussi B z On ne peut les stocker sur le disque dur car cela repr senterait un stockage trop important Toutefois il est regretta
267. proposition A 12 Proposition Le polyn me XV X F X est le produit de tous les polyn mes irr ductibles de F X de degr divisant n On d duit partir de cette propri t un test de friabilit facile mettre en uvre Nous allons voir que ce test ne fournit pas une r ponse juste 100 mais qu il est largement suffisant 52 Chapitre 3 Techniques pour l algorithme de Coppersmith b Proposition 3 2 Soit P F2 X Si P II ees X 0 mod P alors P est b friable k sauf si les facteurs de degr gt b de P sont de multiplicit paire DEMONSTRATION Partons d abord du cas o P est b friable Le polyn me P s crit donc Il Il est vident que II ene divise le polyn me d riv P En outre chacun des 7 i ile gt 0 est de degr lt b donc deg 7 divise un entier de l intervalle T2 0 Il s ensuit que le test est v rifi Soit maintenant un polyn me P v rifiant le test soit q un facteur irr ductible de degr gt b de ce polyn me et k sa multiplicit dans la factorisation de P Le polyn me q est premier b avec le produit II X Lx Donc le test ne peut tre v rifi que si q divise P Il existe k un polyn me R premier avec q tel que P R p gE R ae kg ld R d P e alkd q P amp k 0 mod 2 On a donc obtenu la propri t recherch e E Les faux t moins pour le test pr c dent sont donc rares On peut en calculer la pro port
268. psie 1 ae Ce r sultat correspond exactement la propri t que l on veut montrer en tenant compte en outre des cas o F est remplac par une extension finie a En combinant les r sultats de la proposition 6 9 et du th or me 6 10 on peut donner exactement la probabilit de succ s de l algorithme de Wiedemann sans tenir compte des r cursions Le cas de la valeur propre 0 doit tre trait part On a mo cx par d finition et en vertu de la proposition 6 9 la probabilit que l on vient de calculer est remplac e dans le produit par l expression 1 1 1 ie La probabilit de succ s du premier coup A 1 1 a 1 1 c de cg deg q As gee Gee Il est m me possible d am liorer cette probabilit d un facteur 1 1 en effet si on a est alors Uxy F Hy Sur le sous espace caract ristique associ la valeur propre 0 ce n est pas tr s grave il est possible de continuer a calculer certaines it rations de B pour obtenir le vecteur nul Le nombre d it rations que l on doit ainsi rajouter est born par N Fv Ce r sultat donne exactement la probabilit de succ s de la version Monte Carlo de Valgorithme Pour statuer sur le nombre de r cursions n cessaires l algorithme Las Vegas ou encore sur le nombre de r cursions n cessaires pour calculer upg il faut des r sultats plus pr cis Une amorce d une telle pr cision des
269. pts infernaux tendait rendre ce circuit un peu trop fragile perdre des courriers lectroniques n est pas agr able Cette exp rience nous a apport divers enseignements La premi re erreur que l on a souhait corriger a t le recours aux partitions de disque dur partag es par r seau Le syst me de fichiers NFS associ a ind niablement de nom breux avantages mais aussi des d fauts qui deviennent des cauchemars dans un envi ronnement ou les clients et les serveurs constituent un parc de machines compl tement h t rog ne Par cons quent le remplacement par une solution utilisant uniquement Varborescence de fichiers locale tmp a t recherch L emploi d interm diaires pour la communication avec les esclaves multiplie par trop le nombre de machines du bon fonctionnement desquelles le r sultat d pend Envoyer un courrier lectronique n est pas une op ration anodine Outre l aspect d j mentionn savoir que des courriers peuvent rester bloqu s dans une file d attente de mani re inattendue la manipulation de programmes fonctionnant par envoi automa tique de courriers lectroniques est vue comme l une des plus noires faces du piratage par certains sites informatiques Envoyer dix mille courriers de fa on automatique m me un rythme relativement peu lev n est pas une bonne fa on de se faire des amis Utilisation d un serveur autonome Pour toutes les raisons que l on
270. r cela que 106 Chapitre 6 M thodes utilisant des g n rateurs lin aires P 0 soit inversible Un tel g n rateur P X est dit unimodulaire Dans un tel cas si l on note V X P X U X on peut crire U X P X V X On appelle une telle criture une description en fraction rationnelle ici gauche On peut similairement d finir une telle description droite 6 1 6 G n rateur lin aire et polyn me minimal Nous avons voqu plusieurs reprises le cas o Ro K Dans cette situation il est parfois plus commode d employer la terminologie quivalente de polyn me minimal Pour une suite u Un nen RN on note l op rateur de d calage o d fini par o u Un 1 nen Sur la s rie formelle associ e o U est la partie enti re de la s rie formelle g On d finit le polyn me minimal comme suit D finition 6 6 Polyn me minimal d une suite Le polyn me minimal de la suite u un nen RN est le g n rateur de l id al des polyn mes P K X v rifiant P o u 0 Le polyn me minimal est la r ciproque du g n rateur lin aire C est l objet de l nonc suivant Proposition 6 7 Soit u un nen RN une suite soit f son g n rateur lin aire minimal et u son polyn me minimal Alors on a XO f D MONSTRATION La d monstration de la proposition 6 2 s adapte tr s exactement notre situation et permet d obtenir le r sultat a 6 2 L algorithme de Wiedemann
271. r des logarithmes dans Z nZ a partir du calcul de logarithmes dans les groupes multiplicatifs des corps premiers F Z pZ pour les diff rents facteurs premiers p de n Ceci nous am ne nous concentrer sur le cas o n lui m me est premier et plus g n ralement consid rer les groupes multiplicatifs des corps finis Depuis 25 ans l tat de l art en ce qui concerne le calcul de logarithmes discrets dans les corps finis a permis de d velopper divers algorithmes donnant au probleme DL dans les corps finis les diff rentes complexit s indiqu es sur la figure 1 2 Il apparait que dans tous les cas un algorithme sous exponentiel pour r soudre DL existe Le caract re pratique de ces algorithmes m rite d tre prouv Une trame g n rale de la premi re partie de ce m moire est justement le calcul de logarithmes discrets dans le groupe multiplicatif de Fan Si DL dans G est polynomial de complexit O log n on ne peut bien s r pas dire que polynomial signifie facile On devrait donc plut t faire rentrer dans cette mauvaise cat gorie les groupes pour lesquels DL est polynomial d exposant mod r 10 Chapitre 1 Logarithme discret et cryptographie Quoi Qui Quand Co t Ton Coppersmith Cop84 1984 La 3 c p Gordon Gor93 1993 Liogp z c pr Adleman DeMarrais AD93 1993 Loge 4 c pn p petit Adleman Ad194 AH99 1994 Ln 3 c Semaev Sem98a 1993
272. r les coefficients du polyn me se fait une taille fig e Et il se peut que ce ne soit ni une taille vraiment facile ni une taille o une algorithmique rapide peut fonctionner avantageusement Sur les entiers l algorithme de Sch nhage Strassen proc de autrement Il commence par d couper un entier de N bits en VN blocs de VN bits Les multiplications de ces blocs multiplications enti res sont effectu es selon le m me proc d c est dire qu au second niveau de la r cursion on a des blocs de WN bits Ce d coupage variable est en fait bien plus avantageux et est la cause du loglog N Bien entendu il n est pas parfaitement clair que multiplier des polyn mes sur des corps finis puisse se faire en ayant recours la multiplication d entiers C est une application de la technique dite pack and pad attribu e Kronecker Pour simplifier supposons que K est le corps premier F cette technique se g n ralise On a un polyn me P pa Xe K X o l on prend pour p l unique repr sentant dans 0 1 Soit f l entier log N 1 D finissons un entier P de la mani re suivante N P ao i 0 Si l on compose de m me Q on a 2N PO Y y pa 2 k 0 itj k Notre choix de f fait que les coefficients de cette somme restent born s par 2 Par r duction modulo on retrouve donc les termes 5 j k Pig qui sont les coefficients du produit des polynomes P et Q Ainsi la multiplication enti
273. r plus ais ment comprendre le fonctionnement des algorithmes matriciels ex pos s dans ce chapitre nous allons commencer par reprendre l exposition de l algorithme de Berlekamp Massey en adoptant d lib r ment un point de vue qui se g n ralise sans peine au cas matriciel que nous traiterons par la suite L algorithme de Berlekamp Massey calcule le g n rateur lin aire F X de A X par ap proximations successives Deux candidats g n rateurs f1 X et f2 X sont maintenus chaque tape du calcul chacun de ces candidats g n rateurs f est associ un second membre gj et un terme d erreur ej de telle sorte que l quation suivante soit v rifi e l it ration t de l algorithme Af gj Xe Pour chacun des candidats g n rateurs on maintient aussi la quantit 6 qui est un majo rant de max deg f 1 deg g cette derni re quantit a aussi t not e fj gj en 6 4 Pour chaque 7 les coefficients non nuls du produit Af s organisent comme sur le sch ma suivant Jj Ej pe _ a hr OOCOOHESSOOO ee eee 6 t Initialisation Pour l initialisation de l algorithme de Berlekamp Massey on fait intervenir la valuation de la s rie A que l on note s 1 Les valeurs initiales sont alors t s fi 1 i 8 fo X dg 1 Pour passer de l tape t P tape t 1 dans Valgorithme il faut parvenir liminer les coefficients de degr 0 dans les e Etant donn le ch
274. ramme 8 2 est une implantation fid le de cet algorithme en langage MAGMA Cet algorithme fournit le r sultat correct y compris lorsque z 4 n On n a pas effectu de mesures quant au comportement asymptotique effectif de cette implantation Ce n est pas notre objet nous ne pr sentons ici qu un mod le G n ralisation du champ d application Il convient de noter que l algorithme que l on vient de d crire se g n ralise ais ment pour calculer n importe quelle matrice IIo 45 sans la contrainte s gt Il suffit d appliquer le m me proc d que dans GY79 on calcule IIo n 2 puis lo n 4 Ho n s et ainsi de suite Toutefois nous ne d taillons pas cette op ration car elle sort de notre cadre d int r t Complexit du calcul de g n rateur lin aire Nous voulons exprimer la complexit du calcul du g n rateur lin aire pour une suite repr sent e par une s rie A X Avec les notations pr c demment tablies ce g n rateur pourvu que l on sache qu un g n rateur existe avec 0 lt N est obtenu en calculant 8 3 Cas matriciel hypoth ses de g n ricit 139 la matrice Ip gn X 2N A mod X2 La complexit de ce calcul s value donc de la m me mani re que la complexit du calcul de IT y n 2 U V d une mani re g n rale o n deg U Ce co t est solution de l quation C n 2C n 2 cM n Dans cette quation c est une constante et M n est le co t de
275. ravers de l interface setrlimit getrlimit Ces ressources sont par exemple le temps maximal d ex cution d un programme ou son utilisation m moire maximale Il n est fait aucune mention dans les syst mes Unix actuels d une limitation possible du nombre de processeurs simultan ment utilis s En outre une telle limitation n cessiterait une d finition tr s pr cise veut on limiter le nombre de programmes travaillant de mani re distribu e veut on limiter le nombre de threads utilis s ou les deux Connaissant ces difficult s qui emp chent l tablissement radical d une telle limite on a suppos et la supposition tait juste qu elle tait mise en place de mani re bien plus artisa nale Les programmes tant lanc s via un programme de soumission c est dire en batch c est ce programme de soumission qui tout simplement compte le nombre de ses fils au sens de la hi rarchie des processus Unix Cette approche est totalement inadapt e l emploi de threads limiter par exemple quatre le nombre de processeurs simultan ment utilis s revient interdire l usage de plus de deux threads En effet l implantation sous Linux des threads POSIX cr e un processus par thread et deux autres processus viennent s ajouter 2On traite ici de l implantation LinuxThreads d e X Leroy Cette implantation a t la premi re tre mise en place pour les syst mes Linux Elle d vie marginalement de la
276. re 7 notre implantation multithread de la multiplication matrice x vecteur Cela a repr sent un travail de d veloppement important car la mise au point du programme 7 2 page 123 n est pas une entreprise facile Nous avons rencontr au cours de ce travail diverses difficult s les premi res d entre elles tant toutes les difficult s inh rentes a la programmation multithread Comme cela a t mentionn en 9 2 le nombre d it rations effectu es dans la phase BW1 de l algorithme de Wiedemann par blocs a d pass la centaine de milliers La matrice B occupant 400Mo de m moire vive cela implique qu une grande quantit de donn e transite par les microprocesseurs prenant part au calcul dans un contexte o les machines utilis es le sont plein r gime Une cons quence de cette lourde charge impos e sur les machines a t l apparition d erreurs de calcul qui ont justifi le processus de v rification d crit en 7 3 Cette m thode a servi de diagnostic de qualit de barettes m moire pour certaines machines du cluster MEDICIS Par ailleurs la forte sollicitation du mat riel que repr sente un calcul multithread comme celui que nous avons men a t la source de nombreux plantages tant t par manque de fiabilit du mat riel tant t aussi par effroi de la personne en charge de l adiminstration des machines en question Pour ces raisons on a du prendre comme hypoth se de d part que les processus la
277. re 8 une fa on d effectuer ce calcul en temps sous quadratique Par cons quent la complexit globale de l algorithme de Wiedemann par blocs est O N Chapitre 7 Sch mas d implantation pour un passage l chelle L algorithme de Wiedemann par blocs nous a permis de r soudre un syst me lin aire de tr s grande taille savoir 480 108 x 480 108 d fini sur le corps F4607_ qui n est pas un petit corps Ce calcul a pris trois semaines sur un cluster de six machines de type alpha 4xev67 cadenc es 667 MHz En 1997 Kaltofen et Lobo taient parvenus avec cet algorithme r soudre un syst me d fini sur Fo de taille 570 000 x 570 000 en utilisant deux machines de type sparc 20 cadenc es 107 MHz De tels r sultats n cessitent d aller au del de la pr sentation acad mique de l algorithme Il est n cessaire de d penser de l nergie pour obtenir un bon niveau de parall lisation et pour mener bout le calcul de grande envergure que cela repr sente Nous d crivons ici l ossature du programme que nous avons d velopp pour effectuer des calculs avec l algorithme de Wiedemann par blocs sans parler pour l instant de la phase de calcul de g n rateurs lin aires qui fait l objet du chapitre 8 Nous nous concentrons sur le cas des corps premiers car c est un syst me d fini sur un corps premier que nous avons r solu Ce sont donc les sp cificit s du cadre de travail associ aux corps premiers q
278. re calcul partir de seulement 2 N deg v coefficients de la suite des az Par ailleurs on peut d duire de l identit pr c dente que le vecteur v F B z est un bon candidat pour utiliser la proposition 6 8 Si d aventure il n tait pas possible de d duire un vecteur non nul du noyau partir de v on peut recommencer la proc dure avec l information augment e A 4 v F De cette fa on on a transform la description Monte Carlo de l algorithme de Wiede mann effectu e plus haut en une version Las Vegas Il n y a cela rien d extraordinaire si ce n est que l on recycle une quantit importante d information lors des r p titions de la proc dure Initialement on commence l algorithme avec v 1 1 La description ci dessus permet d tablir le pseudo code 6 1 Il appara t clairement dans ce programme que B n intervient pas autrement que sous forme de bo te noire 6 2 L algorithme de Wiedemann 109 6 2 3 Justification Il convient d expliquer dans quelle mesure le commentaire apparaissant dans le program me 6 1 sur la faible probabilit des appels r cursifs est justifi Deux situations distinctes peuvent amener un appel r cursif La premi re est que le vecteur v soit non nul mais que le vecteur B v calcul par la derni re boucle du programme ne soit pas non plus le vecteur nul Ainsi on n est pas capable d obtenir un l ment du noyau Cela n est possible qu
279. re par FFT permet de multiplier des objets dans des structures vari es Cette m thode de pack and pad est tr s efficace car la constitution de P peut se faire tr s rapidement Bien str les donn es sont grossies mais seulement d un facteur 2 E Si est grand ce n est donc pas plus co teux que le fait de prendre une extension alg brique lorsque c est n cessaire et dans les faits c est plus efficace Si est tr s petit d autres techniques peuvent tre utilis es vzGG96 Il est important de noter que l usage de la FFT enti re n emp che pas de b n ficier de la remarque faite plus haut sur l adaptation du sch ma valuation convolution interpolation au produit de matrices Adaptation l algorithme Nous voulons examiner dans l algorithme 8 4 comment les produits ery et TLTR peuvent tre effectu s en utilisant la FFT Nous resterons dans le cadre de la FFT polynomiale une analyse similaire pouvant tre men e si l on utilise la FFT enti re Les dimensions des objets concern s sont donn es par la table 8 5 et exprim es en utilisant l abr viation nn On n glige les termes d influence minimale les parties enti res disparaissent par exemple 5Voire tr s vari es Cf GG01 pour une multiplication de polyn mes sur des s ries sur une extension non ramifi e d un corps p adique par FFT enti re Il est n anmoins regrettable qu aucune librairie multipr cision ne fournisse u
280. remier temps que K est R ou C Soit A une matrice sym trique de KXN On consid re la forme bilin aire sym trique associ e A sur K d finie par x y x Ay x7 Ay Soit ep en_1 une base quelconque de XV Soient wo wn_1 les vecteurs d finis par Wo 0 5 3 Algorithmes pour terminer la r solution 95 Ae1 Awo wi 1 ___ v0 wo Awo k 1 erl Awi Wk ek 2 lul Aw j Il est alors ais de montrer que les vecteurs ainsi construits sont orthogonaux et que wo Wk engendrent le m me sous espace vectoriel que 9 e La seule obstruction possible au proc d est la nullit ventuelle d une des formes quadratiques w Aw qui correspond l existence d un vecteur auto orthogonal pour la forme bilin aire repr sent e par A Introduction d espaces de Krylov Cherchons maintenant obtenir un algorithme partir de la m thode pr c demment expos e Pour cela la matrice B d finissant notre syst me lin aire n tant pas sym trique on prend BTB On se place non pas dans K mais dans le sous espace de Krylov Kry31 associ un vecteur de d part arbitraire v Il s agit du sous espace vectoriel engendr par les it r s de v par la matrice A La base choisie pour le sous espace est donc naturellement v Av A v La suite des vecteurs wy est alors wo v Awo Aw voy Aug AuolAub CR wo Awo k 1 Aw Awk 1
281. rge primes y sont rattach s toutes les relations pf ou fp correspondent une ar te du type 1 Q et ces relations sont nombreuses Cette donn e fait que les cycles ont une probabilit extraordinairement plus importante de faire intervenir le sommet 1 que de l omettre On voit donc qu l inverse de ce qui se passait pour la single large prime variation la consid ration d un mod le uniforme ne suffit pas mettre en vidence le bon comportement de ce mod le deux large primes Dans FKP89 le cas d un graphe al atoire o les ar tes ont des probabilit d apparition gales est examin sous presque tous les aspects possibles Parmi les r sultats obtenus on apprend que le premier cycle dans le graphe appara t partir de n 3 relations Les donn es exp rimentales expos es plus loin montrent que les ph nom nes observ s nous sont de plusieurs ordres de grandeur plus favorables que cela Une valuation du nombre de cycles que l on peut attendre partir de n relations n a jamais t men e exactement Il est g n ralement conjectur que cette progression est au moins cubique mais il s agit essentiellement d une extrapolation exp rimentale Pour d tecter les cycles dans le graphe constitu par les relations partielles on a employ l algorithme classique union find Sed88 Le graphe o les cycles ne sont justement pas sto ck s est vu comme une collection d arbres c est dire une for t On orie
282. rifi e sans modification pour l tape t 1 Les indices 6 correspondant ces colonnes sont inchang s Sur notre repr sentation graphique des coefficients non nuls le processus d limination gaussienne a produit des 0 pour certains coefficients sans autre modification hormis la permutation des fj qui correspond au tri des 6 144 Chapitre 8 Berlekamp Massey matriciel t Pour garder les choses ordonn es on se permet une nouvelle permutation des indices des colonnes de mani re avoir des colonnes nulles pour les n premiers indices de 1 n et les m autres colonnes ensuite L ensemble des op rations effectu es jusqu pr sent le tri et l limination gaussienne rentrent dans le cadre des deux premi res op rations que nous nous sommes autoris es Elles peuvent tre synth tis es ensemble par la multiplication droite par une matrice que l on nomme 7 Cette matrice est un produit de matrices de permutation et de matrices de transvection C est donc une matrice scalaire de d terminant 1 L tape qui suit consiste se d barrasser des colonnes restantes dans la matrice e 0 Ces colonnes sont repr sent es par les losanges sur la figure qui pr c de On sait que la sous matrice de e 0 form e par ces m colonnes est de rang maximal m par construction On fait comme on a d j fait pour Berlekamp Massey scalaire on pousse ces colonnes en multipliant les f correspondants par X c est dire la
283. rocesseur Gr ce notre lanceur en perl on satisfait heureusement cette contrainte 166 Chapitre 9 Alg bre lin aire extr me a constitu l unique utilisation de ce cluster sur la p riode s talant de janvier avril 2002 compte rendu du comit des utilisateurs de l IDRIS du 24 avril 2002 Annexes 167 Annexe A Rappels sur les corps finis Nous rappelons dans ce chapitre les l ments essentiels de la th orie des corps finis dont on a fait implicitement usage dans une bonne partie de ce m moire notamment la premi re partie Ces rappels sont allusifs Pour une pr sentation plus compl te on pourra consulter les ouvrages de r f rence sur le sujet tels que LN83 ou Ber68 A 1 Caract ristique cardinal Les premiers pas de l tablissement de la th orie concernent la d termination des cardinaux possibles des corps finis D finition A 1 Caract ristique On appelle caract ristique d un anneau R l entier c tel que cZ soit le noyau du morphisme de groupes additifs suivant Z R K n letek IR e _ gt gt n fois Si l anneau R est fini c est n cessairement non nul On montre tr s ais ment que si R est int gre c est n cessairement un nombre premier Ces deux remarques s appliquent bien entendu aux corps finis On obtient donc la propri t suivante Proposition A 2 Un corps fini K a pour caract ristique un nombre premier p Il contient p
284. rs A Computational Perspective Springer Verlag 2001 J A Davis et D B HOLRIDGE Factorization using the quadratic sieve algorithm Dans D CHAUM diteur Advances in Cryptology CRYPTO 83 pages 103 113 New York and London 1984 Plenum Press Proc Cryptology Workshop Santa Barbara CA August 22 24 1983 T Denny B Dopson A K LENSTRA et M S MANASSE On the factorization of RSA 120 Dans D R STINSON diteur Advances in Cryptology CRYPTO 93 Lecture Notes in Comput Sci volume 773 pages 166 186 Springer Verlag 1994 Proc 13th Annual International Cryptology Conference Santa Barbara CA USA August 1993 W DIFFIE et M E HELLMAN New directions in cryptography IEEE Trans Inform Theory IT 22 6 644 654 Oct 1976 B Dopson et A K LENSTRA NFS with four large primes an explosive experiment Dans D COPPERSMITH diteur Advances in Cryptology CRYPTO 95 Lecture Notes in Comput Sci volume 963 pages 372 385 Springer Verlag 1995 Proc 15th Annual International Cryptology Conference Santa Barbara CA USA August 27 31 1995 J L DORNSTETTER On the equivalence between Berlekamp s and Euclid s algorithm IEEE Trans Inform Theory IT 33 3 428 431 May 1987 R DUPONT et A ENGE Practical non interactive key distribution based on pairings A paraitre dans Proceedings WCC 03 2003 R DUPONT A ENGE et F MORAIN Building curves with arbitrary mov defree over finite prime
285. rtir duquel on compte obtenir un vecteur du noyau v deg F tant donn par la formule v Da BE Val x Fe Nous souhaitons donner une RE de la complexit faisant ressortir les motivations de l introduction de blocs dans l algorithme Celles ci ont t introduites en 5 3 2 On s int resse donc au nombre d application de la bo te noire matrice x bloc de vecteurs en consid rant le co t de celle ci gal celui du produit matrice x vecteur Implicitement on value donc la complexit parall le de l algorithme lorsque le corps de base est Fp Notons que la complexit en communication de l algorithme est nulle en omettant l initialisation Nous valuons la complexit des tapes BW1 et BW3 lorsque le corps de base est F pour le cas de Fo cette approche doit tre modifi e car on se concentre uniquement ici sur les multiplications Pour cela nous introduisons deux constantes Mo et M d finies comme suit Mo d signe le temps pour multiplier un l ment de F par un coefficient de la matrice qui n est pas n cessairement un l ment al atoire de Fp Mi d signe le temps pour multiplier deux l ments de Fp Souvent les coefficients de la matrice sont petits comme on l a vu en 5 2 1 et 5 2 5 On doit donc consid rer par exemple qu un coefficient de la matrice occupe un seul mot machine c est dire qu il peut tre repr sent par un entier dans l intervalle 2 2 1 Dans ce c
286. s large primes isol s et on r p te cette premi re op ration de filtrage Ensuite on identifie quels sont les large primes qui interviennent dans des cycles et dans une der ni re passe on fabrique effectivement les recombinaisons partir de ces cycles plusieurs passes peuvent tre rajout es au fur et mesure du proc d Cette approche a t employ e dans Cav00 pour la factorisation d un module RSA de 512 bits CDL 00 et dans les travaux qui ont suivi CAB00 Cette approche a l avantage de n effectuer la recherche de cycles par union find que sur un sous ensemble des relations all geant ainsi la consommation en m moire La passe ultime de cette m thode fait donc a priori le travail minimum Cependant le travail de reconstruction des relations ff partir des cycles prend un temps qui est en g n ral contr l par la vitesse des p riph riques de stockage il est comme on l a dit exclu de conserver toutes les relations en m moire centrale Sur ce point particulier il y a peu de raisons de penser que l approche en plusieurs passes apporte un b n fice La m thode que nous avons mise en uvre est la m thode en une passe bien qu il nous soit apparu au fil du temps que les avantages de la seconde approche auraient t assez appr ciables C est bien s r avec une table de hachage que les ar tes du graphe sont stock es 48 Chapitre 3 Techniques pour l algorithme de Coppersmith
287. s 8 5 et 8 6 CONV m m n 1 b m n 26b m m n 3 6 b L quation de co t annonc est donc correcte a En utilisant ce th or me on d duit la complexit du calcul d un g n rateur lin aire vec toriel en fonction du param tre d c amp 9 c a c Si l on souhaite exprimer la complexit en fonction du degr du g n rateur lin aire calcul appelons k ce degr la proposition 8 7 nous donne k d donc une complexit m n m n 3 dlog d O Zim n dlog d n m n 3 c h klog k O m n klogd 8 6 Performance de l algorithme r cursif 8 6 1 Implantation Comme c est souvent le cas avec les algorithmes ayant une structure r cursive il est pr f rable de ne pas descendre r cursivement jusqu aux sous probl mes de taille minimale car l approche r cursive engendre pour ces tailles un surco t relativement important C est le cas de l algorithme que nous avons pr sent En dessous d une certaine valeur du param tre b qui mesure directement la taille de l entr e la performance est meilleure si l on utilise l algorithme ComputePMatrix1 de fa on it rative comme dans l algorithme quadratique d crit en 8 4 Un tel algorithme baptis opportun ment ComputePMatrix_k pour avancer de k tapes partir d un k contexte est r sum par les op rations suivantes le k contexte en entr e est not E e A 156 Chapitre 8 Berlekam
288. s de plus en plus petits mais de plus en plus nombreux La structure de donn e principale ainsi manipul e est donc une liste de polyn mes dont le produit comme l ments de Fon est gal P Cette liste est munie d une hauteur le degr maximal des polyn mes qui la composent et elle a bien entendu sa longueur Si l on sait estimer la difficult d expression du logarithme d un polyn me dans cette liste on peut aussi donner un poids la liste en prenant la somme de ces estimations Au fur et mesure du calcul on veut baisser progressivement la hauteur de la liste Cela implique de remplacer chacun des l ments de la liste par un produit d l ments plus petits Deux facteurs rendent ce calcul dans sa globalit difficile Si l on veut aller trop vite vers les petites tailles alors la probabilit de friabilit est le facteur limitant C est ce qui se passe avec l algorithme d Adleman Si au contraire on descend trop lentement par exemple si la hauteur descend de un en un alors le calcul devient exponentiel puisque la taille de la liste cro t exponentiellement chaque membre de la liste tant remplac par plusieurs membres de taille peine inf rieure Notre objectif est d quilibrer ces deux aspects Une partie du travail fait ici est une pr cision du travail d analyse de la complexit r alis page 32 3 8 3 Premi re d composition l algorithme d Euclide La premi re des trans
289. s deux nuls on reste bien dans le cas g n rique Terminaison Au fur et mesure des tapes de ce proc d si l on note 6 la moyenne des j la diff rence t N cro t elle cro t d i chaque tape Supposons que l on conna t l existence d un g n rateur lin aire de degr lt N en fait ce n est pas exactement le degr qui nous int resse Alors lorsque t 6 gt N il existe un j tel que t 6 gt N et la proposition suivante nous montre que le polyn me fj correspondant est un g n rateur lin aire Th or me 8 1 Soit A K X admettant un g n rateur lin aire inconnu tel que 6 BA lt N Soit F K X GE K X E K X et t un entier tels que AF G XE Sit 06 F G 2 N alors E 0 DEMONSTRATION Il suffit de multiplier l expression AF par On obtient DAF DA F G X OE tant donn e l information disponible sur les degr s on a degBA lt N degF lt d F G lt t N deg A F lt t deg lt N degG lt t N gt deg bG lt t Il s ensuit que E 0 donc E 0 a Par cons quent le pseudo code 8 1 fournit un exemple d implantation de l algorithme de Berlekamp Massey par exemple en langage MAGMA Notons que dans cette implantation on ne consid re que les coefficients constants des s ries e1 et e2 puisque ce sont les grandeurs int ressantes 8 2 Algorithmes classiques 133 Algorithme BerlekampMasseyScalar Entr e
290. s par la formule s k 1 H m 2 a mod n Les param tres pour l algorithme DSA doivent tre choisis avec soin Dans la pr sentation originelle de l algorithme le groupe G est choisi comme tant un sous groupe de cardinal q du groupe F5 On a donc n q qui doit diviser p 1 Les nombres p et q sont choisis de tailles respectives 160 et 1024 bits 1 3 Cryptographie fond e sur l identit Un autre cadre d application des logarithmes discrets est la cryptographie fond e sur l identit Ce concept a t propos l origine par Shamir Sha85 Il consiste utiliser comme clef publique d un intervenant son identit par exemple son adresse de courrier lectronique Dans ce contexte un tiers de confiance PKG pour private key generator est responsable de la certification de l identit d un intervenant Si cet intervenant est Bob c est le tiers de confiance qui fournit Bob sa clef secr te l aide de laquelle il peut d crypter les messages qui lui sont envoy s par Alice Pour envoyer de tels messages Alice a simplement besoin d utiliser l identit de Bob Les applications d un tel sch ma sont multiples De nombreuses propositions d implan tation concr tes ont t propos es depuis sa cr ation MY92 MY96 mais le seul sch ma satisfaisant ce jour est celui propos par Boneh et Franklin BF01 Nous d crivons ce sch ma ainsi qu un protocole de distribution de clef non interactive
291. s pr c demment alors les colonnes w1 w peuvent tre calcul es ind pendamment puisque wz Buy Ainsi n machines distinctes peuvent se partager la t che chacune d entre elles prenant en charge l une des colonnes Un tel sch ma est particuli rement rentable si les produits de blocs de vecteurs peuvent tre enchain s sans globalisation interm diaire des donn es ainsi on n a pas de surco t de communication trop important Nous verrons que ce r sultat est atteint par l algorithme de Wiedemann par blocs mais pas par l algorithme de Lanczos par blocs 5 3 3 L algorithme de Lanczos Nous entamons maintenant la description de quelques algorithmes qui permettent de pro duire un vecteur du noyau de la matrice B Le premier est l algorithme de Lanczos qui est en fait adaptation du proc d d orthogonalisation de Gram Schmidt Cet algorithme provient des m thodes num riques L orthogonalisation de Gram Schmidt Le proc d d orthogonalisation de Gram Schmidt est une m thode constructive pour ob tenir une base de vecteurs orthogonaux relativement une forme bilin aire sym trique non d g n r e donn e Si la forme bilin aire consid r e est d g n r e alors des vecteurs auto orthogonaux sont produits Le proc d est adapt au cas o le corps de base K est R ou C Nous allons l appliquer au cadre des corps finis en soulignant quel moment des probl mes apparaitront Nous supposons dans un p
292. s qui apparaissent dans l algorithme de Coppersmith ont chacun une grande importance Bien plus que leur valeur asymptotique la donn e essentielle pour une implantation de l algorithme passe par une bonne compr hension des tenants et aboutis sants du choix de ces param tres C est dans cette optique que nous passons ici en revue les implications des modifications que l on peut faire sur chacun d entre eux La borne de friabilit b Le param tre b est sans doute le param tre le plus important dans l algorithme il influe sur plusieurs points Tout d abord puisque l on est int ress par la production de relations b friables il est vident que leur probabilit d apparition augmente avec b La contrepartie est double d abord la phase d alg bre lin aire est rendue plus difficile par une valeur plus grande de b Ensuite le nombre de relations obtenir cro t avec b il vaut Ce dernier effet est susceptible de prendre le pas sur la gain que repr sente la probabilit de friabilit accrue car asymptotiquement la valeur choisie de b est telle que ces deux effets s quilibrent Les p nalit s induites par un accroissement de b peuvent donc tre importantes Outre le temps de calcul la phase d alg bre lin aire peut aussi se heurter rapidement des difficult s en termes d espace m moire Les facteurs que l on doit prendre en compte en r sum pour le choix de b sont donc L influence sur W
293. son corollaire on a que Em forme ainsi un 3 contexte Ve eae o f Heads On utilise ce 3 contexte pour calculer r cursivement la matrice me a Par d finition 2b cette matrice est gale la matrice Tr bz 0 on effectuant le produit TLTR soit b b Oe _ TOD gillo On calcule 7 Un exemple d implantation en MAGMA de cet algorithme est donn par le programme 8 4 Cet exemple ne tient pas compte de la possibilit d utiliser la transform e de Fourier 8 5 2 Usage de la transform e de Fourier Deux op rations dans l algorithme pr c dent sont co teuses Il s agit du calcul des produits ery et TTR Ces matrices ont toutes des degr s assez grands proportionnels b Les produits peuvent donc tre calcul s avantageusement en utilisant la transform e de Fourier rapide FFT On rappelle bri vement le mode d op ration de la FFT Un expos plus complet se trouve par exemple dans vzGG99 chap 8 On s int resse la multiplication de deux polyn mes de degr N Pour pouvoir utiliser la FFT dans sa version la plus simple on a besoin de supposer que le corps de base K contienne des racines 24 mes de l unit pour 24 gt 2N Il est possible de se placer dans une extension K au prix de l augmentation du co t des op rations notamment des multiplications L op ration de multiplication s effectue alors en trois tapes Appelons P et Q les deux polyn mes que l on cherche multiplier e
294. ss de l avantage de pouvoir tre distribu e sur un grand nombre de machines Cet aspect a t la source des calculs tr s grande chelle comme les r cents records de factorisation d entiers qui ont t l aboutissement d efforts de calculs communs men s par plusieurs groupes partageant leurs r sultats via le r seau Internet La seconde phase est la r solution du syst me lin aire associ Ce syst me lin aire a la propri t d tre tr s creux son nombre de coefficients non nuls par ligne est tr s faible Des algorithmes sp cialis s pour les syst mes creux peuvent alors tre utilis s mais en comparaison avec la possibilit de distribution quasi infinie de la premi re phase ces algorithmes d alg bre lin aire supportent mal d tre distribu s La derni re phase s il y en a une est un peu plus facile que les deux autres phases Sui vant l algorithme auquel on s int resse en particulier elle peut prendre plusieurs formes comme par exemple le calcul d un facteur lorsque l on parle d algorithmes de factorisa tion ou le calcul d un ou de plusieurs logarithmes individuels pour les algorithmes de calcul de logarithme discret Une bonne partie de ce m moire est consacr e l tude d un algorithme sous exponentiel particulier propos par Coppersmith en 1984 pour r soudre le probl me du logarithme discret dans les groupes multiplicatifs des corps finis de caract ristique 2
295. st tr s exactement Valgorithme de Berlekamp Massey tel qu on l a d crit en 8 2 1 On suit donc le fil de la description qui en a t faite 8 4 1 Sch ma Comme dans le cas de l algorithme de Berlekamp Massey scalaire on travaille par approxi mations successives La diff rence est ici que le nombre de candidats g n rateurs passe de 2 m n chacun de ces candidats g n rateurs fj on associe un second membre gj un terme d erreur ej et un entier 0 Les quantit s trait es sont donc FOX fmin X KEXP M X man X KIX e1 X e min X KI 61 Omtn NU oo X X Ces grandeurs sont regroup es en des matrices dont elles forment les m n colonnes On fabrique ainsi fe Kix g K X er e K X er A NU o0 Pour chacun des f c est dire pour chacune des colonnes des matrices pr c dentes lin dice j est employ au cours de cette description pour d signer une colonne l quation suivante est v rifi e Elle joue le m me r le central que dans le cas scalaire Vi Af gj X e C1 fj gj S 0j Une autre condition va nous donner le lien entre les diff rentes tapes du processus rg e 0 m C2 Comme dans le cas scalaire et dans le but d utiliser de fa on similaire le th or me 8 6 on va chercher loigner l erreur autant que possible au fur et mesure du processus Pour cela on avance de
296. t MAS R9819 Centruum voor Wiskunde en Informatica Amsterdam The Netherlands 1998 Available from http www cwi nl1 S POHLIG et M E HELLMAN An improved algorithm for computing logarithms over GF p and its cryptographic significance IEEE Trans Inform Theory IT 24 106 110 1978 J M POLLARD A Monte Carlo method for factorization BIT 15 331 334 1975 J M POLLARD Monte Carlo methods for index computation mod p Math Comp 32 143 918 924 Jul 1978 J M POLLARD The lattice sieve Dans A K LENSTRA et H W LENSTRA JR diteurs The development of the number field sieve Lecture Notes in Math volume 1554 pages 43 49 Springer Verlag 1993 C POMERANCE Analysis and comparison of some integer factoring algorithms Dans H W LENSTRA JR et R TIJDEMAN diteurs Computational methods in number theory pages 89 140 Mathematisch Centrum Amsterdam 1982 Mathematical Center Tracts 154 155 183 PS92 PVM QD90 Ris72 RSA78 R c99 SA98 S985 SWD96 Sch91 SS71 Sed88 Sem98a Sem98b Sha85 Sha71 Sho90 Sho95 Sho97 C POMERANCE et J W SMITH Reduction of huge sparse matrices over finite fields via created catastrophes Experiment Math 1 2 89 94 1992 PVM parallel virtual machine 1992 Documentation at http www csm ornl gov pvm pvm_home html J J QUISQUATER et J P DELESCAILLE How easy is collision search Application to DES
297. t a t obtenu par Odlyzko Od185 Proposition 2 5 Probabilit de friabilit La probabilit qu un polyn me al atoire de F2 X de degr d soit b friable pour b dans la plage d 100 da di00 est asymptotiquement d 1 0 1 DEMONSTRATION Ce r sultat est une application de la m thode du col FS94 La d mons tration n est pas reprise ici a 26 Chapitre 2 Logarithme discret et cryptanalyse Il est ais en appliquant la propri t pr c dente de voir que la quantit de travail tests de friabilit factorisations n cessaire dans la premi re phase est puisque X mod f se com porte comme un polyn me al atoire lo 2b 1 Wi S ln b log 2b 1 1 0 1 F b b log Tey D 2 b tandis que la deuxi me phase de l algorithme requiert la r solution d un syst me lin aire Nous verrons que les algorithmes d alg bre lin aire creuse d velopp s dans la partie II de ce m moire permettent de r soudre un tel syst me lin aire en temps quadratique en tirant parti de son caract re creux Le travail de la seconde phase est donc lo 9b 1 2 Wo b 22 bj Nous souhaitons obtenir un temps de calcul minimal pour W W2 Ainsi on souhaite mi nimiser le maximum de log W et log W2 Cet optimum nous donnera une expression de b en fonction de n La fonction log W2 est une fonction croissante de b pour n fix La fonc tion log W1 en revanche est d abord d croiss
298. t annuler les coefficients est X Af c est dire e 0 On sait que cette matrice de taille m x m n est de rang m On s autorise les op rations suivantes d finies invariablement sur les colonnes de e 0 e X ot f X Comme ce sont des op rations sur les colonnes elles reviennent toujours la multiplication droite par une certaine matrice carr e changer deux colonnes Ajouter un multiple de la colonne j la colonne j2 pourvu que l on ait j lt 03 Multiplier une colonne par X cette op ration doit tre vue du point de vue polynomial Ces op rations correspondent respectivement la multiplication droite par une matrice de permutation par une matrice de transvection et dans le dernier cas par une matrice diagonale avec des 1 partout et un X pour l un des coefficients Dans les deux premiers cas il s agit de matrices unimodulaires le d terminant vaut 1 et dans le dernier cas le d terminant vaut X Ces op rations sont suffisantes On commence par r ordonner les colonnes par ordre des 6 croissants On fait ensuite une limination gaussienne sur les colonnes de la matrice en additionnant uniquement des colonnes a des colonnes d indice plus lev Cela a pour effet de conserver seulement m colonnes non nulles dans la matrice e 0 puisque le rang de cette matrice est m Pour les indices correspondant aux colonnes que l on a ainsi annul es l quation C1 est maintenant v
299. t arbitraire Q de Fon Pour cela on calcule le produit QX pour m al atoire jusqu ce que l on obtienne un l ment friable En rempla ant les valeurs d sormais connues des log T on d duit log Q 2 3 3 Analyse de l algorithme d Adleman Comme l algorithme d Adleman appara tra comme tant de complexit sous exponentielle on se permet de ne pas prendre en compte les op rations de complexit polynomiale en la taille des entr es On calcule le terme principal du d veloppement asymptotique des complexit s eee j x log An OE qui nous int ressent Nous d finissons la notation comme d signant l quivalence de deux grandeurs sur une chelle logarithmique c est dire Lg Slog f logg amp log f log g o log f Cette notation est adapt e aux grandeurs qui nous int ressent puisque l on montre que si f est super polynomiale en n i e O logn C o log f alors t POLY n implique f a g On montre aussi que toute fonction f dans la classe de complexit Ln a c v rifie l f exp cn log n On peut aussi d finir la fonction L de cette fa on Dans tous les d veloppements que nous ferons pour analyser les algorithmes log d signe le logarithme n p rien et log le logarithme en base 2 Tout d abord un ingr dient essentiel de l analyse est l valuation de la probabilit pour un polyn me d tre b friable Le r sultat asymptotique suivan
300. t commutatif La preuve de ce th or me n est pas reproduite ici On a d sormais un ensemble de conditions n cessaires concernant les corps finis On va montrer maintenant que pour chaque puissance d un nombre premier de la forme g p on peut construire un corps de cardinal q A 2 Construction des corps finis Un corps de cardinal premier tant gal son sous corps premier il s ensuit que tous les corps de cardinal premier p sont isomorphes F Pour construire des corps non premiers on a recours au proc d suivant Proposition A 6 Soit p un nombre premier Soit P un polyn me irr ductible de F X Alors l anneau quotient K F X1 P peut tre muni d une structure de corps commutatif de cardinal pie DEMONSTRATION Nous devons v rifier qu il est possible d inverser les l ments non nuls de K Soit donc A un polyn me non multiple de P Le polyn me P tant irr ductible alors A et P sont premiers entre eux On peut donc crire une relation de B zout entre A et P qui donne deux polyn mes U et V tels que AU PV 1 Alors la classe de U modulo P est un inverse de Pour obtenir le cardinal de K on remarque qu une base de K sur Fp en tant qu espace vectoriel est 1 X X Xdes P 1 On montrera plus loin que tous les corps finis se construisent ainsi isomorphisme pr s et que la structure d un corps d pend en fait uniquement de son cardinal On se permettra alors de faire r f ren
301. t dans l une des deux factorisations de C ou de D soit un dans chacune Les calculs de recherche de relations ont t men s en grande partie sur les machines du laboratoire LIX de la direction des tudes de l cole polytechnique et de PUMS MEDICIS Cet ensemble compe approximativement une centaine de machines dont la machine type est un PC de type pentium II 450MHz Ces machines ont t mises contribution pendant leur temps libre c est dire lorsqu aucun autre processus ne tournait sur ces machines l issue d un temps de calcul de 19000 ann es MIPS environ soit un temps r el d environ une ann e sur une centaine de machines le nombre de relations collect es s levait 61 279 542 en incluant les diff rents types de relations Plus en d tail on avait exactement l issue de ce calcul 221 368 relations ff 6 083 209 relations pf et 61 058 174 relations pp Les relations pf et pp ont ensuite t recombin es pour produire 856 145 cycles par le proc d que l on a expliqu en 3 1 2 En additionnant ces relations recombin es aux relations ff qui taient d j disponibles on a ainsi atteint le total de 1 077 513 relations entre les l ments Pour donner une estimation formul e en des termes plus proches de la r alit 370 000 sous t ches ont t effectu es occupant chacune une heure en moyenne sur un PC 450MHz On a donc effectu comme calcul 370 000 3 600 450 86
302. t le message chiffr form par le couple U V o U rP V m Ady Pour retrouver m partir de U et V Bob peut utiliser sa clef secr te SZ qui lui a t fournie par l autorit PKG En effet m s obtient par V Hi e Sp U m On v rifie ais ment que e Sp U est effectivement gal y Boneh et Franklin d montrent que la s curit de ce cryptosyst me repose sur le probl me suivant tant donn quatre points P sP rP tP calculer e P P on rappelle que le couplage utilis n est pas exactement le couplage de Weil mais une version modifi e garan tissant que cette quantit est diff rente de 1 Ce probl me est une g n ralisation bilin aire du probl me DH not e BDH Deux possibilit s de r soudre ce probl me apparaissent on peut calculer des logarithmes discrets sur la courbe FE ou bien dans Fir pour retrouver individuellement r s et t puis enfin leur produit 1 3 2 Distribution de clef non interactive La cryptographie fond e sur l identit ouvre la voie une version non interactive du protocole d change de clefs de Diffie Hellman en utilisant les couplages Nous d crivons ici le protocole propos par Dupont et Enge DE03 Pour obtenir un secret commun Alice et Bob sans discussion pr alable calculent les quantit s Alice S e Sa H IDp Bob S e Hi IDA SB On constate ais ment que ces deux quantit s sont gales On peut prouver DE03 que comm
303. t nommer f X la sous matrice de taille n x n constitu e des n g n rateurs lin aires vectoriels les f On place cette matrice en haut gauche Le reste de la matrice f est not f X La matrice h s crit donc EE F300 et X e X AOS Comme les colonnes de f X sont des g n rateurs lin aires vectoriels on d duit que et X 0 Ensuite on sait que la matrice e7 X a pour terme constant une matrice de rang m en vertu de la condition C2 La matrice e7 X est donc unimodulaire C est aussi le cas de h X donc f X poss de aussi cette propri t La matrice f X est donc effectivement un g n rateur lin aire matriciel unimodulaire Si l on peut montrer que si tout se passe bien suffisamment de colonnes v rifient 6 lt t d partir d une certaine it ration la composante r ellement int ressante est le moment o cela intervient Dans tous les cas si on laisse t augmenter suffisamment il est certain que n colonnes v rifient cette identit Mais on est h las incapable d obtenir une borne correcte sur le moment o une telle situation est atteinte La meilleure borne que l on peut montrer est s 1 m d Et dans des cas tr s particuliers tr s loign s du cas g n rique cette borne peut tre atteinte C est bien au del de s mtn d qui est l it ration partir de n laquelle on peut garantir que l on dispose d un g n rateur lin aire vectoriel
304. t une assertion plus forte Dans BGL03 ce dernier cas est trait mais il ne correspond pas pr cis ment notre situation 116 Chapitre 6 M thodes utilisant des g n rateurs lin aires Les diff rentes hypoth ses que nous avons faites sont garanties par les analyses r alis es par Kaltofen Kal95 et Villard Vil97 Ces r sultats montrent que l on peut effectivement attendre un r sultat non trivial de l algorithme de Wiedemann par blocs dans les cas suivants Si la caract ristique du corps est grande par rapport N Si la matrice B n est pas trop particuli re On demande par l que la matrice B n ait pas un nombre anormalement lev de valeurs propres avec de fortes multiplicit s Par ailleurs il ressort des preuves de ces r sultats que l introduction de blocs permet en d finitive d augmenter la probabilit de succ s de l algorithme 6 3 6 Complexit de BW Nous donnons maintenant une premi re valuation de la complexit de l algorithme de Wiedemann par blocs Une tude plus approfondie de cette complexit sera men e en 8 7 une fois que nous aurons d velopp les algorithmes permettant le calcul du g n rateur lin aire vectoriel F On distingue trois tapes dans l algorithme de Wiedemann par blocs que l on note BW1 BW2 BW3 BW1 est le calcul de la matrice A So a7 Bly X BW est le calcul du g n rateur lin aire matriciel F BW3 est le calcul du vecteur v pa
305. t w une racine 27 me de l unit pour d 2 log N Par log on note le logarithme en base 2 On parle de FFT d ordre d 8 5 Une version sous quadratique 151 Algorithme ComputePMatrixRec Entr e Un b contexte E e A Sortie La matrice rO if b eq O then return m n end if if b eq 1 then return ComputePMatrix1 lt e gt end if c b div 2 E lt e mod X c A gt Un 8 contexte TL ComputePMatrixRec Er c ER lt e my mod X b div X c A T gt Un 3 contexte rr ComputePMatrixRec ER b c T AL TR return 7 Programme 8 4 Algorithme r cursif pour calculer les matrices 7 On commence par le calcul des transform es de Fourier discr tes DFT de chacune des entr es Chacune de ces op rations n cessite d241 iN log N multiplications La DFT du polyn me P s crit comme le 24 uplet P P 1 P w P w La convolution c est dire le produit terme terme des deux DFTs Pet Q est form e au prix de 24 N multiplications Ce produit terme terme est le 24 uplet PQ P 1 Q P w Q w P w IRU PQ On calcule PQ partir de PQ par une op ration semblable au calcul de la DFT c est une DFT inverse ou IDFT qui n cessite d2 1 amp 5N log N multiplications L op ration IDFT donne une r ponse d finie modulo X2 1 cela tient bien s r au choix de w ce qui explique la contrainte 24 gt 2N Remarques Ce sch
306. te diff renciation des complexit s tient la modification profonde introduite par l utilisation de la transform e de Fourier dans notre algorithme pour multiplier des matrices de polyn mes on parvient d coupler la partie co teuse de la multiplication d une part et la complexit du produit de matrices d autre part puisqu on fait m n calculs de transform es de Fourier discr tes et m n convolutions Il est envisageable d obtenir un apport du m me type par un examen de l algorithme de Beckermann et Labahn Par ailleurs il est tr s vraisemblable que ces deux algorithmes puissent tre compris dans une th orie unifi e au prix de quelques suppositions sur le caract re g n rique de l entr e que nous non ons en 8 3 L algorithme obtenu a t implant et son efficacit en pratique a t d montr e par le calcul d un g n rateur lin aire de taille 4 x 4 et de degr 121 152 le corps de base tant le 1Dans le cadre du projet LINBOX une implantation de l algorithme de Beckermann et Labahn est en cours donc une comparaison est possible moyen terme G Villard communication priv e Janvier 2003 8 2 Algorithmes classiques 131 corps premier Fo607_ Dans une seconde exp rience on a aussi calcul un g n rateur lin aire 8 x 8 de degr 60014 sur le m me corps 8 2 Algorithmes classiques 8 2 1 L algorithme classique de Berlekamp Massey dans le cas scalaire Pour pouvoi
307. tel qu il est d crit ici impraticable pour les petits corps finis en particulier F2 Deux approches peuvent tre employ es pour contrer cette difficult L approche propos e par LO90 consiste travailler sur une extension F en prenant pour la matrice A non pas la matrice BTB mais plut t BT D B o D est une matrice diagonale coefficients al atoires dans Fx La version par blocs pr sent e en 5 3 4 en est une autre plus efficace Par ailleurs comme mentionn dans le paragraphe pr c dent il faut s assurer que l espace de Krylov choisi est tel que B reste singuli re dans ce sous espace Les deux approches que l on vient de citer r solvent aussi cette difficult Complexit Le calcul de la complexit de l algorithme de Lanczos est plut t ais On peut s attendre ce que la dimension de l espace de Krylov consid r s approche de N On compte donc N it rations de l algorithme Le co t de chacune des ces op rations est de deux multiplications de la matrice B par un vecteur Une telle multiplication n cessite yN multiplications sca laires cela doivent s ajouter les co ts des produits scalaires effectu s les co ts ventuels de normalisation et ventuellement les surco ts impliqu s par les pr cautions indiqu es au paragraphe pr c dent Si la valeur de y est de l ordre de quelques dizaines alors les multi plications matrice vecteur repr sentent la composante dominante de la complexit
308. thmes individuels 73 l exposant Ce gain est toutefois faible puisqu il est de l ordre de 3 dans l exposant pour le cas optimal o x 2 0 43 Le gain n est pas visible lorsque q est tr s grand devant b ce qui n arrive pas dans la pratique ni non plus quand q est tr s proche de b Par cons quent les d compositions les plus difficiles sont celles qui consistent passer du degr b 1 au degr b avec une complexit en Ln 4 clog 2 On peut se demander si le choix de 4 bq peut tre am lior En v rit ce n est pas possible puisque si l on remplace ybq par a bq avec a lt 1 alors le terme z x dans l expression de la fonction L devient Ga qui est sup rieur x puisque est croissante Si l on recherche une optimisation du m me type pour a gt 1 alors la contrainte sur a est a lt z car sinon la hauteur de la liste de polyn mes ne baisse pas ce qui implique qu aucun gain ne peut tre obtenu au point limite o x 1 Par cons quent la complication associ e n est sans doute pas n cessaire La taille de l espace de crible consid rer pour chaque pas de refriabilisation est de l ordre de 2 soit peu pr s le cardinal de la base de facteurs La gestion du calcul ne pose donc pas de contraintes trop fortes Chapitre 4 Record de logarithmes discrets F607 Nous exposons rapidement dans ce chapitre de quelle fa on nous sommes parvenus calculer des logarithmes d
309. tinuera utiliser il est quivalent de dire que l on dispose d une telle expression en fonction de N et y le nombre de coefficients tant yN Si l on prend l exemple de la fonction yN qui indique le co t des algorithmes creux en g n ral ce qui nous int resse est en fait un minimum de yN au cours de l volution du processus d limination structur e Une telle approche a t employ e dans WD98 et nous l avons mise en pratique aussi Pour tre exact le minimum qui nous int resse est un minimum global tandis que ce que l on est en mesure d valuer facilement est la pr sence d un minimum local Dans les exp riences qui ont t men es ce point pr cis ne semble pas avoir introduit de diff rence flagrante Pomerance et Smith PS92 y font r f rence en tant que r gle de Markowitz 5 2 Pr conditionnement l limination structur e SGE 91 Il est noter que l on peut faire le choix de traiter la matrice r sultant de l limination structur e par un algorithme dense dont le temps de calcul ne d pend pas de y Dans ce cas le minimum est obtenu pour N minimal ce qui revient dire que l on effectue une limination gaussienne simple Le facteur limitant devient alors celui l m me qui rend les algorithmes denses impraticables pour notre probl me l espace m moire requis pour stocker la matrice En effet en utilisant l limination structur e en tant qu tape pr al
310. tion des approches Lanczos et Wiedemann Nous anticipons ici sur la description que nous allons faire de l algorithme de Wiedemann et de sa version par blocs qui occuperont la partie restante de l expos Il est possible de mettre en vidence une analogie profonde entre les algorithmes de Lanczos et de Wiedemann Cette analogie a t explicit e par Lambert Lam96 en prenant comme point de d part Valgorithme de Lanczos et en d montrant que celui ci pouvait produire comme sous produit le m me diviseur du polyn me minimal que celui calcul dans l algorithme de Wiedemann Dans cette analogie l apparition de vecteurs auto orthogonaux dans l algorithme de Lanc zos est mise en relation directe avec une chute locale de degr dans la suite des restes partiels de l algorithme d Euclide utilis dans l algorithme de Wiedemann Pour qui utilise dans l al gorithme de Berlekamp Massey cette chute de degr correspond un cartement ponctuel des degr s des candidats g n rateurs au cours de l algorithme Ainsi rendre cette analogie compl tement explicite permet d obtenir une description de l algorithme de Lanczos avec lookahead en transposant aussi l effet de ces chutes de degr Nous remarquons de notre point de vue que cette analogie est vidente dans l autre sens l algorithme de Wiedemann n est rien d autre qu un algorithme de Lanczos d pli En effet l algorithme de Wie
311. troisi me des op rations mentionn es plus haut Cela a pour effet de d caler d un coefficient les repr sentations graphiques qui nous servent de support Les coefficients 6 correspondants sont alors incr ment s de 1 Cette tape correspond la multiplication droite par la matrice D diag 1 1 X X o les occurrences de X sont au nombre de m La situation est maintenant t t 1 Nous avons maintenant une situation qui correspond parfaitement ce que l on doit avoir l tape t 1 pour satisfaire la condition C1 Par ailleurs les losanges ont t conserv s sur le dessin Ils repr sentent des colonnes qui mises ensemble ont un rang maximal Il s ensuit que la condition C2 est elle aussi v rifi e la nouvelle matrice e s crivant EH 2 0 0 pl X Cette formulation de la nouvelle valeur de e en fonction de l ancienne ainsi que des matrices 7 et D n est pas sp cifique et s obtient de mani re identique pour les autres grandeurs que sont fj gj et 6 Si l on adopte la notation PY 7 D on vient en fait de fournir une preuve constructive du r sultat suivant La proc dure correspondante est consign e dans le programme 8 3 en langage MAGMA de telle sorte que l on esp re le r sultat compr hensible et relativement complet 8 4 L algorithme propos par Coppersmith 145 Th or me 8 8 Si les conditions C1 et C2 sont v rifi es l tape t il existe un algorithme qui en fonct
312. ts Si G ne v rifie pas cette hypoth se l utilisabilit en cryptographie est compromise En suite la facilit du calcul des puissances s exprime par une complexit au plus polynomiale en la taille des entr es donc logn du calcul correspondant laquelle on veut opposer une complexit exponentielle toujours en logn pour le calcul de logarithmes discrets Si G est un groupe g n rique ne satisfaisant pas d autres hypoth ses que celles que l on vient de mentionner savoir surtout le caract re polynomial du calcul de la loi de groupe on sait d montrer que le calcul de logarithmes discret est exponentiel Sho97 si aucune autre information concernant le groupe n est utilis e Mais la d monstration d une telle propri t ne peut rester valide si le groupe G est instanci par d finition un groupe particulier ne peut pas tre un groupe g n rique Sans rentrer dans le d tail des cryptanalyses que nous tudierons au chapitre 2 il convient bien str de remarquer que tous les groupes propos s ont chacun leurs sp cificit s et sont individuellement sujets des attaques plus ou moins efficaces C est l que l on trouve bien entendu l une des motivations essentielles pour pr f rer un groupe un autre Pour ce qui est du calcul du logarithme discret on juge la qualit d un groupe la complexit du calcul de logarithmes dans ce groupe partant du principe que le calcul de la loi de
313. ture r cursive La pr sentation que nous avons faite de l algorithme de Berlekamp Massey matriciel propos par Coppersmith nous fournit d j toute l ossature d une telle d marche Les notations et donn es sont les m mes dans l algorithme que nous pr sentons Le principe d approximations successives reste valide bien que la notion d tape de l algorithme doive surtout tre comprise comme une r f rence l algorithme it ratif Nous commen ons par mettre en place le r sultat sur l utilit des informations partielles La donn e qui nous importe est la suivante 8 5 Une version sous quadratique 149 D finition 8 9 On appelle k contexte une paire E e X A correspondant une tape de l algorithme comme expliqu en 8 4 1 et o seulement k coefficients de la matrice e X sont connus e est une classe modulo XF Cette notion nous permet de g n raliser ainsi le th or me 8 8 Th or me 8 10 Un k contexte E correspondant l tape t de l algorithme permet de d ter miner de mani re unique les matrices PO lt P tK 1 D MONSTRATION On d montre le r sultat par r currence sur k Pour le cas o k 1 l nonc co ncide avec le th or me 8 8 Dans le cas o k gt 1 on peut utiliser le th or me 8 8 qui nous donne tout le moins la matrice PU On conna t aussi les expressions suivantes EH elt pi L 1 ACH 2 AG PO De ces relations on concl
314. u crit re d velopp pages 35 36 Ensuite nous avons choisi la borne de friabilit que nous avons fix e b 23 La base de facteurs B par cons quent est constitu e de 85 766 150 polyn mes irr ductibles Outre la bonne ad quation de ce choix avec les valuations asymptotiques Cop84 GM93 si l on pousse le d veloppement asymptotique de la valeur optimale de b on obtient 22 5 un point m ritant une attention particuli re ici est la limite de faisabilit en ce qui concerne l alg bre lin aire En effet on n aurait pas pu supporter une valeur sup rieure de b car cela aurait 1Ce syst me lin aire qui est maintenant bien s r la port e des m thodes que nous exposons dans la partie II de ce m moire n a jamais t r solu par la suite D Gordon communication priv e octobre 2000 75 76 Chapitre 4 Record de logarithmes discrets F607 impliqu la gestion d un syst me lin aire deux fois plus gros ce qui apparaissait hors de nos possibilit s Les param tres d4 et dg ont t choisis en cons quence Initialement les premi res mesures que nous avons men es nous ont laiss imaginer que d4 20 et dg 24 suffiraient Mais en fait nous avons d r viser ce choix et prendre plut t d4 21 et dg 28 Le param tre k dont la valeur optimale est re a t choisi gal a 4 Ce param tre est contraint tre une puissance de 2 et pour cette raison la valeur 4 est assez loign e d
315. u travail constant d Evelyne Rayssac qui assume les t ches administratives ainsi qu aux ing nieurs syst me Houy Kuoy et Matthieu Guionnet Je les en remercie chaleu reusement Je remercie les nombreuses personnes avec qui j ai partag mon bureau et aussi de nombreuses r flexions Pierrick Gaudry Guillaume Hanrot Mireille Fouquet Nicolas Giirel Gilles Schaeffer Philippe Baptiste Benjamin Werner Tous ont t leur tour les t moins amus s de l infinie facilit avec laquelle je peux m auto distraire Ils ont eu la sagesse de m encourager rester concentr sur une seule chose la fois je leur en suis tr s reconnaissant Je n oublierai jamais les ann es de ma th se et la joyeuse bande de mes camarades th sards et ex th sards du LIX L ambiance du labo est ainsi toujours rest e la bonne humeur ce qui rend la vie plus facile Pour toutes ces pauses je remercie Pierrick Gaudry Andreas Enge Dominique Rossin Mireille Fouquet Dominique Poulalhon Nicolas G rel J r me Waldisp hl Thomas Houtmann R gis Dupont Dmitri Lebedev Simon Bliudze Je remercie aussi tout particuli rement G rard Guillerm pour s tre r guli rement joint nos d lires vi Remerciements Le LIX a aussi t le lieu de discussions toujours int ressantes avec les visiteurs habitu s comme Guillaume Hanrot ou comme nos voisins du GAGE Eric Schost Anne Fredet et Alexandre Sedoglavic Je les remercie tous pour l
316. ue chose de tr s ais compar la parall lisation sur 256 processeurs ou plus faite dans GM93 par exemple L approche que nous proposons pour la parall lisation est simplissime mais son champ d application ne va pas au del des machines SMP une dizaine de processeurs au maximum 7 2 1 Produit matrice x vecteur r partition sur plusieurs processeurs Nous nous int ressons au travail effectuer sur chacune des machines prenant part au calcul c est dire au produit matrice X vecteur Supposons que le nombre de processeurs disponibles est donn par l entier T La i eme coordonn e w du produit Bv s crit Wi Bi jvj j Bi j 40 Un produit matrice x vecteur parcourt donc toute la matrice B Pour r partir ce travail sur T processeurs on peut choisir de r partir des tranches de la matrice B aux diff rents processeurs soit par lignes soit par colonnes Ces choix sont distincts 122 Chapitre 7 Implantation de BW Processeur p Matrice B Figure 7 1 Segmentation de la matrice B pour la parall lisation Si chaque processeur dispose d un paquet de lignes alors les processeurs lisent concu rentiellement les valeurs des vj au gr des coefficients non nuls et chacun crit sur une partie des coordonn es w qui lui est propre seul le processeur en charge de la ligne modifie la valeur de wy Si chaque processeur dispose d un paquet de colonnes c est l inverse qui se passe la
317. ue A dispose d une des cription en fraction rationnelle gauche c est dire qu il existe deux matrices polynomiales N X et D X de tailles respectives m x n et n x n avec D unimodulaire telles que A DIN Soient maintenant trois matrices polynomiales F X K X G X K X E X K X et un entier t v rifiant AF G XE On a alors t 0 F G gt 6 D N E 0 D MONSTRATION La preuve est une g n ralisation facile de la preuve du th or me 8 1 Il suffit de multiplier le produit AF par la matrice D gauche On obtient alors DAF NF DG X DE En raisonnant sur les degr s comme dans le cas scalaire on obtient deg N lt d deg F lt t d gt deg NF lt t deg D lt d deg G lt t d gt deg DG lt t Il s ensuit que le produit DE est in vitablement nul Comme la matrice D est inversible cela implique la nullit de E E Pour utiliser le th or me 8 6 dans notre exposition nous supposons que la matrice A peut tre crite sous la forme DIN Comme cela est visible dans la preuve du th or me la quantit 0 D N est importante nous allons donc la baptiser d Il est important de noter que le calcul des matrices polynomiales N et D n a pas besoin d tre men Leur seule existence est suffisante On fait une seconde supposition sur les colonnes de la matrice A Nous appelons s le plus petit indice tel que les colonnes des matrices scalaires X A X71
318. ue la formule d inversion de M bius a Adleman 24 algorithme d Euclide tendu 27 134 baby step giant step 20 base de facteurs 24 Beckermann Labahn 130 Berlekamp algorithme de factorisation 68 Berlekamp Massey 131 blocs de vecteurs 93 111 bo te noire 93 borne de friabilit 24 borne de qualification 56 calcul d index 23 code de Gray 54 Coppersmith 28 141 corps premier 169 courrier lectronique 79 crible 53 crible partiel 56 cycles dans les graphes fonctionnels 20 recombinaison de relations 44 d mon 80 165 degr d un g n rateur lin aire 104 d une matrice 104 description en fraction rationnelle 106 distribution 79 119 163 donn es pour Fo6o7 48 double large prime variation 43 limination structur e 88 quations syst matiques 27 espace de crible 29 60 factor base 24 FFS 36 FFT 150 sur les entiers 152 friabilit 24 Index 175 probabilit de 25 tests de 51 function field sieve 36 g n rateur lin aire 103 matriciel 104 vectoriel 104 graphe 43 48 groupe g n rique 19 index calculus 23 Lanczos 94 par blocs 96 large prime bound 42 large prime variation 41 large primes 41 lattice sieving 63 lock 80 logarithme discret 7 matrix generating polynomial 104 middle product 152 minimalit d un g n rateur lin aire 105 MPI 81 mutex 122 NFS 80 Niederreiter 66 pack and pad 153 paquets 60
319. ui ont guid nos choix 7 1 grande chelle distribution du calcul 7 1 1 tape BW1 L algorithme de Wiedemann par blocs se pr te bien a la distribution sur un r seau de machines En effet comme on l a dit lors de la premi re vocation des algorithmes par blocs en 5 3 2 le produit matrice x bloc de vecteurs peut tre effectu sur n machines distinctes si n est la taille du bloc de vecteurs y Cette op ration joue un r le central pour le calcul de la suite de matrices az repr sent e par la s rie L A X D an X o ag xT Bry k 0 L aspect le plus important pour la phase BW1 est qu entre deux op rations v Bwv succes sives aucune communication entre les n machines n est n cessaire Aussi n machines disposant chacune d une copie locale de B et de x ainsi que de la j me colonne de y not e y peuvent effectuer concurentiellement les op rations suivantes v Yj Pour k allant de 0 aL ax 270 v Bu 119 120 Chapitre 7 Implantation de BW Retourner A X i e la j me colonne de A X Cette capacit distribuer un calcul d alg bre lin aire est extr mement difficile at teindre et l algorithme de Wiedemann par blocs est le seul algorithme y parvenir aussi bien l algorithme de Lanczos par blocs n cessite des communications interm diaires l int rieur de la boucle La distribution est toutefois incompl te puisque le calcul de g n
320. un mod le SIMD o chaque processus ou thread est une instance distincte du programme poss dant une pile propre mais partageant les variables globales Le calcul impose des points de synchronisation entre les processeurs Pour obtenir le meilleur niveau de performances possibles ce nombre de points de synchronisation doit tre minimal Le programme 7 2 reproduit de mani re un peu simplifi e l implantation qui a t r alis e La figure 7 3 repr sente de mani re sch matique l organisation du calcul pour l exemple de deux processeurs Quelques pr cisions s imposent Les appels la fonction barrier_wait sont les points de synchronisation des threads Un exemple de programmation d une telle fonction est donn dans But97 en partant des primitives de base de la libraire de threads POSIX les mutexes pour mutually exclusive Comme on l a mentionn la pile et donc toutes les variables locales du programme sont sp cifiques chaque thread En particulier il est absolument capital que l indice de boucle i soit une variable locale La fonction save_dot_products calcule les produits scalaires avec les colonnes du bloc de vecteurs x cet effet on peut supposer que l ensemble du vecteur calcul est n ces saire Toutefois pour rendre le calcul plus efficace on a choisi de prendre pour x un bloc de vecteurs appartenant la base canonique Ainsi le calcul des produits scalaires n est que la lecture d
321. un vecteur de m n entiers Sortie P telle que d finie par 8 8 function ComputePMatrix1 E e E 1 delta E 2 m Nrows e n Ncols e m assert delta eq m n KP CoefficientRing e X KP 1 Tri sorted c 2 c in Sort lt delta i i gt i in 1 mt n P Matrix mtn mtn lt sorted i i KP 1 gt i in 1 mtn e x P limination gaussienne busy false i in 1 m tn for iin 1 m do pivots j j in 1 mtn eli j ne O and not busy j if IsEmpty pivots then continue end if j pivots 1 Remove pivots 1 busy j true for k in pivots do c e i k el i j AddColumn e c j k AddColumn P c j k end for end for Ici on ne retrie pas for j in j j in 1 mtn busy j do MultiplyColumn P X j end for return P end function Programme 8 3 Calcul de PU Il reste conclure la preuve de la proposition 8 7 page 140 On doit montrer que fj gj est inf rieur ou gal la borne annonc e savoir s d Il faut donc examiner 6 et tenter d obtenir la bonne borne sup rieure ne d m n BS are n ssr 2d z 2 24 s Za N 8 4 5 Obtention d une description en fractions rationnelles Tel que nous avons d crit l algorithme le r sultat obtenu est manifestement un g n ra teur lin aire vectoriel On peut attendre un peu mieux que ce simple g n rateur dans le cas 8 4 L algorithme propos par Cop
322. une modification du programme utilis pour l tape BW1 ce qui nous a permis de b n ficier nouveau des fonctionnalit s multiprocesseur des machines Pour acc l rer encore ce calcul nous avons conserv quelques uns des vecteurs B y calcul s lors de la phase BW1 ces vecteurs ont pu tre r utilis s pour calculer des portions de l expression donn e en 6 3 3 pour le vecteur du noyau deg F NN URE re i 0 Pour finir les calculs nous avons eu acc s aux machines du centre de calcul IDRIS a Orsay Plus exactement l installation que nous avons utilis e est un cluster de six machines de type Compaq ES40 quip es de 4 processeurs ev67 833MHz En utilisant ces machines nous avons pu achever le calcul en six jours 9 5 Obstacles rencontr s technique et sociologie 9 5 1 Mise en place d un calcul d alg bre lin aire parall le et distribu Pour la r solution de syst mes lin aires par l algorithme de Wiedemann par blocs on a utilis une approche partiellement distribu e En comparaison avec la distribution grande chelle que nous avons d effectuer pour la recherche de relations l approche ici tait plus simple par deux aspects Tout d abord le nombre d esclaves g rer est beaucoup plus faible au maximum on a utilis huit machines simultan ment et surtout ces machines n entre tiennent aucune communication une fois pass le stade d initialisation Nous avons pr sent au chapit
323. ur la r partition on maintient listes de lignes Ensuite on ins re une une les lignes de la matrice en prenant toujours la ligne de poids maximal dans la matrice pour l ajouter dans celle des listes dont le poids global est le plus faible On concat ne enfin nos listes pour constituer la permutation des lignes appliquer Une m thode plus simple d quilibrage que l on peut appeler quilibrage du pauvre est l quilibrage par saturation Sur une machine avec 4 processeurs si on lance 16 threads on peut esp rer ne pas avoir trop d cart entre les temps de calculs des diff rents processeurs Cette fa on d quilibrer les calculs est mauvaise car elle impose une pression nettement plus importante sur le syst me et ses r sultats sont tr s m diocres par rapport la m thode pr c demment cit e 7 2 5 Portabilit performance Les threads POSIX constituent une interface raisonnablement stable pour une interaction avec le syst me d exploitation qui est in vitablement complexe Le programme r alis fonc tionne sans modification sur les systemes Linux et Tru64 Unix La documentation pr cise des diff rents comportements attendre s est av r e tr s utile Toutefois arriver au pro gramme 7 2 qui marche correctement en utilisant seulement un point de synchronisation par it ration n a pas t facile KL99 utilise deux points de synchronisation par it ration par exemple ILa
324. ure de groupes de classes de corps quadratiques Il s ap plique tr s ais ment au cadre du logarithme discret L algorithme fonctionne comme suit pour calculer le logarithme en base g de l l ment x G 1 Soit m yn 2 Soit a r g pour i 0 m 3 Pour j 0 m si Fi a gf retourner mi j Si le groupe G v rifie les hypoth ses nonc es plus haut alors le tableau des a occupe une place m moire en O n logn et le test d appartenance peut y tre effectu par hachage La complexit en temps de l algorithme est donc O yn log n Pollard rho L algorithme connu sous le nom de Pollard rho Pol75 Pol78 est la fois une m thode de factorisation obtenant un facteur p de N en temps p donc adapt e pour trouver de petits facteurs et une m thode de calcul de logarithme discret Nous adoptons ici une description adapt e au contexte du logarithme discret Supposons comme pr c demment que le groupe G v rifie les hypoth ses donn es au d but de ce chapitre Notons que l existence de l algorithme de Pohlig Hellman vu en 2 1 nous permet de nous concentrer sur le cas o le cardinal n de G est un nombre premier ou tout du moins suppos l tre Donnons nous une fonction al atoire f de G dans G qui rende possible le suivi du logarithme discret Plus exactement on souhaite appliquer la fonction f des l ments de la forme x q pour obtenir une criture de la forme
325. urit donn En effet on ne souhaite pas grossir les param tres du syst me sans fondement Le d ploiement de cryptosyst mes fond s sur l identit requiert une valuation pr cise des niveaux de difficult des calculs de logarithmes discrets dans les corps finis Bien qu il soit possible de s affranchir de la limite k 6 en proposant des courbes non supersin guli res avec un param tre k choisi DEM03 cette valuation de difficult reste de premi re importance Chapitre 2 Logarithme discret et cryptanalyse 2 1 L algorithme de Pohlig Hellman Dans un groupe cyclique fini G de cardinal n le probl me du logarithme discret revient expliciter l isomorphisme entre G et le groupe Z nZ Si l entier n se factorise sous la forme m n II oa on sait qu on a l isomorphisme de groupes additifs suivants i 1 Z nz SZZ e Zp Z L algorithme de Pohlig et Hellman PH78 permet d exploiter cette d composition pour le calcul de logarithmes discrets On commence par remonter sur G la d composition de Z nZ que l on vient de citer Cela fait l objet de l nonc suivant m Proposition 2 1 Soit G un groupe cyclique de cardinal n engendr par un l ment i 1 g not G g et not multiplicativement Soit j 1 m Soit ki n Fe kj 1 _ n ny lie DS nj p E ij Pj J Soit gj V l ment d fini par gj g Le sous groupe G g de G est isomorphe Zjp Z kj 1 En outre
326. use of Coppersmith s algorithm for computing discrete logarithms in finite fields of characteristic two We brought several improvements to this algorithm which made the record computation feasible The relevance of such a computation extends beyond the realm of finite fields because of the existence of the MOV reduction on the one hand and the recently introduced identity based cryptography on the other hand The second part of this work addresses the classical problem of solving large sparse linear systems over finite fields using the full power of existing algorithms and hardware in order to solve the largest possible linear systems Specifically we show how the block Wiedemann algorithm can be substantially improved in order to become very competitive for solving large sparse linear systems over Fp Practical considerations on the achievement of the computations implied by this work are also discussed These computations involved large resources and required an important management work on the human side Driving such tasks also yields some observations Laboratoire d informatique cole polytechnique 91128 Palaiseau Cedex FRANCE T l 33 0 1 69 33 40 73 Fax 33 0 1 69 33 30 14 http www lix polytechnique fr
327. ut ais ment que e AC forme un k 1 contexte Par application de l hypoth se de r currence le r sultat voulu se d duit a Ce r sultat occupe une place centrale dans l algorithme que l on d crit Il permet en particulier de justifier la notation suivante D finition 8 11 Soit E un k contexte k est un entier positif Supposons que E corresponde a l tape t de l algorithme Soient a et b deux entiers tels que 0 lt a lt b k On note no la matrice polynomiale de taille m n x m n d finie par iar pa p t b 1 Dans le cas o a b la matrice ro est l identit Cette d finition nous permet d noncer la proposition suivante qui est un corollaire im m diat du th or me 8 10 Corollaire 8 12 Soit t une tape de l algorithme Soient f gO e AO et h les donn es correspondantes et E e AO un k contexte associ pour un entier k gt 0 On a tk _ 070 1 ik i fk fOO gt GOR TRO Xk E g E el t k _ a t 0 4 t k _ p k t 0 k AHD AO AON AH DEO Notre examen du fonctionnement de l algorithme quadratique pr sent en 8 4 montre que cet algorithme est centr sur le calcul d une quantit principale la matrice m4789 B Cette matrice est bien d finie car on peut faire ais ment de E un L s contexte il suffit de calculer Nous montrons pourquoi c est cette quantit qui est importante Par d finition de la matrice 7 et par
328. valeur propre 0 et F un suppl mentaire de E dans KN stable par B Comme y 0 0 l endomor phisme p B est nul sur F et inversible sur E Il s ensuit que w B x 0 si et seulement si x F La dimension de E tant mo on a la probabilit annonc e Soit maintenant un x tel que y p B x 0 On sait que B ly 0 Donc il existe un entier j 0 k tel que Bly 4 0 et Bitly 0 Le vecteur BJy est donc un vecteur non nul de Ker B a L algorithme de Wiedemann utilise cette derni re propri t d abord en calculant u ou plus exactement un diviseur de u souvent gal u lui m me puis en d duisant un vecteur de Ker B On s int resse au sous espace vectoriel des it r s par B d un vecteur al atoire y appel sous espace de Krylov Kry31 Ce sous espace est un sous espace stable par B Il est donc possible de d finir le polyn me minimal de B sur ce sous espace On le note uy Ce polyn me est aussi en accord avec la d finition 6 6 le polyn me minimal de la suite des By C est a priori un diviseur de u La proposition 6 8 nous indique qu avec probabilit 1 1 q on a X fy Cela nous laisse entrevoir la possibilit de calculer uy par le biais d un calcul de g n rateur lin aire Mais pour rendre ce calcul faisable efficacement on est amen consid rer non pas une suite de vecteurs mais la suite constitu e des scalaires ap xT Bry o x est un second vecteur al atoire Ces coe
329. ve ne perde pas son temps avant la r ception de ce nouveau num ro le sch ma pr voit qu un esclave soit en charge de plusieurs paquets simultan ment de sorte qu il puisse toujours d terminer quel paquet cribler Courrier lectronique La premi re approche envisag e a t l usage du courrier lectronique comme moyen de communication entre le ma tre et les esclaves Cette approche a d j t employ e au moins en partie par Lenstra et Manasse LM90 pour factoriser des nombres de 100 chiffres avec le crible quadratique Nous avons donc commenc par envisager un sch ma o le serveur de courrier lectronique du laboratoire LIX sert de maitre pour le calcul et recoit les courriers lectro gt Nous verrons dans la partie II que l alg bre lin aire ne se distribue pas autant que la recherche de relations Aussi sans avoir exp riment la crossbar d un site de calcul il est difficile de donner une estimation de temps de calcul a priori 80 Chapitre 4 Record de logarithmes discrets F 5607 niques en provenance des esclaves nous avons utilis pour cela le programme procmail En r ponse aux courriers des esclaves le ma tre doit leur renvoyer des informations Un probl me inh rent cette m thode est que l envoi d information vers les esclaves a peu de chance de pouvoir tre r alis par courrier lectronique puisque chaque machine n est pas un serveur de courrier lectronique Pour r soudre
330. vent sous la forme C Q x i pelle i o Q est un facteur irr ductible tel que b lt deg Q lt 2b 1 Le principe de la large prime variation est d essayer d utiliser ces relations partielles plut t que de les consid rer inutiles 41 42 Chapitre 3 Techniques pour l algorithme de Coppersmith L int r t de la m thode pr sente deux facettes D abord pratiquement aucun surco t n est impos par la consid ration des relations partielles En effet sans rentrer dans le d tail de la fa on dont les paires A B sont analys es c est l objet du reste de ce chapitre on peut partir de l id e que les facteurs de degr lt b sont extraits un par un ou degr par degr Avant de pouvoir dire si une relation est friable ou non on fait le travail qui consiste calculer exactement le cofacteur sans facteur de degr lt b ou ventuellement le degr de ce cofacteur Un tel cofacteur si son degr est dans b 1 2b 1 est in vitablement irr ductible On peut donc consid rer que le traitement des relations partielles n occasionne pas de surco t Pour pr ciser cette assertion on indiquera pour les diff rentes techniques de recherche de relations expos es dans ce chapitre comment d tecter un possible cofacteur de degr born par large prime bound o L lt 2b 1 Par ailleurs les relations partielles sont rendues utiles par recombinaison Deux relations partielles faisant interven
331. vient d voquer qui ont constitu autant d embuches pour nos premiers essais de calcul distribu de logarithmes discrets on a choisi pour le calcul 54 There are many infelicities in the protocol underlying NFS peut on lire dans plusieurs pages de manuel dont open 2 sur les distributions Linux C est tr s vrai 4 8 Technique et sociologie 81 sur Fo or de partir sur une base plus saine constitu e d un serveur autonome On a ainsi programm en perl un d mon simple tout de m me 500 lignes de programme coutant les connexions r seau sur un port bien d termin Ce d mon assume la t che de maintenance de la liste des paquets distribuer Contrairement la plupart des d mons il ne r pond pas aux requ tes de mani re asynchrone mais synchrone Cela a l avantage d conduire la plupart des probl mes de lock concernant le serveur C est par ailleurs la bonne approche adopter tant donn e la trivialit des op rations effectuer lire ou crire une ligne dans un fichier Le programme g re aussi l historique du calcul en maintenant d une part une liste des paquets dont le r sultat a t calcul jusqu au bout parce que l esclave a r ussi informer le ma tre de l ach vement de sa t che et surtout d autre part une liste des paquets sortis distribu s des esclaves De cette fa on il est possible de ne pas perdre trop de paquets dans la nature le serveur consi
332. x vecteurs de norme avoisinant 22482 constitueraient donc une base bien meilleure L algorithme classique de r duction de r seaux de Gauss en dimension deux permet de r soudre ce probl me Son adaptation au cas polynomial est ais e On la trouve par exemple dans JL02 Le pseudo code 3 10 illustre le proc d et donne l id e d une implantation possible en langage MAGMA En produisant une base courte avec l algorithme du programme 3 10 on obtient en moyen ne deux vecteurs dont les entr es sont chacune de degr 5 deg Q o est de l ordre de 1 Il en r sulte que les vecteurs de F2 X c est dire les paires A B de la forme au Gv pour a et B deux polyn mes de degr lt d deg Q correspondent des vecteurs et B de de degr lt d Les diff rentes paires A B de degr d sont obtenues partir d un espace de polyn mes a 3 de cardinal 224 2 de8 ce qui est optimal e pr s 3 7 Strat gies de factorisation des relations 3 7 1 Particularit s du probl me pos La premi re tape consiste s lectionner les relations qui ont de bonnes chances d tre friables en employant par exemple les techniques de crible d crites plus haut Une fois ce premier tri effectu il reste factoriser les polyn mes ainsi s lectionn s Pour cette tape il convient de savoir quelle est la quantit d information disponible lorsque l on doit ainsi factoriser une paire de polyn mes
333. y sont associ s Le domaine se partage en deux branches la cryptographie et la cryptanalyse La premi re a pour objectif de b tir des syst mes et de prouver leur s curit le cryptographe souhaite mener la vie dure un espion potentiel en ne lui laissant pas d autre choix qu un travail exponentiel pour d couvrir les donn es secr tes Ainsi intervient la th orie de la complexit qui permet de donner une formalisation de la difficult d un probl me La cryptanalyse est au contraire l art de montrer dans quelles situa tions les probl mes que l on croit difficiles ne le sont pas v ritablement ou plus exactement ne sont pas aussi difficiles que ce que le cryptographe souhaiterait Pour cela le travail du cryptanalyste consiste en bonne partie d velopper des outils algorithmiques nouveaux La cryptologie moteur pour la th orie des nombres Pour mettre en place des algorithmes de cryptanalyse performants la cryptanalyse a logiquement utilis la th orie algorithmique des nombres et l a aliment e de nouvelles nergies C est ainsi que le probl me de la factorisation des entiers a fait des progr s consid rables la fois sur le plan pratique un temps de calcul important y a t consacr et th orique Le crible alg brique LL93 qui est ce jour l algorithme de factorisation le plus performant a t l aboutissement puis l objet de nombreux travaux ayant une forte motivation cryptologique La th

Download Pdf Manuals

image

Related Search

Related Contents

Software Development trial exam answer book 2007  HLC IPDRV Installation and User Manual Issue 3  土木ISOジャーナルVol.24 (2013.3) - 委員会サイト  Opmaak 1  Infrarot-Fernbedienung Télécommande à - Migros  取扱説明書 - スイデン  True Manufacturing Company GDM-26 User's Manual  施工手順 各部の寸法  Instructions spécifiques pour remplir le formulaire de  

Copyright © All rights reserved.
Failed to retrieve file