Vous êtes sur la page 1sur 13

Introduction au domaine de recherche

Cyril Bouvier 3 novembre 2011

Table des matires


1 Introduction au domaine de recherche 1.1 Dnitions . . . . . . . . . . . . . . . . . . . 1.1.1 Complexit . . . . . . . . . . . . . . 1.1.2 Notation L . . . . . . . . . . . . . . 1.1.3 Friabilit . . . . . . . . . . . . . . . 1.2 Algorithmes de factorisation . . . . . . . . . 1.2.1 Lalgorithme p 1 . . . . . . . . . . 1.2.2 ECM, la factorisation via les courbes 1.2.3 Congruences de carrs . . . . . . . . 1.2.4 Quel algorithme utiliser ? . . . . . . 1.3 Conclusion . . . . . . . . . . . . . . . . . . 2 2 2 3 3 4 4 5 7 9 10

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . elliptiques . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

Chapitre 1

Introduction au domaine de recherche Factorisation : algorithmes et implmentations.


Introduction
La factorisation dentier est un problme fondamental en algorithmique arithmtique : la scurit de lalgorithme RSA [22] utilis dans les cartes bancaires actuelles est base sur la dicult de factoriser un entier produit de deux nombres premiers de mme taille. Mesurer la dicult de ce problme avec les meilleurs algorithmes connus et les architectures actuelles permet donc destimer la scurit obtenue en fonction des tailles de cls utilises. Dans une premire partie, on denira des notions souvent utilises en thorie algorithmiques des nombres, ensuite dans une seconde partie on prsentera quelques algorithmes de factorisation et lon soulvera les problmes dimplmentations qui y sont lis. Dans toute la suite, N dsignera un entier que lon cherche factoriser.

1.1
1.1.1

Dnitions
Complexit

Pour pouvoir comparer deux algorithmes indpendamment de leurs implmentations, on utilise la notion de complexit. La complexit dun algorithme est dnie comme le nombre doprations lmentaires ncessaires pour rsoudre le problme pos. Le nombre exactes doprations lmentaires est rarement calculable alors ce que lon tudie est lvolution de la complexit en fonction de

la taille des donnes dentre de lalgortihme. Pour les algorithmes de factorisation, on exprimera la complexit en fonction de N (lentier que lon veut factoriser) ou du plus petit facteur premier de N (que lon note souvent p). Par exemple, lalgorithme de factorisation naf (appel trial division ) qui consiste diviser par tous les premiers infrieurs la racine de N une complexit en O(p) (et donc O( N ) dans le pire cas), si lon compte les divisions comme des oprations lementaires.

1.1.2

Notation L

Pour simplier les notations, on utilise souvent la fonction suivante pour exprimer la complexit des algorithmes de factorisation. Dnition 1.1.1. On dnit, pour toute constante c positive et pour tout [0, 1] la fonction (en la variable x) suivante : Lx (, c) = e((c+o(1))(ln x)

(ln ln x)1 )

Remarque 1.1.2. Remarquons dabord les deux cas particulier : = 0 : Lx (0, c) = e((c+o(1)) ln ln x) = (ln x)(c+o(1)) . = 1 : Lx (1, c) = e((c+o(1)) ln x) = x(c+o(1)) . La valeur de permet de classer les algorithmes ayant un complexit en LN (, c). Dans le cas de = 0 on parle de complexit polynomiale, pour = 1 on parle de complexit exponentielle et pour 0 < < 1 on parle de complexit sous-exponentielle. Dans la suite on utilisera cette notation pour exprimer la complexit des algorithmes en fonction de N ou p. Par exemple, lalgorithme de factorisation naf une complexit exponentielle (LN (1/2, 1) = O( N )) tandis que tous les algorithmes qui seront prsents dans la partie suivante ont un complexit sousexponentielle. Il nexiste ce jour aucun algorithme de factorisation ayant une complexit polynomiale.

1.1.3

Friabilit

La notion de friabilit est une notion importante en factorisation, elle mesure, en un certain sens, la dicult dun nombre tre factoris. Dnition 1.1.3. Soit x, y N. Lentier x est dit y -friable (ou y -lisse) si pour tout premier p divisant x alors p est infrieur y . Lentier x est dit y -superfriable si pour tout premier p et pour tout entier e tels que pe divise x alors pe est infrieur y . Exemple 1.1.4. Lentier 424242 = 2 32 72 13 37 est 37-friable mais pas 37-superfriable. Le thorme de Caneld, Erds et Pomerance [6] donne une estimation asymptoptique du nombre dentier friable. 3

Thorme 1.1.5. On pose (x, y ) = #{n x, n est y-friable}. En notant u = ln x/ ln y , (x, y ) = xuu(1+o(1)) , uniformment pour x si (ln x) < u < (ln x)1 pour un x dans ]0, 1[.

Un corollaire utile pour lanalyse de complexit des algorithmes de factorisation est quun entier alatoire de taille Lx (, c) est Lx (, c )-friable avec c ( )). probabilit environ Lx ( , c

1.2

Algorithmes de factorisation

On va, dans cette partie, dcrire trois algorithmes de factorisations et soulever les problmes qui peuvent apparatre lors de leurs implmentations.

1.2.1

Lalgorithme p 1

Le premier algorithme que lon tudiera est lalgorithme p 1, propos par Pollard en 1974 [19]. Description de lalgorithme : Choisir tout dabord un entier B . Cet entier sert contrler la quantit de calcul que lon est prt faire. On pose s=
B premier

log(B )/ log( )

Choisir ensuite un entier a au hasard dans [1, N 1]. On suppose que a est premier avec N (si ce nest pas le cas le pgcd de a avec N donne un facteur non trivial de N et on peut donc sarrter l). On espre trouver un facteur en calculant : pgcd((as mod N ) 1, N ). Lalgorithme retournera un facteur de N dirent de 1 sil existe un premier p divisant N tel que p 1 est B-superfriable. En eet, soit p un facteur de N . Comme a est premier avec N , (a mod p) est non nul, donc (a mod p) est dordre p 1 dans Z/pZ . Donc si p 1 est B-superfriable, ce qui signie que s est un multiple de p 1, alors as 1 (mod p). Cest--dire que p divisera (as mod N ) 1. Lalgorithme retourne donc le produit de tous les premiers p divisant N tels que p 1 est B-superfriable. La complexit de lalgorithme en fonction de B est en O(B log B (log N )2 ). Le choix de la borne B est le rsultat dun compromis : plus B est grand, plus on a de chance de trouver un facteur mais plus les calculs sont longs. Le corollaire du thorme 1.1.5 permet de quantier ce compromis. Pour trouver un facteur p de N , il faut choisir B = Lp (1/2, 1/ 2), pour une probabilit de russite en 4

Lp (1/2, 22 ) et une complexit en Lp (1/2, 1/ 2). On choisit donc la borne B en fonction de la taille des facteurs que lon souhaite trouver. La complexit de lalgorithme dpend donc de la taille du plus petit facteur de N .

Remarques 1.2.1. Les nombres N et s pouvant tre trs grands (plusieurs centaines de chires pour N , plusieurs millions pour s) il est ncessaire dimplmenter ecacemment le calcul de as mod N . Ce problme est connu sous le nom dexponentiation modulaire [13, chap. 4] [4, chap. 2.6]. La valeur de B ne pouvant pas tre inniment augmente car le temps de calcul deviendrait trop long (en pratique pas plus de B = 1010 ), lalgorithme peut se rvler inecace. Soit N est tel que lalgorithme va trouver des facteurs, soit, pour la valeur de B que lon est prt essayer (i.e. le temps que lon est prt dpenser), lalgorithme ne trouvera pas de facteurs. Pour augmenter la probabilit de russite de lalgorithme, on eectue souvent une tape de calcul supplmentaire, appele tape 2. Pour une description de ltape 2 voir [14, Chap. 2]. On choisit pour cela un entier B2 suprieur B . Cet ajout permet de rcuprer tous les facteurs premiers p tels que leur plus grand facteur permier est compris entre B et B2 et tel que p/ est B -superfriable. Ltape 2 est souvent ngligeable en terme de temps dexcution mais peut exiger normment de mmoire. Elle ne change pas la complexit de lalgorithme mais augmente la probabilit de trouver un facteur de N . En 1982, H. C. Williams proposa un algorithme, appel p + 1, qui permet de trouver un facteur p de N si p +1 est B -superfriable [25]. Cela a ensuite t gnralis en 1989 [1] tous les polynmes cyclotomiques en p (p 1, p + 1, p2 + p + 1, ...).

1.2.2

ECM, la factorisation via les courbes elliptiques

Lalgorithme ECM (Elliptic Curve Method ), propos par H. Lenstra en 1987 [11], utilise les proprits des courbes elliptiques sur les corps nis pour factoriser des entiers. Lalgorithme ECM repose sur les mmes ides que lalgorithme p 1 o lon remplace les groupe (Z/N Z) et (Z/pZ) par des groupes de courbes elliptiques sur les corps nis. Une courbe elliptique est la donne dune courbe algbrique projective lisse de genre 1 et dun point O sur cette courbe. En caractristique dirente de 2 et 3, toute courbe elliptique peut se voir comme lensemble des couple (x, y ) vriant une quation de la forme y 2 = x3 + ax2 + b3 , appele forme de Weierstrass, auquelle on ajoute un point a linni O. On peut munir toute courbe elliptique dune loi de groupe commutative dlment neutre O. Cette loi de groupe sexprime de faon rationelle (donc calculable) en fonction des coordonnes des points sur la courbe. Cette loi de groupe a aussi une interprtation gomtrique trs simple (appele mthode des tangentes et des scantes), comme illustr dans la gure 1.1.

E : y 2 = x3 3x + 1

P P +Q

Figure 1.1 Interprtation gomtrique de la loi de groupe sur une courbe elliptique. Description de lalgorithme : Choisir une courbe elliptique E sur Q dlment neutre OE . Soit P un point de E qui nest pas un point de torsion. On suppose que la courbe a bonne rduction modulo tous les premiers p divisant N (cela se vrie laide de calculs de pgcd), sinon on en choisit une autre. Cela signie que vu modulo p, la courbe est encore une courbe elliptique. Choisir un entier B . On pose, comme lors de lalgorithme p 1, s=
B premier

log(B )/ log( )

Calculer le point (x, y ) := [s]P (= P + + P rpt s fois) en eectuant tous les calculs intermdiaires modulo N . Cela revient ne plus voir la courbe sur Q mais sur Z/N Z. La seule opration qui nexiste pas toujours dans Z/N Z est linverse. Mais un lment non inversible de Z/N Z est un lment qui nest pas premier avec N , il fournit donc un facteur de N dirent de 1. Si le calcul termine ou si lon tombe sur le point linni de la courbe modulo N , on recommence le calcul avec une autre courbe. Exemple 1.2.2. ECM sur un petit exemple. On prend, pour cet exemple, N = 4453. On considre la courbe donne par y 2 = x3 + 3x, avec comme point initial P = (1, 2). On choisit B = 3, on a donc s = 6. En eectuant les calculs modulo N , on obtient P = (1, 2), 3P = (1003, 610) et une erreur lors du calcul de 6P . En eet sur Q, 6P = 424317173273 ( 51825601 16208676 , 65256129576 ). Comme pgcd(16208676, 4453) = 61, le calcul modulo N ne peut aboutir mais on a obtenu un facteur de N . On trouve donc N = 4453 = 61 73. Lalgorithme retournera tous les facteurs p tels que lordre du groupe form par la courbe modulo p est B -superfriable. 6

Comme pour p 1, il y a un compromis pour le choix de B entre le temps de calcul et la probabilit de russite. Le temps dexcution dECM pour trouver un facteur p dun nombre N est Lp (1/2, 2) (on obtient ce rsultat en combinant le thorme dHasse-Weil sur les cardinaux des courbes elliptiques sur les corps nis et le corollaire du thorme 1.1.5) Lalgorithme ECM est plus ecace que lalgorithme p 1 car on peut essayer plusieurs courbes avec des cardinaux dirents (pour la mthode p 1 le cardinal du groupe est toujours p 1). Il est mme plus avantageux de faire le calcul sur plusieurs courbes avec un petit B que daugmenter la valeur de B sur la mme courbe. Il existe plusieurs similitudes avec p 1 (et mme p + 1). On peut en effet dcrire tous ces algorithmes avec des groupes abstraits vriant certaines proprits. Ils partagent donc certaines amliorations (ltape 2, ...). Remarques 1.2.3. Il existe plusieurs forme sous laquelle une mme courbe elliptique peut scrire (Weierstrass, Montgomery [16], Edwards [9, 2] , ...). Il faut bien choisir la forme sous laquelle on reprsente la courbe car elle inue sur la rapidit de la loi de groupe. Comment gnrer des courbes o lon connaisse un point de la courbe ? En eet trouver un point sur une courbe elliptique alatoire revient trouver une racine carre modulo N ce qui est quivalent factoriser N ... Il existe des familles de courbes (donne avec un point) paramtriser par les nombres rationnelles (paramtrisation de Montgomery [16], de Suyama [24], ...). Comment calculer ecacement la multiplication scalaire sur la courbe (cest--dire [s]P ) ? Le problme est similaire au problme dexponentiation modulaire rencontr dans p 1 mais la loi de groupe plus complique oblige une tude plus importante pour favoriser certaines oprations plus faciles (comme un carr par rapport une multiplication). Il existe direntes mthodes (Montgomery Ladder [16], PRAC [17], NAF [10, p. 98], ...) plus ou moins adaptes aux direntes formes de courbes. Si une forme de courbes a une loi de groupe qui permet deectuer des doublements ou des triplements ecacemment, il faut utiliser une mthode qui en tire prot. Il existe un grand nombre dimplmentations de cette algorithme sur plusieurs architecture : processeurs classiques [8], cartes graphiques (plus de dtail dans le rapport de stage de Master 2 en annexe ??), Playstation 3 [3]... Chaque nouvelle architecture soulve de nouveaux problmes dimplmentation

1.2.3

Congruences de carrs

La congruences de carrs est plus une mthode gnrale quun algorithme particulier. Elle a donn lieu plusieurs algorithme, dont un seul sera prsent dans cette partie : lalgorithme de Dixon. Lide principale remonte Fermat : il sut dcrire N comme une dirence

de deux carres. Par exemple 8051 = 8100 49 = 902 72 = 83 97. De plus 1 2 lidentit ab = ( 2 (a+b))2 ( 1 2 (a b)) nous montre que cette mthode fonctionne pour tous les nombres impairs. Elle fonctionne bien si N = ab est tel que a et b sont proche de la racine de N . Sinon la recherche exhaustive de la dirence de carr devient trop longue. Dans les annes 1920, Kraitchik remarqua quil susait de trouver deux entiers u et v tels que u2 v 2 0 (mod N ), en esprant que lon nait pas u v (mod N ). Pour un N impair divisible par au moins deux premiers, on a u v (mod N ) dans plus de la moiti des cas. Un facteur non trivial peut alors tre trouv en calculant pgcd(u v, N ). Kraitchik remarqua aussi que si t2 et s2 ne sont pas des carrs modulo N , on peut les multiplier et esprer que leur produit soit un carr modulo N . Cest ce quon appelle la combinaison de congruence. Toutes ces ides ont t formalises par Dixon dans lalgorithme quil a propos en 1981 [7]. Description de lalgorithme : Choisir un entier B . On note P := {p premier, p < B } et k le nombre de premiers infrieurs B (cest--dire le cardinal de P ). Pour x pris alatoirement dans [ N , N 1], calculer y = x2 mod N . Si y est B -friable, on garde le couple (x, y ), appel relation. On appelle R lensemble des relations et m son cardinal. On rpte ltape prcedente jusqu avoir m > k . Pour 1 i m on note (xi , yi ) la i-ime relation et on dnit vi,p par vi,p x2 . i mod N = yi = pP p Construire la matrice M = (vi,p mod 2)pP ,1im . Trouver un vecteur non nul (e1 , . . . , em ) Z/2Zm du noyau de M ei On obtient la congruence de carrs voulu en calculant 1im x2 i La dernire tape fournit bien une congruence de carrs car :
ei x2 i 1im 1im pP

pvi,p ei
pP

1im

vi,p ei

mod N.

Et par dnition du vecteur (e1 , . . . , em ), 1im vi,p ei 0 mod 2. On a i donc bien une congruence de carrs (u2 v 2 mod N avec u = 1im xe i et v = pP p 2 1im vi,p ei ) qui, avec une probabilit suprieure 1/2 (si N est impair et possde au moins deux facteurs premiers), donnera un facteur non trivial de N . De mme que pour les autres algorithmes, le choix de B est trs important. Si lon choisit B trop grand, le nombre de relations ncessaires est trop important et si lon choisit B trop petit on passe trop de temps pour trouver une relation. Le meilleur compromis donne un complexit en O(LN (1/2, 2)). On remarque que, contrairement aux algorithmes dcrit prcdement, la complexit dpend de N et non du plus petit facteur premier p. En eet, les algorithmes reposant sur la congruence de carrs sont plus ecaces pour factoriser des entiers de type N = pq avec p et q premiers que pour trouver des petits facteurs de grands entiers. 8
1

Il existent direntes mthodes pour touver une congruence de carrs qui ont donn lieu dirents algorithmes : CFRAC [15, 18] utilisant les fractions continues ; QS [20] (Quadratic Sieve ) et MPQS [23] (Multiple Polynomial Quadratic Sieve ) introduisant au passage une nouvelle mthode pour trouver plus rapidement des relations : le crible ; SNFS (Special Number Field Sieve ) puis GNFS (General Number Field Sieve ) [5] utilisant de la thorie algbrique des nombres et reposant sur la factorisation didaux dans des anneaux dentiers. La n de lalgorithme (recherche dun vecteur dans le noyau dune matrice et calcul du pgcd) est identique pour tous ces algorithmes. Pour une description historique et mathmatique de ces algorithmes on pourra consulter [21]. GNFS a une complexit en LN (1/3, 3 64 9 ), cest actuellement la meilleure complexit pour un algorithme de factorisation, et cest donc lalgorithme le plus adapt pour factoriser des trs grands entiers (plus de 100 chires). Limplmentation des ces algorithmes a soulev de nouveaux problmes : Ces algorithmes demandent normment de calculs, on peut donc se demander quelles sont les tapes que lon peut parallliser (i.e. eectuer en mme temps sur plusieurs threads/curs/ordinateurs). Lors de la dernire tape de lalgorithme, la matrice peut tre trs grande (plusieurs millions de ligne et colonnes) mais possde des proprits particulres (elle est creuse). Il est donc ncessaire davoir des algorithmes ecaces pour ce genre de matrices contre lesquelles le pivot de Gauss est innecace.

1.2.4

Quel algorithme utiliser ?

Que faire face entier que lon veut factoriser et dont on ne connat pas a priori la taille des facteurs. Tout dabord il ne faut pas ngliger la mthode nave pour liminer les petits facteurs. Un entier alatoire a 92% de chance de possder un facteur infrieur 1000. Et pour des petits facteurs (moins de 10 chires), la mthode nave est la plus rapide. Ensuite on peut essayer les algorithmes p 1 et p +1 mais cest surtout ECM qui sert trouver les facteurs de taille moyenne. Enn, suivant le taille de ce quil reste factoriser, on utilise MPQS (moins de 100 chires) ou NFS (plus de 100 chires) ou on abandonne... Les tableaux ci-dessous rsument les records de factorisation pour les algorithmes les plus rpandus. Les records ont t spars en deux tableaux, le premier pour les algorithmes dont la complexit dpend du plus petit facteur premier p de N (qui servent plutt liminer les petits et moyens facteurs de grands entiers) et le second pour les algorithmes dont la complexit dpend de N (qui servent plutt factoriser des entiers sous la forme pq avec p et q premiers). Lalgorithme SNFS est mis part car il ne fonctionne que pour des entiers de la forme re s o r et s sont trs petits. Il est en particulier trs adapt pour

Algorithme p1 p+1 ECM

Record (en nombre de chires) 66 60 73

Deuxime 59 55 73

Troisime 58 53 70

Table 1.1 Record pour les algorithmes dont la complexit dpend de p. Algorithme MPQS GNFS SNFS Taille N 135 232 307 Taille des facteurs 66 et 69 116 et 116 80 et 227

Table 1.2 Record pour les algorithmes dont la complexit dpend de N . factoriser les nombres de Mersenne (2k 1) et de Fermat (22 + 1). Pour des nombres gnraux, le record de factorisation est actuellement tenu par GNFS pour la factorisation de RSA-768 [12] (entre 1500 et 2000 annes de calcul distribues sur plusieurs centaines de machines). Plus de dtails peuvent tre trouvs en annexe ?? (rapport de stage de premire anne).
n

1.3

Conclusion

La factorisation est aussi bien un problme thorique (recherche de nouveaux algorithmes, tude prcise de complexit, ...) que pratique (implmentation efcace des algorithmes). Chaque nouvel algorithme largit un peu plus le domaine de recherche de la factorisation. Il est ainsi utile dtudier larithmtique algorithmique pour limplmentation dune arithmtique modulaire rapide, dtudier les courbes elliptiques pour obtenir une loi de groupe plus rapide, dtudier la thorie algbrique des nombres pour rsoudre les problmes que limplmentation de GNFS pose, dtudier les direntes architectures pour trouver la plus adapte un algorithme donn, ...

10

Bibliographie
[1] Eric Bach and Jerey Shallit. Factoring with cyclotomic polynomials. Mathematics of Computation, 52(185) :pp. 201219, 1989. [2] Daniel J. Bernstein, Tien-Ren Chen, Chen-Mou Cheng, Tanja Lange, and Bo-Yin Yang. ECM on Graphics Cards. Cryptology ePrint Archive, Report 2008/480, 2008. http://eprint.iacr.org/. [3] Joppe W. Bos, Thorsten Kleinjung, Arjen K. Lenstra, and Peter L. Montgomery. Ecient SIMD arithmetic modulo a Mersenne number. Cryptology ePrint Archive, Report 2010/338, 2010. [4] Richard Brent and Paul Zimmermann. Modern Computer Arithmetic, volume 18 of Cambridge Monographs on Applied and Computational Mathematics. Cambridge University Press, 2010. [5] Joe P. Buhler, Jr. Hendrik W. Lenstra, and Carl Pomerance. Factoring integers with the number eld sieve. In Arjen K. Lenstra and Jr. Hendrik W. Lenstra, editors, The development of the number eld sieve, volume 1554 of Lecture Notes in Mathematics, pages 5094, Berlin, 1993. SpringerVerlag. [6] E. Rodney Caneld, Paul Erds, and Carl Pomerance. On a problem of Oppenheim concerning factorisatio numerorum. Journal of Number Theory, 17 :128, 1983. [7] John D. Dixon. Asymptotically fast factorization of integers. Mathematics of Computation, 36(153) :pp. 255260, 1981. [8] Bruce Dodson and Paul Zimmermann. 20 years of ECM. In F. Hess, S. Pauli, and M. Pohst, editors, 7th Algorithmic Number Theory Symposium (ANTS VII), volume 4076 of Lecture Notes in Computer Science, pages 525542, Berlin/Germany Allemagne, 2006. Springer Verlag. [9] Harold M. Edwards. A normal form for elliptic curves. Bulletin of the American Mathematical Society, 44 :393422, 2007. [10] Darrel Hankerson, Alfred Menezes, and Scott Vanstone. Guide to elliptic curve cryptography. Springer, New York, 2004. 11

[11] H. W. Lenstra, Jr. Factoring integers with elliptic curves. The Annals of Mathematics, 126(3) :pp. 649673, 1987. [12] Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen Lenstra, Emmanuel Thom, Joppe Bos, Pierrick Gaudry, Alexander Kruppa, Peter Montgomery, Dag Arne Osvik, Herman te Riele, Andrey Timofeev, and Paul Zimmermann. Factorization of a 768-bit rsa modulus. Cryptology ePrint Archive, Report 2010/006, 2010. http://eprint.iacr.org/. [13] Donald E. Knuth. The art of computer programming, volume 2 : seminumerical algorithms. Addison-Wesley, Reading, 1st (1st printing) edition, 1969. [14] Alexander Kruppa. Amliorations de la multiplication et de la factorisation dentier. These, Universit Henri Poincar - Nancy I, 2010. [15] D. H. Lehmer and R. E. Powers. On factoring large numbers. Bulletin of the American Mathematical Society, 37(10) :pp. 770776, 1931. [16] Peter L. Montgomery. Speeding the Pollard and Elliptic Curve Methods of Factorization. Mathematics of Computation, 48(177) :pp. 243264, 1987. [17] Peter L. Montgomery. Evaluating recurrences of form Xm+n f (Xm , Xn , Xmn ) via Lucas chains, 1992. =

[18] Michael A. Morrison and John Brillhart. A method of factoring and the factorization of f7 . Mathematics of Computation, 29(129) :pp. 183205, 1975. [19] J. Pollard. Theorems of factorization and primality testing. Proc. Cambridge Philos. Soc., 76 :521528, 1974. [20] Carl Pomerance. The quadratic sieve factoring algorithm. In Thomas Beth, Norbert Cot, and Ingemar Ingemarsson, editors, Advances in cryptology : EUROCRYPT 84, volume 209 of Lecture Notes in Computer Science, pages 169182, Berlin, 1985. Springer-Verlag. [21] Carl Pomerance. A tale of two sieves. Notices of the American Mathematical Society, 43 :14731485, 1996. [22] R.L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2) :120126, February 1978. [23] R. D. Silverman. The multiple polynomial quadratic sieve. Mathematics of Computation, 48(177) :329339, 1987. [24] Hiromi Suyama. Informal preliminary report (8), 25 Oct. 1985. [25] H. C. Williams. A p + 1 method of factoring. Mathematics of Computation, 39(159) :pp. 225234, 1982. 12

Vous aimerez peut-être aussi