• Aucun résultat trouvé

4.2.1 Contexte

L’algorithmeECMg´en´eralise l’algorithmep−1 de Pollard [Pol74] dont voici une description. Prenons

un entierapremier avecN(nous choisissonsamoduloN au hasard et nous calculons pgcd(a, N), si

celui-ci n’est pas ´egal `a 1 alors nous avons un facteur de N). Commea

p−1

≡1 [p] par le petit th´eor`eme de

Fermat, alors, pour tout multiplek dep−1, le calcul de pgcd(a

k

−1, N) donne un facteur deN (sauf

dans le cas o`ua

k

est congru `a 1 modulo tous les facteurs de N).

En pratique, nous ne connaissons pas pet nous prenonsk comme ´etant le produit d’un grand nombre

de facteurs en esp´erant que ceux de p−1 sont parmi ceux-ci. Prenons k= ppcm (2, . . . , B

1

) pour une

certaine borneB

1

fix´ee. La m´ethode r´eussit sip−1 estB

1

-friable c’est-`a-dire produit de petits nombres

premiers. Si ce n’est pas le cas nous pouvons augmenterB

1

mais cela augmente le temps de calcul.

D´efinition 4.2.1. Soitn un entier dont la d´ecomposition en facteurs premiers est n=p

α1

1

. . . p

αr

r

. Le

nombren est ditB

1

-friable si et seulement si lesp

αi

i

sont inf´erieurs `aB

1

.

Une id´ee naturelle est d’´etendre l’algorithme p−1 avec d’autres groupes que (Z/NZ)

. La m´

e-thodep+ 1, introduite par Williams [Wil82], utilise le groupe

Z/NZ[X]/ X

2

−SX+ 1

o`uSest un ´el´ement quelconque deZ/NZ. Si le polynˆomeX

2

−SX+ 1 est scind´e alorsp+ 1 se comporte

commep−1. Sinon, le polynˆome est irr´eductible et nous retrouvons le facteurpsip+ 1 est friable. La

probabilit´e d’ˆetre dans chacun des deux cas pr´ec´edents est de

12

.

Bach et Shallit [BS89] ont g´en´eralis´e ces deux algorithmes en utilisant les polynˆomes cyclotomiques.

Lenstra [Len87] a propos´e d’utiliser le groupe des points sur une courbe elliptique. Cet algorithme est

appel´eECMpour elliptic curve method.

D´efinissons les courbes elliptiques sur l’anneau Z/NZ. Pour plus de d´etails, on pourra consulter

[Len87].

D´efinition 4.2.2. Soientn etN deux entiers. L’espace projectifP

n

(Z/NZ), est

P

n

(Z/NZ) =

n

(x

0

, . . . , x

n

)∈(Z/NZ)

n+1

, tel que l’id´eal engendr´e par lesx

i

estZ/NZo/'

o`u 'est la relation d’´equivalence suivante :

Algorithme 17ECM: phase 1

Entr´ee: Etant donn´´ es deux entiers positifsN et B

1

.

Sortie: Un facteur deN.

1: Choisir au hasard une courbe elliptique E surZ/NZet un pointP dessus.

2: Calculer [k]P aveck= ppcm (2, . . . , B

1

).

3: Esp´erer que [k]P =O

E

mod ppour obtenir le facteurp.

4: Sinon revenir `a la premi`ere ´etape.

Soit p un facteur de N, la r´eduction modulo p d´efinit une application de P

n

(Z/NZ) dans P

n

(F

p

).

Nous consid´erons les ´el´ements (x, y, z) ∈ P

2

(Z/NZ) qui v´erifient y

2

z = x

3

+axz

2

+z

3

. Le

discrimi-nant−16(4a

3

+ 27b

2

) est suppos´e ˆetre un inversible deZ/NZet dans ce cas nous disons que la courbeE

ainsi d´efinie est une courbe elliptique sur l’anneauZ/NZ.

La r´eduction modulo p est un morphisme naturel π

p

de E(Z/NZ) dans E(F

p

). Ce morphisme est

th´eorique car nous ne connaissons pas les facteurs deN. Il est possible de d´efinir une« loi d’addition»

sur les points de cette courbe : nous la d´efinissons avec les formules classiques quand cela est possible.

Cependant la« somme» de deux points n’est plus forc´ement bien d´efinie. Si la somme P+Qde deux

pointsPetQdeE(Z/NZ) est bien d´efinie alors les images de ces points existent dansE(F

p

) et la r´eduction

modulopdeP+Qest la somme des r´eductions modulopdes pointsP etQ. C’est-`a-dire que

π

p

(P+Q) =π

p

(P) +π

p

(Q).

En pratique, nous travaillons surZ/NZcomme si c’´etait un corps. La seule op´eration de corps qui n’existe

pas dansZ/NZest l’inversion modulaire. Celle-ci est calcul´ee par l’algorithme d’Euclide ´etendu et si une

inversion ´echoue, nous obtenons un facteur deN.

Remarque 4.2.3. Il n’est pas possible de prendre des racines carr´ees modulo le nombreN `a factoriser.

En effet prendre une racine carr´ee modulo N est ´equivalent `a la factorisation de N : si nous savons

factoriserN alors il est possible de calculer la racine carr´ee d’un nombre modulo tous les facteurs de N

puis de reconstruire la racine avec des restes chinois. Dans l’autre sens, supposons donn´e un algorithme

permettant de prendre des racines carr´ees moduloN. Nous appliquons cet algorithme sur b

2

modN pour

obtenir un ´el´ement atel que a

2

=b

2

modN. Le calcul de gcd(a−b, N)a alors une grande probabilit´e

de donner un facteur de N.

Cette remarque est d’ailleurs utilis´ee dans les algorithmes de cribles quadratique et alg´ebrique o`u le

but est de construire une relationa

2

=b

2

modN.

Soit P un point d’une courbe elliptiqueE sur Z/NZ. L’objectif de l’algorithme, et c’est en ce sens

qu’il g´en´eralisep−1, est de calculer [k]P dansE(Z/NZ) pour un certain entierket un certain point P

deE(Z/NZ) et nous esp´erons obtenir le z´eroO

E

deE(F

p

).

4.2.2 Description g´en´erale de l’algorithme ECM

Soit P un point d’une courbe elliptiqueE surZ/NZ et soitk= ppcm (2, . . . , B

1

). Nous calculons le

point [k]P dans E(Z/NZ) et nous esp´erons que ce point s’envoie sur le z´ero de la courbe E(F

p

). Cette

´

etape est appel´ee phase 1 et est r´esum´ee dans l’algorithme17.

Il existe une extension aux algorithmes de type p−1 qui est appel´ee« phase 2 »ou«´etape 2». Cette

deuxi`eme phase a ´et´e propos´ee par Brent [Bre86] et Montgomery [Mon87]. En particulier ce dernier article

donne une description unifi´ee de la phase 2 pour les algorithmesp−1,p+ 1 etECM.

L’id´ee g´en´erale de la phase 2 est la suivante : soitQle r´esultat de la premi`ere phase, nous calculonsπQ

pour tout nombre premierπ entreB

1

et B

2

et nous esp´erons qu’un desπQ est le z´ero du groupe dans

lequel nous travaillons. De ce fait, nous autorisons le cardinal du groupe `a ˆetreB

1

, B

2

-friable :

D´efinition 4.2.4. Soit n un entier dont la d´ecomposition en facteur premiers est n = p

α1

1

. . . p

αr

r

. Le

– p

αi

i

≤B

1

pour tout1≤i≤r,

– p

αi

i

≤B

1

pour tout1≤i≤r−1,α

r

= 1et B

1

< p

r

≤B

2

.

Il existe diff´erentes m´ethodes pour ´eviter de calculer tous les πQ. Une description g´en´erale de ces

m´ethodes se trouve dans [ZD06, Kru10]. Nous ne d´ecrivons pas plus en d´etail la phase 2 car, pour des

raisons donn´ees ult´erieurement, nous ne l’utilisons pas dans nos algorithmes.

La correction de l’algorithmeECMvient du fait que si [k]P =O

E

modpalors, lors de ce calcul, une

des divisions va ´echouer. Les divisions ´etant calcul´ees par l’algorithme d’Euclide ´etendu, nous obtenons

un diviseur deN si une d’elles ´echoue.

L’int´erˆet d’ECMpar rapport `ap−1 est que le cardinal du groupe dans lequel nous travaillons n’est plus

totalement d´etermin´e parp. Si le cardinal de la vari´et´e ab´elienne modulopest friable alors nous obtenons

un facteur deN sinon il est possible de recommencer avec une autre courbe. La borne de friabilit´eB

1

est

choisie en fonction de la taille du facteur que nous voulons trouver pour avoir un compromis entre le calcul

de [k]P (les autres ´etapes ´etant n´egligeables) et le nombre de fois qu’il faut recommencer l’algorithme.

La borneB

2

est telle que le temps de calcul de la phase 2 est approximativement le mˆeme que celui de

la phase 1.

L’algorithmeECMest un algorithme de factorisation probabiliste dont la complexit´e est de

O

L

p

1

2;

2 +o(1)

M(log(N))

etM(log(N)) est la complexit´e de la multiplication moduloN. La complexit´e de ECMest domin´ee par

la taille du plus petit facteurpdeN plutˆot que celle deN. Rappelons queECMne trouve pas forc´ement

le plus petit facteur deN. Dans le pire des cas, c’est-`a-dire quandpest de l’ordre de√

N, la complexit´e

deECMest de ˜O L

N

1

2

; 1

ce qui est bien plus ´elev´e que le crible alg´ebrique.

La phase 2 permet de gagner un facteur log(p) dans leO. Asymptotiquement l’utilisation de la phase 2

n’am´eliore donc pas beaucoup la complexit´e. Cependant, en pratique, elle permet d’augmenter de mani`ere

significative la probabilit´e de succ`es d’une courbe.

Le cardinal du groupe dans lequel nous travaillons est donn´e par les conjectures de Hasse-Weil.

Th´eor`eme 4.2.5(Hasse-Weil). SoitC une courbe de genre g sur F

q

alors

(√

q−1)

2g

≤# Jac

Fq

(C)≤(√

q+ 1)

2g

.

Ainsi pour les courbes elliptiques, leur cardinal se trouve dans l’intervalle

p+ 1−2√

p, p+ 1 + 2√

p

(page15, nous avions pr´ecis´e la distribution de ces nombres).

4.2.3 Am´eliorations de l’algorithme ECM

Plusieurs am´eliorations de l’algorithmeECMsont possibles. Tout d’abord, toute am´elioration

(pra-tique ou th´eorique) sur l’arithm´etique modulaire permet de diminuer le facteur O(M(log(n))) ; nous

n’y reviendrons pas. `A l’oppos´e, les am´eliorations math´ematiques et algorithmiques travaillent sur le

facteurO L

p

1

2

;√

2 +o(1). Les principales am´eliorations consistent `a

– Acc´el´erer l’arithm´etique sur les courbes.

– Augmenter la probabilit´e de succ`es en utilisant des courbes plus« chanceuses».

Ces deux pistes de recherche sont li´ees. En effet, am´eliorer l’arithm´etique sur les courbes elliptiques,

revient souvent `a choisir des mod`eles particuliers des courbes. Les meilleures courbes pour ECM sont

alors diff´erentes suivant les familles.

Diff´erents mod`eles de courbes elliptiques ont ´et´e propos´es, et pour chacun d’entre eux, nous disposons

de diff´erentes formules pour calculer la loi de groupe. Le site internet EFD

2

rassemble la plupart des

formules de la litt´erature et donne leur complexit´e. Dans le cadre d’ECM, deux mod`eles sont particuli`

e-rement int´eressants : celui de Montgomery et celui d’Edwards.

D´ecrivons plus en d´etail les courbes de Montgomery car leur arithm´etique ressemble `a celle que nous

utilisons. Ces courbes sont en particulier utilis´ees dans le logicielGMP-ECM. Pour les courbes d’Edwards,

nous renvoyons `a [BBLP10]. Une courbe sous forme de Montgomery est une courbe projective d’´equation

E: by

2

z=x x

2

+axz+z

2

.

Il faut supposer que a

2

6= 4 et b6= 0. Le z´ero de la courbe est le point `a l’infini (0 : 1 : 0). En ignorant

la coordonn´ee y des points, nous identifions un point et son oppos´e, c’est-`a-dire que nous travaillons

surE/{±1}. Nous avons alors les formules suivantes pour l’arithm´etique (o`u nous posonsd= (a+ 2)/4) :

x

2P

= (x

P

+z

P

)

2

, z

2P

= 4x

P

z

P

(x

P

−z

P

)

2

+ 4dx

P

z

p

,

x

P+Q

= 4z

P+Q

(x

P

x

Q

−z

P

z

Q

)

2

, z

P+Q

= 4x

P−Q

(x

P

z

Q

−z

P

x

Q

)

2

Le doublement peut se calculer avec 3 multiplications et 2 carr´es. Tandis que la pseudo-addition coˆute 4

multiplications et 2 carr´es. Pour calculer un multiple d’un point, nous utilisons les chaˆınes de Lucas avec

l’algorithme PRAC de Montgomery. En effet, `a la diff´erence des formules de pseudo-additions avec les

fonctions thˆeta3.2.2, les formules de Montgomery n’utilisent aucune division. Le calcul de [k]P se fait

alors en `a peu pr`es 6M+ 3S par bit dek [ZD06].

Une courbe elliptique est « chanceuse »pour ECMsi son cardinal est friable. Celui-ci est un entier

de l’ordre depd’apr`es le th´eor`eme4.2.5.

Pour am´eliorer la probabilit´e de succ`es, une solution consiste `a forcer l’ordre du groupe des points sur les

courbes elliptiques surF

p

`a ˆetre divisible par un entierm. La probabilit´e que le cardinal de la courbe soit

friable n’est plus celle qu’un entier de taille log(p) soit friable mais celle qu’un entier de taille log(p/m)

le soit. De ce fait, la probabilit´e de succ`es est un peu plus ´elev´ee.

Les courbes elliptiques utilis´ees dansECMsont souvent la r´eduction modulo N de courbes d´efinies

surQ. De mˆeme, le point P provient de la r´eduction d’un point deE(Q). Le th´eor`eme de Mazur limite

cependant le groupe de torsionE

tor

(Q) d’une courbe elliptique surQ:

Th´eor`eme 4.2.6 (Mazur). Le groupe de torsion d’une courbe elliptique surQest isomorphe `a l’un des

groupes suivant :

E

tor

(Q)∼= Z/mZ 1≤m≤10 or m= 12

Z/2Z×Z/2mZ 1≤m≤4

Par exemple, pour la param´etrisation de Suyama [Suy85], nous posonsσal´eatoire et nous calculons

u=σ

2

−5, v= 4σ, a= (v−u)

3

(3u+v)

4u

3

v , b=u/v

3

.

Le point

P = u

3

v

3

, σ

2

−1 σ

2

−25 σ

4

−25

v

3

!

est alors sur la courbe

b y

2

=x

3

+a x

2

+x.

et est d’ordre infini dessus. Cette forme de courbe impose que le cardinal de la courbe surF

p

soit divisible

par 12 pour presque toutp. Les courbes de Suyama sont un cas particulier des courbes de Montgomery

et elles sont en particulier utilis´ees parGMP-ECM[ZD06].

Dans sa th`ese [Mon92], Montgomery d´ecrit des param´etrisations donnant des courbes ayant 12 ou 16

points de torsions surQ. On pourra ´egalement consulter [AM93].

Au lieu de chercher `a avoir des courbes ayant un groupe de torsion fix´e sur Qou sur tous les F

p

, nous

pouvons chercher des courbes ayant une bonne probabilit´e d’avoir de la torsion modulopquand ce dernier

varie. B˘arbulescu [B˘a09] d´ecrit une m´ethode pour ´etudier la valuation moyenne modulopdu cardinal des

courbes elliptiques.

Pour des nombres N particuliers, nous savons que certains ´el´ements sont des carr´es. Par exemple

pour N = a

2n

+ 1 alors−1 est le carr´e dea

n

modulo tous les facteurs de N. Pour des N de ce type,

nous pouvons construire nos courbes comme la r´eduction moduloN de courbes d´efinies sur des corps de

nombres [BC10]. L’´equivalent du th´eor`eme de Mazur sur les corps de nombres montre qu’il existe des

courbes ayant des groupes de torsion plus gros que les courbes surQ. La probabilit´e de succ`es deECM

avec ces courbes est donc plus ´elev´ee.

Il n’est pas possible de prendre un point P au hasard sur la courbe E(Z/NZ). En effet, pour ce

faire, il faudrait prendre une racine carr´ee, ce qui n’est pas possible. Le pointP doit donc ˆetre construit

directement surE(Q) et doit ˆetre d’ordre infini sur cette courbe. En effet, sinon nous aurions une relation

du typemP =OsurE(Q) et donc surE(F

p

) pour tout facteurpdeN. De ce fait, nous ne pourrions pas

retrouver les facteurs deN. La courbe elliptique surQdoit donc ˆetre de rang strictement positif.

Signalons que les diff´erentes m´ethodes utilis´ees dans la phase 2 demandent de savoir faire de vraies

additions sur la courbe elliptique. De ce fait nous demandons que la donn´ee initiale de la phase 2 soit un

vrai point de la courbe elliptique. Montrons comment transformer une classe (x

1

::z

1

) sur la courbe

κzy

2

=x

3

+a

2

x

2

z+a

4

xz

2

+a

6

z

3

provenant de la phase 1 en un vrai point (x

2

, y

2

) d’une courbe

y

2

=x

3

+Ax+B

sans modifier l’ordre du point. Rappelons que la notation (x :: z) signifie que nous avons identifi´e les

points (x:y:z) et son oppos´e (x:−y:z).

Nous commen¸cons par translater le point parx7→x−a

2

z/3 avant de diviser sa coordonn´ee xparz

pour obtenir le point (x

0

1

,?) sur la courbeκy

2

=f(x) =x

3

+a

0

4

x+a

0

6

. Les points (x

0

1

,±1) sont alors sur

la courbe

Dy

2

=f(x) =x

3

+a

04

x+a

06

avecD=f(x

01

).

Par le changement de variables

(x, y)7−→x

D,

y

D

,

nous obtenons un point de la courbey

2

=x

3

+Ax+B o`u A=a

04

/D

2

et B =a

6

/D

3

. Remarquons que

le signe±1 peut ˆetre choisi arbitrairement car un point et son oppos´e ont le mˆeme ordre.

Documents relatifs