Nous avons pr´esent´e rapidement les coordonn´ees de Mumford dans la section2.2.3du chapitre pr´ec´
e-dent. Comparons les fonctions thˆeta aux coordonn´ees de Mumford :
– Les coordonn´ees thˆeta peuvent ˆetre utilis´ees pour toute vari´et´e ab´elienne principalement polaris´ee
tandis que les coordonn´ees de Mumford sont restreintes aux jacobiennes de courbes hyperelliptiques.
– Il y an
gcoordonn´ees thˆeta de niveaun(il faut prendren= 2 (surface de Kummer) oun>4 pair).
En comparaison, pour les coordonn´ees de Mumford, il n’y a que 2gcoordonn´ees `a manipuler. Notons
que Lubicz et Robert [LR10a] ont introduit des coordonn´ees compress´ees mais celle-ci restent bien
sup´erieures en nombre `a celles de Mumford. Pour des vari´et´es de petite dimension (cas int´eressants
en cryptographie), la diff´erence reste raisonnable par rapport aux gains arithm´etiques.
– Pour l’arithm´etique, en genre petit, les coordonn´ees thˆeta sont comp´etitives avec les coordonn´ees
de Mumford. En genre 2, sur la surface de Kummer, la multiplication est mˆeme plus rapide avec
les coordonn´ees thˆeta de niveau 2 [Gau07].
– Les coordonn´ees thˆeta de niveaunencodent une partie (au moins) de la n-torsion de la vari´et´e.
– Les coordonn´ees thˆeta ne sont a priori pas rationnelles (les points den-torsion n’´etant pas rationnels
en g´en´eral) tandis que celles de Mumford le sont.
– Certains algorithmes ne s’expriment qu’avec les coordonn´ees thˆeta (calcul de`-isog´enies par exemple).
– Notons ´egalement que [LR10b] donne un algorithme pour calculer le couplage de Weil avec les
fonctions thˆeta. Celui-ci semble comp´etitif par rapport `a ceux qui utilisent les coordonn´ees de
Mumford mais n´ecessiterait une ´etude plus d´etaill´ee.
Les deux syst`emes de coordonn´ees sont donc compl´ementaires et nous pr´esenterons au chapitre 5 des
formules permettant de passer de l’un `a l’autre.
Chapitre 4
Factorisation d’entiers
L’algorithmeECM(elliptic curve method) introduit en 1985 par Lenstra [Len87] joue un rˆole
impor-tant pour factoriser des entiers. L’utilisation principale d’ECMest de trouver des facteurs premiers de
taille« moyenne»(jusqu’`a une soixantaine de d´ecimales) de grands nombres. Il est ainsi utilis´e pour le
projet Cunningham
1ou pour les nombres de Fermat. Parmi les succ`es deECM, citons la factorisation
des nombres de FermatF
10et F
11[Bre99]. `A ce jour, le plus grand facteur trouv´e parECMest de 73
chiffres d´ecimaux. Il a ´et´e trouv´e en 2010 par Bos, Kleinjung, Lenstra et Montgomery et il a permis
d’achever la factorisation de 2
1181−1.
Dans la premi`ere section, nous pr´esentons le contexte de la factorisation dans lequel rentre l’algorithme
ECM. Dans la section suivante, nous pr´esentons l’algorithme ainsi que diverses am´eliorations. Dans la
section4.3, nous expliquons comment g´en´eraliserECMen utilisant des vari´et´es ab´eliennes et en particulier
des courbes hyperelliptiques de genre 2 (algorithme HECM : hyperelliptic curve method). Puis nous
explicitons et ´etudions une famille de courbes hyperelliptiques de genre 2 utilisable pour HECM. Pour
l’´etude pratique, nous avons ´ecrit un logicielGMP-HECMqui est d´ecrit dans la section4.4. Finalement,
dans la section4.5, nous donnons quelques pistes de recherche pour am´eliorerHECM.
L’int´erˆet de ce chapitre est de pr´esenter et d’analyser une version effective d’un algorithme du type
ECM utilisant des vari´et´es ab´eliennes de dimension 2 et qui soit comp´etitif par rapport `a ECM. Ce
chapitre est bas´e sur l’article [Cos10].
Fixons des notations pour ce chapitre. Nous voulons factoriser un entierN impair sans facteur carr´e.
Posonspun facteur premier deN, ce nombre n’´etant pas forc´ement le plus petit facteur deN.
4.1 Multiplication et factorisation
Multiplier deux nombres entiers est une op´eration rapide aussi bien en pratique qu’en th´eorie.
Algo-rithmiquement, suivant la taillendes nombres, diff´erentes m´ethodes pour les multiplier sont utilis´ees. La
complexit´e de certaines de ces m´ethodes est donn´ee dans le tableau 4.1. On consultera la partie 1.3 du
livre [BZ10] pour une description et une analyse de ces m´ethodes. Asymptotiquement la m´ethode la plus
rapide est quasi-lin´eaire et est due `a F¨urer [F¨u07].
Combin´es `a une m´ethode de r´eduction, ces algorithmes peuvent ˆetre utilis´es pour multiplier des
nombres dans l’anneauZ/NZ. En effet, les ´el´ements de cet anneau peuvent ˆetre repr´esent´es par des entiers
entre 0 etN−1. En supposant les ´el´ements distribu´es uniform´ement, leur taille moyenne estO(log
2(N)),
c’est-`a-dire la mˆeme que celle deN. SiN est de taillenla complexit´e moyenne des algorithmes dans ce
cadre est celle donn´ee par le tableau4.1. On consultera le chapitre 2 du livre [BZ10] pour une description
plus d´etaill´ee des diff´erents algorithmes dans ce cadre. En particulier, les diff´erentes fa¸cons de repr´esenter
les nombres deZ/NZy sont discut´ees.
Algorithme Complexit´e
Multiplication triviale O n
2Karatsuba O n
log2(3)Toom-Cook O n
1+algorithme FFT O(nlog(n) log (log(n)))
F¨urer nlog(n)2
O(log∗(n))Tableau 4.1 – Complexit´e des algorithmes de multiplications de deux entiers de taillen
Algorithme Complexit´e Complexit´e dans
le pire des cas
Division `a essai π(p)∼
log(pp)π(√
N)∼O
√ N log(N)rho de Pollard O˜ √
p O˜√
4N
p−1 O √
qo`uqest le plus grand facteur dep−1 O√
N
ECM O L
p 1 2;√
2 +o(1) O˜ L
N 1 2; 1
Crible quadratique L
N1 2; 1
Crible alg´ebrique L
N13
; 1.902
Tableau 4.2 – Complexit´e des algorithmes de factorisation en terme de nombre d’op´erations moduloN
Contrairement `a la multiplication, l’op´eration inverse, la factorisation, est en g´en´eral une op´eration
difficile. `A l’heure actuelle, nous ne connaissons pas d’algorithme polynomial en la taille des nombres
pour factoriser les entiers. Cette diff´erence de complexit´e a ´et´e exploit´ee pour construire des protocoles
cryptographiques commeRSA[RSA78]. La factorisation est une brique de base de nombreux algorithmes
utilis´es en th´eorie des nombres. Parmi ceux-ci citons
– la construction de racines (carr´ees ou autres) moduloN,
– la d´ecomposition d’un groupe ab´elien de type fini,
– le calcul de l’anneau des entiers d’un corps de nombres (factorisation du discriminant),
– ...
Asymptotiquement, la complexit´e des algorithmes est donn´ee dans le tableau4.2o`u nous utilisons la
fonction L
N[α;c] d´efinie par
L
N[α;c] = exp clog(N)
αlog(log(N))
1−αet o`u π(x) est le nombre de premiers inf´erieurs `a x. Pour certains algorithmes, leur complexit´e d´epend
de la taille du plus facteur premier pdeN (rappelons quepest inconnu). Dans le pire des cas,pest de
l’ordre de√
N.
´
Etant donn´e un nombre `a factoriser, la m´ethode classique consiste `a utiliser la division triviale puis
des algorithmes du typep−1,p+ 1 etECMpour«nettoyer»les petits et moyens facteurs du nombre.
En effet, les entiers de tr`es grande taille peuvent avoir des facteurs de petite taille. Une fois ceux-ci
« nettoy´es », si la taille du nombre restant est raisonnable (le record actuel est la factorisation d’un
nombre RSA de 768 bits [KAF
+10]) nous utilisons le crible quadratique ou alg´ebrique [Mon94]. Ces
derniers ont la meilleure complexit´e asymptotique connue. Dans le cas o`u la taille du nombre restant `a
factoriser est trop ´elev´ee, nous continuons d’utiliser des algorithmes du type ECMen esp´erant que les
facteurs premiers du nombre ne soient pas trop grands.
Algorithme 16p−1
Entr´ee: ´etant donn´es deux entiers positifsN et B
1.
Sortie: S’il existe, un facteur de ptel que p−1 soitB
1-friable
1: Choisir au hasardamoduloN premier avecN.
2: Calculera
kmoduloN aveck= ppcm (2, . . . , B
1).
3: Calculer pgcd(a
k−1, N)
Dans la section suivante, nous pr´esentons plus en d´etails les algorithmesp−1 etECMet nous ´etudions
leur complexit´e. Dans la section4.3.1, nous pr´esentons une g´en´eralisation d’ECM utilisant les vari´et´es
ab´eliennes, le but ´etant d’obtenir un algorithme de complexit´e similaire. Notons que les algorithmes de
crible n´ecessitent de trouver des nombres friables et pour cela utilisent ECM[Kru08, Kru10]. Dans ce
cadre, les nombres `a factoriser sont beaucoup plus petits et l’analyse de complexit´e est tr`es diff´erente :
les pr´ecalculs ne sont plus n´egligeables. Nous ne nous sommes pas int´eress´es `a cette application.
Dans le document
Applications des fonctions thêta à la cryptographie sur courbes hyperelliptiques.
(Page 80-84)