Beruflich Dokumente
Kultur Dokumente
cryptographie
Mmoire de master
Dodovrosky Medrano
Tuteur : M. Anders
Karlsson
Dcembre 2014
courbes elliptiques
4
Loi de groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Les formules daddition . . . . . . . . . . . . . . . . . . . . . . 10
Endomorphismes . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Points de Torsion
19
3.1 Polynmes de division . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Le couplage de Weil . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Courbes elliptiques sur des corps finis
4.1 Le thorme de Hasse . . . . . . . . . . . . .
4.2 Dterminant lordre du groupe . . . . . . . .
4.2.1 Ordre dun point . . . . . . . . . . .
4.2.2 Baby Step, Giant Step . . . . . . . .
4.2.3 Lalgorithme de Schoof . . . . . . . .
4.2.4 Types spciales de courbes elliptiques
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
28
31
32
35
37
41
.
.
.
.
.
.
.
43
43
45
45
46
49
53
55
.
.
.
.
.
.
.
.
56
57
58
59
60
62
63
64
65
67
Introduction
Soit K un corps. Rappelons que le n-espace projective Pn (K) est lensemble de (n + 1)uples suivants :
Pn (K) = {(a0 , ..., an ) K n+1 | a0 , ..., an no tous nuls}/
o (a0 , ..., an ) (a00 , ..., a0n ) sil existe t K tel que
(a0 , ..., an ) = t(a00 , ..., a0n ).
Un polynme p K[X1 , ..., Xn ] est un polynme homogne de degr d si
chacun de ses termes est de degr d. De plus on dit que p est irrductible sil
ne peut pas scrire comme le produit trivial de deux polynmes
Dfinition 1. Soit un corps K. Une courbe C de P2 (K) est lensemble de
points qui satisfait
p(X, Y, Z) = 0
o p K[X, Y, Z] est un polynme homogne de degr d 1. Si d = 1, alors
cest une droite ; si d = 2, une conique ; si d = 3, une cubique.
Dfinition 2. Un point P dune cubique C : F (X, Y, Z) = 0 est un point
singulier si
F
F
F
=
=
=0
X P
Y P
Z P
Une cubique dont tous les point sont non singuliers est une courbe non singulire.
Dans un cadre plus gnral on dfinit une courbe elliptique comme la
paire (E, O), o E est une cubique irrductible non singulire et O E. La
courbe elliptique E est dfinie sur un corps K si E est une courbe sur K et
si O E(K).
Cependant nous travaillerons plutt avec un type spciale dquation, appele lquation de Weierstrass qui dans P2 (K) est de la forme
C : F (X, Y, Z) = Y 2 Z + a1 XY Z + a3 Y Z 2 X 3 a2 X 2 Z a4 XZ 2 a6 Z 3 = 0
o a1 , ..., a6 K et O = (0, 1, 0)
La transformation x = X/Z, y = Y /Z permet dcrire lquation de Weierstrass comme suit
E : y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6
4
(1)
plus le point linfini O = (0, 1, 0) qui nest pas singulier car (F/Z)(0, 1, 0) 6=
0.
x et y sont appels coordonnes non homognes. En fait on peut montrer
que toute courbe elliptique peut tre ramene lquation de Weierstrass via
une application qui fournit un isomorphisme de E(K) sur une courbe C(K)
donne par lquation de Weierstrass tel que O est envoy vers (0, 1, 0) (voir
[4], pages 32-35). Ce contexte ne nous sera pas utile ici, on travaillera plutt
avec lquation (1), voire mme avec lquation
E 0 : y 2 = x3 + ax + b
(2)
Les courbes avec discriminant non nul ont une tangente bien dfinie en
chaque point, cest--dire nont ni point double, ni point de rebroussement.
Ce sera trs important pour pouvoir definir une loi de groupe sur leurs points.
Le thorme 1 nous permettra dinterprter le j-invariant comme une bijection entre les lments de K et les classes de K-isomorphismes des courbes
elliptiques dfinies sur K.
Proposition 1. Soit K un corps de caractristique p. Une courbe elliptique
E dfinie sur K donne par une quation de Weierstrass prends alors une
forme simplifie,
1. si p 6= 2 et p 6= 3,
y 2 = x3 + a4 x + a6 , = 16(4a34 + 27a26 ),
j(E) = 1728
4a34
;
4a34 + 27a26
2. si p = 2 et j(E) = 0,
y 2 + xy = x3 + a2 x2 + a6 , = a6 , j(E) = 1/a6 ;
si p = 2 et si j(E) = 0,
y 2 + a3 y = x3 + a4 x + a6 , = a43 , j(E) = 0;
3. si p = 3 et j(E) 6= 0,
y 2 = x3 + a4 x2 + a6 , = a32 a6 , j(E) = a32 /a6 ;
si p = 3 et j(E) = 0,
y 2 = x3 + a4 x + a6 , = a34 , j(E) = 0.
Dmonstration. 1. si p 6= 2 on peut liminer le terme en xy en remplaant y
par y 21 (a1 x + a3 ). On obtient alors y 2 = x3 + b42 x2 + b24 x + b46 . En plus, si
b2
p 6= 3 on peut liminer le terme en x2 en remplaant x par x 12
.
2. Si la caractristique de K est 2, alors le j-invariant vaut j(E) = a12
1 /.
2
Si j(E) = 0 on a a1 = 0 et la substitution x par (x + a2 ) donne y + a3 y =
3
2
3
x
+ (a2 + a4 )x + 2(a2 +2 a2 a4 + a6 ) ; autrement la substitution de (x, y) par
a a +a
a21 x + aa13 , a31 y + 1 a43 3 donne
1
y 2 + xy = x3 +
4a03
0
2 03
3 02
4
4
j(E) = 1728 4a3 +27a
3 = 1728 4a03 +27a03 = j(E ) implique a6 a4 = a4 a6 . On
4
6
4
6
cherchera un isomorphisme de la forme (x, y) 7 (u2 x, u3 y).
1. Si a4 = 0, alors a6 = 0 puisque 6= 0 et donc a04 = 0. On obtient un
isomorphisme si on prend u = (a6 /a06 )1/6 .
2. De mme, si a6 = 0 on a que a4 6= 10 et a06 = 0. On obtient un
isomorphisme si on prend u = (a4 /a04 )1/4 .
3. Si a4 , a6 6= 0, il en est de mme pour a04 et a06 et lon obtient un
isomorphisme comme avant en prenant u = (a6 /a06 )1/6 = (a4 /a04 )1/4 .
Si la caractristique p est 2 ou 3, les calculs seront similaires en prenant les
equations de Weierstrass correspondantes.
2.1
Loi de groupe
A B, alors lopration
A + B = O (A B)
dfinit une structure de groupe commutative ayant O comme lment neutre.
Tous les axiomes de groupe, sauf lassociativit, se vrifient facilement partir de la dfinition. Il existe plusieurs dmonstrations de lassociativit dans
la littrature, par exemple si E est dfinie sur C on peut trouver une jolie
preuve dans [6, chapter 14]. Pour une preuve plus gnrale voir [4]. Dans
la section 2.2 nous obtiendrons des formules explicites en coordonnes pour
cette opration, et par calcul direct avec ces formules-l, il sera aussi possible
de dmontrer lassociativit, mais on ne la fera pas ici.
2.2
(m(x x1 ) + y1 )2 = x3 + ax + b
On peut retrouver la x-coordonne x3 de P30 en rsolvant cette equation de
troisime degr. Cependant, on peut utiliser linformation quon connait dj.
Puisque P1 et P2 sont tous les deux dans d et E, alors x1 et x2 sont aussi
deux racines de cette quation, et la somme de ces trois racines est loppos
du coefficient de x2 dans x3 + ax + b (m(x x1 ) + y1 )2 = 0, donc
x1 + x2 + x3 = (m2 ) x3 = m2 x1 x2
et comme y = m(x x1 ) + y1 , il ny a plus qu remplacer x par x3 et reflter
y par rapport laxe horizontal pour obtenir
P3 = (m2 x1 x2 , m(x1 x3 ) y1 )
(3)
(4)
2.3
Endomorphismes
nous dirons que est non trivial sil existe (x, y) E(K)
tel que (x, y) 6= O.
Pour simplicit, on va assumer que notre courbe elliptique est donne par
12
une quation de Weierstrass simplifie y 2 = x3 + Ax + B. Une fonction rationnelle R(x, y) peut tre crite sous la forme
R(x, y) =
p1 (x) + p2 (x)y
p3 (x) + p4 (x)y
q1 (x) + q2 (x)y
q3 (x)
(5)
x4 2Ax2 8Bx + A2
.
4(x3 + Ax + B)
Exemple 2.
Supposons que E est dfinie sur un corps fini Fq . Lapplication de Frobenius donne par
q (x, y) = (xq , y q )
est un endomorphisme de E de degr q non sparable.
En effet, q : E(Fq ) E(Fq ) est bien dfinie (dans Fq nous avons aq = a)
en plus elle est donne par des polynmes et a fortiori par des fonctions
rationnelles. Reste voir si q est un homomorphisme de groupes. Soient
(x1 , y1 ), (x2 , y2 ) E(Fq ) avec x1 6= x2 . Leur somme (x3 , y3 ) est donne par
x3 = m2 x1 x2 , y3 = m(x1 x3 ) y1
avec m = (y2 y1 )/(x2 x1 ).
Par simplicit on travaille avec lquation simplifi de Weierstrass, les calculs avec lquation gnralise sont essentiellement les mmes. On prend la
q-ime puissance de tout, et on obtient
xq3 = m02 xq1 xq2 , y3q = m0 (xq1 xq3 ) y1q
avec m0 = (y2q y1q )/(xq2 xq1 ).
On a donc bien q (x3 , y3 ) = q (x1 , y1 ) + q (x2 , y2 ).
Les autres cas (lorsque x1 = x2 ou lun des points est O) se vrifient de
la mme manire. Donc q est bien un endomorphisme.
Finalement, comme r1 (x) = xq alors r10 (x) = qxq1 = 0, donc nest pas
sparable et son degr est clairement q.
Lendomorphisme de Frobenius et les propositions 2 et 3 nous seront dune
grande utilit pour dmontrer le thorme de Hasse sur la borne de lordre
du groupe E(Fq ).
Proposition 2. Soit 6= 0 un endomorphisme sparable sur un courbe elliptique E. Alors
deg = #Kern().
Si 6= 0 nest pas sparable, alors
deg > #Kern().
15
R0 3 (x)
= c 1 + c 2 .
S3 (x)
y3 y1
y3 y2
y3
c 1 +
c2 = (c1 + c2 )
y1 y
y2 y
y
do le rsultat.
Proposition 4. Soit E une courbe elliptique dfinie sur un corps K, et soit
n Z \ {0}. Supposons que la multiplication par n sur E est donne par
n(x, y) = (Rn (x), ySn (x))
pour tout (x, y) E(K), o Rn et Sn sont des fonctions rationnelles. Alors
Rn0 (x)
=n
Sn (x)
Par consquent, la multiplication par n est sparable si et seulement si n nest
pas un multiple de la caractristique p du corps K.
Dmonstration. Puisque Rn = Rn et Sn = Sn (cest le fait que (x, y) =
0
(x, y) sur la courbe E : y 2 = x3 + Ax + B), on a Rn
/Sn = Rn0 /Sn , donc
le rsultat pour n positif impliquera le rsultat pour n ngatif.
Par rcurrence sur n : si n = 1 la proposition est triviale. Si elle est vraie
pour n, le lemme 2 implique quelle est vraie pour n + 1, qui est la somme
de 1 et n. On a donc bien Rn0 (x)/Sn (x) = n pour tout n.
On a que Rn0 (x) 6= 0 si et seulement si n = Rn0 (x)/Sn (x) 6= 0, ce qui est
quivalent dire que p ne divise pas n.
On finit cette introduction aux endomorphismes dune courbe elliptique
E par un rsultat sur lendomorphisme de Frobenius qui nous sera utile plus
tard.
Proposition 5. Soit E une courbe elliptique dfinie sur un corps fini Fq
(donc q est une puissance dun premier p). Soient r et s des entiers non nuls
la fois. Lendomorphisme rq + s est sparable si et seulement si p - s.
Dmonstration. Soit r(x, y) = (Rr (x), ySr (x)) lendomorphisme de multiplication par r, alors
(Rrq (x), ySr (x)) = (q r)(x, y) = (Rrq (x), y q Srq (x))
17
q1
= Rrq (x), y(x3 + Ax + B) 2 Srq (x) .
o la deuxime galit est une consquence de (a + b)q = aq + bq dans Fq .
Donc,
0
/Srq = qRrq1 Rr0 /Srq = 0.
crq = Rr
q
On a aussi cs = Rs0 /Ss = s par la proposition 4. Par le lemme 2,
0
Rr
/Srq +s = crq +s = crq + cs = 0 + s = s,
q +s
0
Par consquent, Rr
6= 0 si et seulement si p - s.
q +s
18
Points de Torsion
Les mmes types de calculs donnent E[2] = {O, (0, a6 )} pour lquation (I)
et donc comme groupe abstrait E[2] ' Z2 . De mme, pour lquation (II)
on obtient E[2] = {O} et dans ce cas E[2] es trivial.
Si on cherche connatre E[3], il sera utile dobserver que P E[3] si et
seulement si 2P = P et cela si et seulement si P et 2P sont sur la mme
droite verticale. En quations cela se traduit par le fait que les x-coordonnes
de P et 2P sont les mmes, ce qui conduit considrer une quation polynmiale en x et regarder ses racines (son discriminant). Enfin, tous ces
calculs conduisent au rsultat suivant :
1. Si la caractristique de K nest ni 2 ni 3 : E[3] ' Z3 Z3
2. Si la caractristique de K est 2 : E[3] ' Z3 Z3
3. Si la caractristique de K est 3 : E[3] ' Z3
Calculer E[4] avec cette mthode devient vite difficile. Nous allons voir plus
tard que le sous-groupe de n-torsion E[n] a toujours la forme dune somme
directe dau plus 2 groupes finis, ainsi quun algorithme pour calculer lordre
dun point.
19
3.1
Polynmes de division
Proposition 6. Soit P = (x, y) E(Fq ), avec Fq un corps fini de caractristique p 6= 2, 3. Posons nP = (xn , yn ), alors
n1 n+1
i) xn = x
n2
2
2
n+2 n1 n2 n+1
ii) yn =
4yn3
Dmonstration. La formule (3) daddition donne xm+n = xn xm + 21 ,
yn
m yn
, 2 = xym
. Comme xn = xn
xmn = xm xn + 22 avec 1 = xym
xn
m xn
4yn ym
et yn = yn on a xm+n = xmn (xm xn )2 . Si i) est vraie au rang m et
2
m n1 n+1
mn
n, alors xn xm = n m1 m+1
= m+n
. Puisque ii) est aussi
2 2
2 2
n
n
m
m
2n 2
2m 2
2n
vraie au rang m et n, on a 4yn ym = 4 n 4y3 m 4y3 = 2m
et 2n 2m =
4 4
n
m
n m
2
2
nm+1 n+m1 m+n
.
(nm)+(n+m) (nm)(n+m) = n+m1 n+m+1 nm
Ainsi, si, en plus, i) est vraie au rang nm, alors elle est vraie au rang m+n.
n+1 y
Pour les ordonnes, on utilise lgalit xn+2 = xn (x4y
2 (consquence des
n+1 x)
formules daddition) et le mme type de rcurrence permet de conclure.
Q est j + 1. Par rcurrence, il existe des points dordre pk pour tout k. Par
consquent, E[pk ] est cyclique dordre pk .
crivons maintenant n = pr n0 avec r 0 et p - n0 . Alors la suite suivante
=n0
3.2
Le couplage de Weil
Soit
n = {x K | xn = 1}
le groupe des racines n-imes de lunit dans K. Comme la caractristique
de K ne divise pas n, lquation xn = 1 a toutes ses racines simples, il y a
donc n racines distinctes dans K. Par consquent, n est un groupe cyclique
dordre n. Nimporte quel gnrateur de n est appel une racine n-ime
primitive de lunit. Ceci est quivalente a dire que k = 1 si et seulement si
n | k.
Exemple 3.
Considrons la courbe elliptique E : y 2 = x3 1 dfinie sur R. On calcule
facilement
E[2] = {O, (1, 0), (, 0), (1 , 0)}
avec racine de lquation x2 + x + 1 = 0. Il est aussi facile de voir que
1 = (1, 0) et 2 = (, 0) forment une base de E[2] car (1, 0) + (, 0) =
(1 , 0). Soit : E(C) E(C) la conjugaison complexe : (x, y) = (
x, y).
En fait, on peut vrifier sans peine que est un homomorphisme bien dfini
(car le coefficients de E sont rels). Dune part (1 ) = 1 , et dautre part
(2 ) = (
, 0) = (1 , 0) = 1 + 2 car on remarque que satisfait aussi
3
= 1 do (
)2 =
, et donc
= 2 = 1 . Finalement la matrice
n scrit.
1 1
n =
.
0 1
Thorme 4. Soit E une courbe elliptique dfinie sur un corps K, et soit
n un entier positif. Supposons que la caractristique de K ne divise pas n.
Alors, il existe une application
en : E[n] E[n] n
appele couplage de Weil, qui satisfait les proprits suivantes :
1. en est bilinaire en chaque variable. Cela signifie que
en (S1 + S2 , T ) = en (S1 , T )en (S2 , T )
et
en (S, T1 + T2 ) = en (S, T1 )en (S, T2 )
pour tous S, S1 , S2 , T, T1 , T1 E[n]
24
26
4.1
Le thorme de Hasse
|q + 1 #E(Fq )| 2 q.
Dmonstration. Comme le degr dun endomorphisme est toujours positif,
deg(rq s) 0. Soit a comme dans le lemme 3. Par ce mme lemme, on a
q
r 2
s
r
s
28
+10
donc |a| 2 q.
Thorme 7. Soit E une courbe elliptique dfinie sur Fq . Soit a comme dans
le lemme 3. Alors
2q aq + q = 0
comme endomorphismes de E, et a et lunique entier k tel que
2q kq + q = 0.
En outre, a et lunique entier satisfaisant
a Trace(q )m mod m
pour tout m avec (m, q) = 1.
Dmonstration. Si q a + q nest pas lendomorphisme trivial, alors son
noyau est infini daprs la proposition 2. Nous allons voir que le noyau de cet
endomorphisme est infini, et donc ce sera lendomorphisme trivial.
Soit m 1 un entier avec (q, m) = 1. Lendomorphisme de Frobenius q
induit une matrice (q )m qui dcrit laction de q sur E[m]. Soit
s t
(q )m =
u v
Lendomorphisme q 1 est sparable par la proposition 5. Les propositions
2 et 8 impliquent
#Ker(q 1) = deg(q 1) det((q )m I)
= sv tu (s + v) + 1 mod m.
Par la proposition 8, sv tu = det(q )m deg(q ) = q mod m. Comme
#Ker(q 1) = q + 1 a, on a
Trace(q )m = s + v = a mod m.
Le polynme caractristique de (q )m est : X 2 Trace(q )m X + det(q )m .
Le thorme de Cayley-Hamilton modulo m donne
(q )2 a(q )m + qI = 0
29
4.2
Exemple 6.
Soit la courbe elliptique E : y 2 + y = x3 dfinie sur F2 . Alors,
2n + 1
si n 1 mod 2
#E(F2n ) =
n
2 + 1 2(2)n/2 si n 0 mod 2
On trouve facilement que E(F2 ) = {O, (0, 0), (0, 1)}, donc a = 2 + 1
#E(F2 ) = 0. La relation de rcurrence du thorme 8 devient un+1 = 2un1 ,
do on trouve un = 2(2)n/2 si n est pair, et un = 0 si n est impair. Par le
thorme 8, #E(F2n ) = 2n + 1 un . Il suffit, alors, de remplacer un par sa
valeur dans les cas correspondants.
31
4.2.1
dordre 49 > 4 107, et alors le seul multiple de 49 cette intervalle est 98.
Donc N107 = 98.
Exemple 8.
Soit la courbe elliptique E : y 2 = x3 + 17x + 3 sur F131 . Les points
P = (14, 3) et Q = (130, 0) sont dordre 31 et 2 respectivement, donc P + Q
est un pointdordre 62. Soit N131 = #E(F131 ). Par Hasse 109 N131 155.
Or, 62 > 4 131, et alors le seul multiple de 62 dans ce rang est 142, donc
N131 = 124.
Exemple 9.
Parfois cette mthode ne permet pas de dire grand chose sur lordre dune
courbe elliptique. Cest le cas, par exemple, de la courbe y 2 = x2 + 3 dfinie
sur F7 . Bien sr, comme lexemple est sur un corps petit, on peut calculer
facilement N7 , laide du symbole de Legendre par exemple. Cependant le
thorme de Hasse nous dit seulement que lordre de E(F7 ) doit tre un multiple de 3. En effet, on peut montrer que E(F7 ) ' Z3 Z3 , donc tous les
lments sont dordre 3. Le thorme de Hasse dit que 3 N7 13, et alors
lordre du groupe peut tre priori 3,6,9 ou 12.
32
Dmonstration. Par Hasse n2 = q + 1 a, avec a2 2 q. Soit p la caractristique de Fq , alors p - n car sinon par hypothse il y aurait p2 lments dans E[p] E[n], ce qui nest pas possible par le thorme 3. Comme
E[n] E(Fq ), le corollaire 2 implique que les racines n-imes de lunit sont
dans Fq , et alors q1 | n. Donc, a = q+1n2 2 mod n. On crit a = 2+kn
pour un entier k, ainsi q = n2 + kn + 1. Finalement, par le thorme de Hasse
a2 = (2 + kn)2 < 4q = 4(n2 + kn + 1), do |k| 2, ce qui complte la
preuve.
Proposition 13. Soit E une courbe elliptique sur Fq . Supposons que
E(Fq ) ' Zn Znm .
grand que 4 q.
Dmonstration. Le mmes calculs de la proposition 12 donnent a = 2 + kn
2
2
2
et q = mn
4q = 4(mn2 + kn + 1) do
+ kn + 1. Par Hasse a = (2 + kn)
2
|k| 2 m. La borne sur k nous
dit que q2 ( mn 2 1) , et nouveau par
2
Hasse
2 q q + 1 mn ( mn + 1) + 1 mn = 2 mn + 2, do
m
4 q il faudra imposer m( q 1) 4 q, ce qui impliquera q m4
.
Ainsi, si m 17 et q est suffisamment grand, par exemple q 1122, il existe
33
6+ 32
,
2
que 4 q.
Soient E : y 2 = x3 + Ax + B une courbe elliptique sur K et d K .
La tordue de E par d est la courbe elliptique E (d) : y 2 = x3 + Ad2 x + Bd3 .
(d)
Ces deux courbes ont
le mme j-invariant et on peut transformer E en E
sur lextension K( d) via
1
1
(x, y)
x, y .
d ( d)3
Nous introduisons le symbole suivant :
si t2 = x a une solution t K
x +1
= 1 si t2 = x nas pas de solution t K
K
0
si x = 0
Il est facile de voir que
3
X
X x3 + Ax + B
x + Ax + B
#E(Fq ) = 1 +
1+
=1+q+
Fq
Fq
xF
xF
q
car si on trouve un point (x, y) pour E, alors son correspondant sur E (d)
existe ou non selon d est ou non un carr dans K. Poursimplifier
les choses,
d
Proposition 15. Soit p > 229 et soit E une courbe elliptique sur Fp . Soit E
ou sa tordue quadratique E (d) (avec d qui nest pas un carr dans Fp ) possde
1 + 2 p).
Dmonstration. Voir [9, section 4.3].
4.2.2
36
7. Par Hasse 102 2 101 N101 102 + 2 102. Or 116 > 4 101, donc on
na pas besoin de choisir un autre point arbitraire pour calculer son ordre et
on peut conclure que N101 = 116.
Pour viter de faire tous ces calculs la main, on peut utiliser le logiciel
gratuit sage que lon trouve sur http ://www.sagemath.org.
4.2.3
Lalgorithme de Schoof
li > 4 q.
i=1
(7)
X(x, y) =
y q yql
xq2 xql
!2
2
xq xql .
En plus, on sait quon peut crire (xql , yql ) = (r1,ql (x), r2,ql (x)y) avec r1,ql , r2,ql
des fonctions rationnelles en x. On a
2
2
2
2
q
2
q 1
y yql = y y
r2,ql (x)
3
(q 2 1)/2
= (x + Ax + B) (x + Ax + B)
2
r2,ql (x) ,
et alors X(x, y) est une fonction rationnelle X(x) en x. On veut trouver j tel
que
(X, Y ) = j(xq , y q ) = (xqj , yjq )
pour tout (x, y) E[l].
Nous regardons dabord les x-coordonnes. Pour (x, y) E[l] nous avons
que (X, Y ) = (xqy , yjq ) si et seulement si X = xqj . Les x-coordonnes de tous
les points dans E[l] sont les racines de l daprs la proposition 6, elles sont
toutes simples puisque E[l] ' Zl Zl car l 6= p, et donc il y a (l2 1)/2
x-coordonnes distinctes dans E[l], or le degr de l est aussi (l2 1)/2.
On a donc
X xpj 0 mod l
38
(8)
i
i
calculer
k(x, y),
2i
il suffit dadditionner tous les q (ki (x, y)) = q (xi , yi ) =
2i
xqi , (1)i yiq .
42
5.1
Le Index Calculus
31 3
324 22 7 13
325 53
mod 1217
330 2 52
354 5 11
87
3
13
Comme 3(p1)/2 1 mod 1217, alors ind(1) = 608. On obtient donc
1 ind(3)
25 3 ind(5)
mod 1216.
30 608 + ind(2) + 2 ind(5)
87 ind(13)
En rsolvant ce systme, on trouve ind(3) 1, ind(5) 819, ind(13) 87,
ind(2) 216, ind(11) = 1059, ind(7) = 113 mod 1216. Maintenant que
44
lon connat les logarithmes discrets de tous les lments de la base, on doit
calculer 3s 37 pour s = 0, 1, 2, ... jusqu obtenir un produit en facteurs de
la base. Dans lexemple, on trouve
316 37 23 7 11 mod 1217.
Donc, k = ind(37) 3 ind(2) + ind(7) + ind(11) 16 588 mod 1216 et
3588 37 mod 1217.
Le choix de la taille de B est trs important. Si B est trop petit, alors il sera
difficile de trouver des puissances de g qui se factorisent en produit dlments premiers dans B. Si B est trop grand, lalgbre linaire pour trouver
les ind(pj ) devient difficile de manipuler. Correctement implment, cet algorithme a un temps dexcution estim dordre O(exp(C(log p log log p)1/2 ),
ce qui signifie quil est un algorithme sub-exponentiel (un algorithme dont le
temps dexcution peut croire plus que nimporte quel polynme mais reste
plut petit quune exponentielle).
5.2
1. On fixe un entier m N .
2. Calculer et stocker les x-coordonnes des iP , avec i = 0, 1, ..., bm/2c.
3. Calculer les points Q jmP pour j = 0, 1, 2, ..., m jusqu ce que la
x-coordonne dun de ces points concide avec celle dun point stock
dans (1).
4. Dcider si Q jmP = iP ou iP .
5. Si iP = Q jmP , nous avons Q = kP avec k i + jm mod N .
Lalgorithme marche car 0 k < m2 et donc on peut crire k = k0 + mk1
avec m/2 < k0 m/2. Ainsi k1 = (k k0 )/m < m + 1/2, do 0 k1 m
45
La mthode de Pollard
46
Cela nous donne d choix pour k. Dhabitude, d sera petit (sinon on peut recommencer pour trouver une autre relation entre P et Q), nous pouvons donc
essayer toutes les possibilits jusqu obtenir Q = kP . Pour les applications
cryptographiques, N est souvent un nombre premier, et dans ce cas d = 1.
Si d = N , nous avons une relation triviale et nous devons recommencer
nouveau.
Si on fait limplmentation de cet algorithmetel que nous lavons prsent,
nous nous apercevons quil cote environ O( N ) pour stocker les Pj , ce qui
est similaire au Baby Step, Giant Step. Cependant, R.W. Floyd avait remarqu quil est possible de rduire le cot de stockage en faisant juste un peu
plus de calculs. Lide est que, sil y a une collision pour deux indices qui diffrent par r, alors tous les indices suivants qui diffrent par r donneront aussi
une collision cause de la priodicit. Alors, nous calculons la paire (Pi , P2i )
pour i = 1, 2, ..., mais nous ne gardons que la paire actuelle. Nous pouvons calculer la paire suivante comme suit : (Pi+1 , P2(i+1) ) = (f (Pi ), f 2 (P2i )).
Maintenant, si nous supposons que i i0 est un multiple de r, alors les indices 2i et i diffrent par r et donc il y a une collision : Pi = P2i . Comme
r j0 et i0 < j0 , il suit quil doit y avoir une collision pour i j0 . Soit la
taille de la queue dcrite par la suite {Pi } (penser au dessin de la figure 5), et
= d e
soit sa priode. Sil y a une collision Pi = P2i , alors i = +(i)
La mthode de Pohlig-Hellman
(9)
et alors k =
t
X
ci ki
i=1
N
N
e1 + + ct et = 1,
q1
qt
(10)
N
satisfait toutes le congruences. Vrifions quil rsout
qiei
le DLP original :
kP =
t
X
i=1
X N
N
ci ki ei P =
ci e i Q =
qi
qi
i=1
t
X
i=1
50
N
ci e i
qi
!
Q=Q
k
q
P
)
=
(Qr2 kr2 q k2 P kr1 q r1 P )
r
r1
r1
r+1
r+1
r+1
q
q
q
N
N
r
r+1
+ )P = kr
P .
= = r+1 (kr q + kr+1 q
q
q
Observons que nous avons rduit le problme du logarithme discret kPi = Qi
(avec Pi = N/qiei P et Qi = N/qiei Q), qui a un temps dexcution O (Sqei ), au
calcul de e problmes du logarithme discret kP = Q avec P qui est dordre
q, ce qui reprsente une petite amlioration par rapport au thorme 9, parce
que le temps dexcution est maintenant O(ei Sq ).
Si lordre N de P contient des facteurs premiers trop grands, on voit que
Pohlig-Hellman nest pas trs utile car le DLP original ne se divise pas en
DLPs pour lesquels rsoudre le problme est cens tre plus simple. Ainsi,
dans lalgorithme quon a prsent, il devient difficile de lister les lments
de T dans ltape (1). Cependant, si N contient quelques facteurs premiers
petits, on peut extraire une information partielle de la valeur de k. Cette
situation peut tre indsirable en cryptographie. Alors, on choisit trs souvent G de sorte que son ordre soit un nombre premier trs grand. On peut y
51
arriver en prenant un groupe dont lordre est divisible par un premier q trs
grand. On choisit alatoirement un point P1 et on calcule son ordre. Avec
une trs grande probabilit (au moins 1 1/q) lordre de de P1 divise q, donc
avec peu dessais on peut trouver un tel point. Une fois P1 dordre mq trouv,
on pose P = mP1 qui sera dordre q. Aussi grand que q soit, le problme du
logarithme discret sur le sous-groupe cyclique engendr par P est rsistant
lattaque de Pohlig-Hellman.
Exemple 14.
Soit G = E(F433 ) avec E : y 2 = x3 x + 1. Soient P = (416, 393) et
Q = (314, 111). Le point P est dordre N = 400 (qui est dailleurs lordre de
G). On veut rsoudre kP = Q. La dcomposition de N en facteurs premiers
est
400 = 24 52 .
k (mod 24 ) : On calcule dabord T = {O, (309, 0)}. Puisque
(N/2)Q = (309, 0),
on a k0 = 1. Donc,
Q1 = Q k0 P = Q P = (87, 372).
Puisque (N/22 )Q1 = (309, 0), on a k1 = 1. Donc,
Q2 = Q1 k1 2 P = (288, 302).
Puisque (N/23 )Q2 = O, on a k2 = 0. Ainsi,
k = 1 + 1 2 + 0 22 + 3 mod 24 .
k (mod 52 ) : On calcule dabord
T = {O, (418, 377), (192, 196), (192, 237), (418, 56)}.
Puisque (N/5)Q = O, on a k0 = 0. Donc,
Q1 = Q k0 P = Q.
Puisque (N/52 )Q1 = (192, 196), on a k1 = 2. Ainsi,
k = k0 + k1 5 + 10 mod 52 .
On doit ensuite rsoudre les congruences
k 3 (mod 24 )
k 10 (mod 52 )
et on trouve k 35 (mod 400), donc k = 35 et 35P = Q.
52
5.3
Lalgorithme MOV
Les algorithmes de collision, tels que la mthode de Pollard est ses variantes, sont les algorithmes les plus rapides pour rsoudre un ECDLP. Il
arrive nanmoins que pour certaines courbes elliptiques, le ECDLP se rduit
un DLP plus facile rsoudre dans le groupe multiplicative dun corps fini.
Cest lobservation faite par Menezes, Okamoto et Vanstone, qui ont suggr
dutiliser le couplage de Weil comme nous allons dcrire maintenant.
Dfinition 10. Soit Fq un corps fini et soit N 1 un entier. Soit N le
groupe de racines N -imes de lunit dans Fq . Le degr dincrustation de
N dans Fq est le plus petit entier d 1 tel que
N F
.
qd
Comme F
est un groupe cyclique dordre q d 1, ceci est quivalent dire
qd
que d est le plus petit entier que q d 1 mod N .
Lemme 5. Soit E une courbe elliptique sur Fq , soit N 1 un entier tel que
pgcd(q 1, N ) = 1, et soit d le degr dincrustation de N dans Fq . Supposons
que E(Fq ) contient un point dordre N . Alors E[N ] E(Fqd ).
Dmonstration. Soit P E(Fq ) dordre N . On choisit T E[N ] tel que
{P, T } soit une base de E[N ]. Soit q : Fq Fq la q-ime puissance de
lendomorphisme de Frobenius. Comme P E(Fq ), alors q (P ) = P et
q (T ) = aP + bQ avec a, b des entiers dtermins uniquement modulo N .
Soit eN le couplage de Weil, alors
eN (P, T )q = q (eN (P, T )) = eN (q (P ), q (T ))
= eN (P, aP + bT ) = en (P, P )a eN (P, T )b = eN (P, T )b
par le proprits de eN . Par le corollaire 2, eN (P, T ) est une racine N -ime
primitive de lunit, donc lquation ci-dessus implique
b q mod N.
On applique ensuite d fois q T , en sachant quil fixe P , pour arriver
dq (T ) = a(1 + q + q 2 + + q d1 )P + q d T.
Comme d est le degr dincrustation de N dans Fq , d satisfait q d 1 mod N .
Donc, dune part q d T = T . Et dautre part, la relation
(q 1)(1 + q + + q d1 ) = q d 1 0 mod N
53
Lattaque de Frey-Rck
55
La cryptographie est une discipline de la cryptologie qui cherche protger des messages en assurant leur confidentialit, authenticit et intgrit,
souvent laide des cls. Une cl est un paramtre utilis pour le chiffrement,
dchiffrement ou encore la signature (procs dauthentification) des messages,
entre autres. Les intrts militaires, commerciaux et de protection de la vie
prive, font de la cryptographie un sujet trs important. Un cryptosystme
est un protocole de communication, cest dire, une spcification de rgles
pour un type de communication. Parmi les principaux protocoles cryptographiques nous trouvons les algorithmes de cryptographie symtrique,
qui se fondent essentiellement sur une mme cl pour chiffrer et dchiffrer
un message, et les algorithmes de cryptographie asymtrique, qui se
basent sur le principe de deux cls : une cl publique (comme son nom lindique, elle est rendue publique disposition de quiconque dsire chiffrer un
message) qui permet le chiffrement et une cl prive qui permet le dchiffrement (le message chiffr ne peut donc tre dchiffr quavec la cl prive, qui
doit rester confidentielle). Un inconvnient avec les algorithmes de cryptographie symtrique est que la cl doit rester confidentielle, et doit tre transmise
au correspondant de faon sre. Lexcution de cette manuvre peut tre
difficile si le nombre de correspondants est important, car il faut autant des
cl que des correspondants.
En gnral, les algorithmes asymtriques sont plus lents que les meilleures
algorithmes symtriques et il est donc trs courant dutiliser un algorithme
asymtrique pour tablir une cl affin de lutiliser dans un protocole cryptographique symtrique. Parmi les algorithmes asymtriques les plus utiliss
nous avons : RSA (chiffrement et signature), DSA (signature) et le protocole dchange des cls Diffie-Hellman. Ces trois protocoles cryptographiques se basent sur larithmtique des nombres entiers, voir par exemple
[5, sections 3,4,5].
La scurit dun cryptosystme est subtile et complique dvaluer, et il ne
suffit pas de savoir quun espion nest probablement pas capable de dcrypter
un message, cest dire casser lalgorithme, car il peut arriver que lespion
intercepte le message et renvoie celui-ci avec des erreurs afin de tromper le
vrai rcepteur. Donc, le rcepteur doit tre capable de dcider si le message
a t transmis sans erreur. Il y a beaucoup dautres facteurs qui peuvent
compromettre la scurit dun systme (voir [5, section 2]). Ainsi, nous di56
6.1
Alice et Bob veulent se mettre daccord sur une cl pour pouvoir lutiliser
dans un protocole cryptographique quelconque (par exemple, un protocole
symtrique). Nous supposons que ni Bob ni Alice nont pas t en contact et
le canal de communication entre le deux est public. Lalgorithme de DiffieHellman pour tablir cette cl secrte est le suivant :
1. Alice et Bob se mettent daccord sur un corps fini Fq , une courbe
elliptique E dfinie sur ce corps et un point P E(Fq ). E, Fq et P sont
rendus publiques, et ils reprsentent la cl publique du cryptosystme.
2. Alice choisit secrtement un entier a et calcule A = aP E(Fq ).
Lentier a est la cl prive dAlice.
3. Bob choisit secrtement un entier b et calcule B = bP E(Fq ). Lentier
b est la cl prive de Bob.
4. Alice envoie aP Bob et Bob envoie bP Alice.
5. Alice calcule a(bP ) laide de sa cl prive et Bob calcule de mme
b(aP ) avec sa cl priv. Tous les deux ont alors chang la mme valeur
du point abP .
57
Remarque 6.
Typiquement, le corps fini Fq , la courbe elliptique E et le point P E(Fq )
sont choisis et publis par une agence rgulatrice de standards, comme par
exemple la NIST (National Institute of Standards and Technology) aux
tats Unis. Ces paramtres sont choisis de sorte que ECDLP soit intraitable
par les attaques connues jusqu prsent. Ainsi par exemple, on choisira P
tel que son ordre N soit divisible par un premier suffisamment grand pour
rsister lattaque de Pohlig-Hellman.
Comme le canal travers lequel circulent aP et bP nest pas forcment
scuris, lespionne ve peut les intercepter. De plus , elle connat la cl
publique, cest dire elle connat aussi P . En principe, si ve veut dchiffrer la cl change, elle doit pourvoir rsoudre un des ECDLP suivants :
ka P = A ou kb P = B. Nous supposons que la courbe E rsiste aux attaques
du ECDLP connus. Cependant, un autre facteur pourrait affaiblir le protocole Diffie-Hellman : tant donns P, aP et bP dans E(Fq ), et un point
Q E(Fq ), dterminer si Q = abP ou non. Cest ce que lon appelle le
problme de dcision de Diffie-Hellman, abrg DDH. Daprs [2], ve peut
rsoudre DDH en temps polynmial sur les courbes super-singulires laide
des couplages de Weil et de Tate. Pour un exemple concret, on pourra voir
[9, section 6.2].
6.2
Chiffrement dElGamal
ElGamal est un autre algorithme de cryptographie asymtrique qui repose sur la difficult de rsoudre ECDLP. La procdure est la suivante :
1. Alice et Bob se mettent daccord sur un corps fini Fq , une courbe
elliptique E dfinie sur ce corps et un point P E(Fq ). E, Fq et P sont
rendus publiques, et ils reprsentent la cl publique du cryptosystme.
2. Alice choisit secrtement un entier a et calcule A = aP E(Fq ).
3. Alice rend publique le point A, cest sa cl publique. Elle garde secret
a, cest sa cl prive.
4. Bob exprime son message comme un point M E(Fq ) et choisit un
entier alatoire k. Bob calcule les points B1 = kP E(Fq ) et B2 =
M + kA E(Fq ).
5. Bob envoie para un canal potentiellement non sr (B1 , B2 ) Alice.
6. Alice utilise sa cl prive a pour dchiffrer le message de Bob en calculant B2 aB1 = M .
58
Comme pour Diffie-Hellman, (Fq , E, P ) sont choisis par une entit rgulatrice et au moment o Alice diffuse sa cl publique, nimporte qui peut lui
envoyer un message. Le fait que Bob envoie une paire (B1 , B2 ) de points rend
lalgorithme un peu coteux, du fait de lutilisation de 2 bit pour un 1 bit de
message envoy. Il est important pour Bob de choisir un entier alatoire k
chaque fois quil souhaite envoyer un message Alice, autrement lespionne
ve peut dcider si k a chang ou pas en interceptant deux paires successives
(B1 , B2 ) et (B10 , B20 ) envoys par Bob. Si B1 = B10 , ve sait que Bob a utilis
le mme k et elle calcule B2 B20 = M M 0 . Donc, si M est connu, par
exemple si M est un annonce de soldes rendu publique le jour suivant, ve
peut trouver M 0 = M B2 + B20 .
6.3
Signature digitale
Il est possible que le canal de communication entre Bob et Alice soit compromis sans que ni lun ni lautre puissent sen douter. Lattaquant (ve) est
capable, en principe, dobserver et dintercepter les messages dune victime
lautre, et peut se faire passer pour un dentre eux pour lire et modifier les
messages envoys. Ce type dattaque est connu comme lattaque de lhomme
du milieu ou MITM (man in the middle) pour ses initiales en anglais. Dcrivons le droulement de cette attaque sur un protocole asymtrique o Alice
et Bob veulent changer des donnes confidentielles et lespionne ve, veut les
intercepter. Ils possdent chacun une cl prive As , Bs et Es respectivement
et une cl publique Ap , Bp et Ep respectivement. Admettons quve soit en
mesure de modifier les changes entre Bob et Alice :
Bob envoie sa cl publique Bp Alice. ve lintercepte, et renvoie sa
propre cl publique Ep Alice en se faisant passer par Bob.
Lorsque Alice veut envoyer un message Bob elle utilise, sans le savoir,
la cl publique de ve.
Alice chiffre son message avec la cl publique dve et lenvoie celui
quelle croit tre Bob.
ve intercepte le message et le dchiffre avec sa cl prive Es , puis elle
modifie son contenu et le renvoie Bob en utilisant la cl publique Bp
de celui-ci.
Bob dchiffre le message avec sa cl prive Bs et ne se doute de rien.
Le schma prsent ci-dessus est une des faons possible de compromettre la
confidentialit de messages envoys. Il existe plusieurs solutions pour viter
cette attaque, lune dentre elles est la signature digitale, qui est un mcanisme
permettant de garantir lintgrit du message et den authentifier lauteur,
59
6.4
Signature dElGamal
En gnral, il est peu probable que m0 soit un message avec une vraie signification, donc cette procdure ne compromet pas la scurit du systme. Par
contre, Alice peut se servir dune fonction de hachage et signer son message
par
(H(m), RH , sH ).
Par le proprits dune fonction de hachage, il sera trs difficile pour ve de
falsifier le message. Pour R0 et m0 elle doit trouver s0 tel que f (R0 )B + s0 R0 =
H(m0 )A, ce qui est infaisable car H est primage rsistante. Comme avant,
Bob calculera V1 = f (RH )B + sH RH et V2 = H(m)A et vrifiera si V1 = V2
pour valider le message.
6.5
Donc
x (v1 P + v2 A E(Fq )) x(kP ) s1 (mod N ).
En pratique lECDSA repose souvent sur des courbes recommandes par les
entits rgulatrices. La NIST recommande par exemple quinze courbes elliptiques diffrentes sur 10 corps diffrents. Cinq courbes sont recommandes
sur cinq corps finis dordre p premier Fp , nommes P-192, P-224, P-256, P384, P-521, dix courbes sur cinq corps finis de la forme F2m .
Choisir k de faon alatoire chaque nouvelle signature est important, pour
les mmes raisons que nous avons dj examin dans la signature dElGamal. De mme, appliquer une fonction de hachage H au message m, permet
de mieux protger le systme contre les attaques de falsification. Donc, la
scurit de lECDSA repose comme toujours sur la difficult de rsoudre le
problme du logarithme discret, et les meilleurs algorithmes connus (si la
courbe elliptique en question nest pas susceptible dautres attaques trs
particulires elles, telles
que les courbes anomalies) comme Baby Step,
Giant Step sont en O( N ). Lavantage avec lECDSA est quelle utilise des
tailles des cls plus rduites et que les oprations de signature et de chiffrement sont plus rapides. LECDSA est notamment utilis pour scuriser et
vrifier les transactions des Bit coins.
6.6
Les couplages sur les courbes elliptiques ont aussi des applications intressantes en cryptographie. Nous avons vu dans la section 3.2 le couplage de
Weil
eN : E[N ] E[N ].
63
Mais pour quil soit vraiment utile en cryptographie, nous aimerions quil
nagisse pas de faon triviale sur E[N ]. Or, ce nest pas le cas car eN (T, T ) = 1
pour tout T E[N ] daprs le thorme 4. Une faon de contourner ce
problme est dutiliser une courbe qui admet un homomorphisme sur lui
mme
:EE
tel que {T, (T )} soit une base de E[N ]. A partir de cet homomorphisme,
nous dfinissons
eN : E[N ] E[N ] N
(T, S) 7 eN (T, (S)).
Ce couplage de Weil modifi a la proprit que eN (T, T ) est une racine N ime primitive de lunit (proposition 2), mais aussi celles de bilinarit de
eN .
Exemple 15.
Soit E : y 2 = x3 + b dfinie sur Fq avec q 2 (mod 3) et b un carr dans F
q .
Soit Fq une racine cubique primitive de lunit. Remarquons que 6 Fq
car 3 - q 1. Lapplication
: E(Fq ) E(Fq )
(x, y) 7 (x, y)
Est un homomorphisme tel que si T E(Fq ) est dordre exacte N et 3 - N ,
alors {T, (T )} est une base de E[N ].
est bien dfinie car 3 = 1 et un calcul direct montre que cest bien un
homomorphisme. Soient u, v des entiers tels que uT + v(T ) = 0. Donc,
(vT ) = v(T ) = uT . Si vT = O, alors uT = O et u v 0 (mod N ).
Si au contraire vT 6= O, alors vT = (x, y) avec x, y Fq , et donc (vT ) =
(x, y)
E(Fq ). Puisque 6 Fq , ncessairement x = 0 et alors vT =
(0, b) qui est un point dordre 3, ce qui nest pas possible car 3 - N .
Finalement {T, (T )} est une base de E[N ] et satisfait que eN (T, T ) =
eN (T, (T )) et une racine N -ime primitive de lunit.
6.6.1
La procdure suivante permet trois personnes Alice, Bob et Carlos dchanger une cl dont la valeur nest pas connue lavance par eux :
64
1. Les trois se mettent daccord sur un corps fini Fq , une courbe elliptique
E dfinie sur ce corps, un premier N , et un point T E[N ] pour lequel
il existe un couplage bilinaire sur E
h, i : E[N ] E[N ] N
avec la proprit que hT, T i est une racine N -ime primitive de lunit.
2. Alice, Bob et Carlos choisissent leurs cls prives a, b et c respectivement. Alice calcule A = aT , Bob calcule B = bT , et Carlos calcule
C = cT .
3. Ils rendent publiques les valeurs A, B et C.
4. Alice calcule hB, Cia , Bob calcule hA, Cib , et Carlos calcule hA, Bic .
5. Ils partagent maintenant la mme valeur hT, T iabc .
Si lespionne ve est capable de rsoudre ECDLP, alors elle peut casser le
triple change de Diffie-Hellman. ve peut par exemple, trouver la cl secrte
dAlice en rsolvant A = aT . Elle peut aussi casser le systme si elle peut
rsoudre le problme du logarithme discret dans F
q . Comme elle connat les
valeurs de T, A et B, elle peut rsoudre le DLP
hT, T im = hA, Bi
pour trouver la valeur m = ab, et en dduire la valeur partage par Alice,
Bob et Carlos en calculant hT, Ciab = hT, cT iab = hT, T iabc .
Le DLP dans F
q peut tre rsolu en un temps subexponentiel, donc il est
actuellement plus facile de rsoudre le DLP dans F
q que ECDLP dans E(Fq ),
car on ne connat pas dalgorithme subexponentiel pour ECDLP (les meilleurs
tant Baby Step, Giant Step et Pohlig-Hellman). Donc, pour une bonne implmentation de cet algorithme, il faut choisir q suffisamment grand pour
rsister aux attaques du DLP dans F
q .
6.6.2
66
Conclusions
69
Rfrences
[1] Laurent Dewaghe. Priodicit des polynmes de division sur une courbe
elliptique. Math. Res. Lett., page 887891, 2007.
[2] Steven D. Galbraith and Victor Rotger. Easy decision-diffie-hellman
groups. LMS J. Comput. Math. 7, pages 201218, 2004.
[3] Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman. An Introduction
to Mathematical Cryptography. Springer, 2008.
[4] Marc Joye. Introduction lmentaire la thorie des courbes elliptiques.
Technical report, Universit Catholique de Louvain, 1995.
[5] Neal Koblitz and Alfred J. Menezes. A survey of public-key cryptosystems. AMS subject classifications. 94A60, 11T71, 14G50, 68P25, page
128, 2004.
[6] Serge Lang. Complex Analysis, 4th edition. Springer, 1999.
[7] John J. McGee. Ren schoofs algorithm for determining the order of the
group of points on an elliptic curve over a finite field. Masters thesis,
Virginia Polytechnic Institute and State University, 2006.
[8] Joseph H. Silverman. The Arithmetic of Elliptic Curves. Springer, 2nd
ed. 2009 edition.
[9] Lawrence C. Washington. Elliptic curves : number theory and cryptography. CRC Press Web, 2008, second edition.
70