P
3•
P
4•
Q
1•
ι(Q
1)
•
Q
2•
ι(Q
2)
•
Figure 5.2 – Exemple d’addition de points sur une courbe hyperelliptique de genre 2.
On montre qu’en utilisant des techniques classiques pour la multiplication et le pgcd de
po-lynˆomes, la complexit´e du calcul de la loi de groupe est enO(g
2) op´erations dans le corps de base
F
q. Il existe un certain nombre d’am´eliorations `a l’algorithme de Cantor. On peut simplifier son
d´eroulement pour certaines entr´ees sp´ecifiques, typiquement lorsqueD
1=D
2o`u les calculs de pgcd
sont facilit´es. Quand le genre est grand, on peut jouer sur la phase de r´eduction pour l’acc´el´erer,
et on peut utiliser des algorithmes de calcul du produit et du pgcd de deux polynˆomes `a base de
transform´ee de Fourier rapide, pour une complexit´e asymptotique enO(glog
2glog logg) op´erations
dans F
q. Il existe aussi des optimisations sp´ecifiques aux genres 2 et 3, et pour certains types de
courbes ; on renvoie `a [BSS05, chapitre VII] pour plus de d´etails.
Similairement au cas elliptique, si H est une courbe hyperelliptique de genre g d´efinie sur
F
q, l’ensemble des points F
q-rationnels de sa jacobienne forme un groupe commutatif fini dont la
structure est
Jac
H(F
q)'Z/n
1Z× · · · ×Z/n
2gZ,
o`u n
i|n
i+1pour 1≤i <2g etn
i|(q−1) pouri≤g.
5.3 Attaques sp´ecifiques du logarithme discret
Soit H une courbe (hyper-)elliptique d´efinie sur un corps fini F
q. On a vu que l’ensemble
Jac
H(F
q) des pointsF
q-rationnels de sa jacobienne forme un groupe commutatif fini, dont la loi est
calculable en un temps polynomial en la taille du groupe. De tels groupes sont donc des candidats
naturels pour la pratique de la cryptographie bas´ee sur le probl`eme du logarithme discret. Il est `a
noter que pour ˆetre r´eellement utile en cryptographie, il faut ˆetre capable de produire des courbes
Htelles que Jac
H(F
q) admette un sous-groupe d’ordre grand premier, ce que l’on sait faire
actuelle-ment de deux fa¸cons diff´erentes : soit en tirant des courbes al´eatoires et en utilisant des algorithmes
efficaces de comptage de points jusqu’`a obtenir un grand facteur premier, soit en cherchant
directe-ment une jacobienne de cardinalit´e prescrite en utilisant les m´ethodes de multiplication complexe
[CFA
+06, chapitres 17 et 18].
Les courbes alg´ebriques sont particuli`erement int´eressantes pour la cryptographie dans la mesure
o`u, en g´en´eral, on ne connaˆıt pas d’attaque du DLP plus performante que les g´en´eriques quand le
genre g est inf´erieur ou ´egal `a 2 ; dans le cas o`u g ≥ 3, on peut mettre en place des algorithmes
de calcul d’indices (voir section 5.4). Cependant dans des situations bien particuli`eres, on peut
transf´erer le DLP vers un groupe o`u sa s´ecurit´e est plus faible. On pr´esente ici deux attaques
par transfert, l’une vers le groupe multiplicatif d’un corps fini, et l’autre vers un corps p-adique.
Un autre type de transfert (par descente de Weil) sera d´etaill´e en chapitre 6. Pour simplifier, on
se limitera au cas des courbes elliptiques, bien que les deux attaques s’appliquent ´egalement aux
vari´et´es jacobiennes.
5.3.1 Transfert par couplage
L’existence de groupes sur lesquels on peut d´efinir un couplageeffectivement calculable fournit
un nouveau type de fonction `a sens unique, sur lesquelles on peut baser de nouveaux protocoles
en cryptographie `a clef publique. A contrario, ces couplages offrent une structure suppl´ementaire
permettant ´eventuellement d’attaquer le DLP. On rappelle la d´efinition de couplage dans un cadre
g´en´eral.
D´efinition 5.3.1. SoientG
1etG
2deux groupes d’exposant nnot´es additivement, etG
3un groupe
cyclique d’ordre n not´e multiplicativement. Uncouplage est une applicatione:G
1×G
2→G
3, qui
est
– bilin´eaire : pour tout g
1∈G
1, g
2∈G
2, a, b∈Z/nZ, on a e([a]g
1,[b]g
2) =e(g
1, g
2)
ab;
– non d´eg´en´er´e : pour tout g
1∈G
1\ {0}, il existe g
2∈G
2tel que e(g
1, g
2)6= 1; de mˆeme pour
tout g
2∈G
2\ {0}, il existe g
1∈G
1tel que e(g
1, g
2)6= 1.
Les groupes associ´es aux courbes alg´ebriques sont naturellement munis de couplages. Un des
plus important est le couplage de Weil v´erifiant les propri´et´es suivantes :
Propri´et´e 5.3.2. SoientE
|kune courbe elliptique et nun nombre premier `a la caract´eristique de
k. Il existe un couplage w
n:E[n]×E[n]→µ
n⊂K
∗(o`u µ
nest le groupe des racines n-i`emes de
l’unit´e), appel´ecouplage de Weil, qui est
(i) antisym´etrique : w
n(P
1, P
2) =w
n(P
2, P
1)
−1;
(ii) Galois-invariant : pour tout σ∈Gal(K/k), w
n(σ(P
1), σ(P
2)) =σ(w
n(P
1, P
2)).
On s’int´eresse surtout au cas o`u k est un corps fini F
q. L’invariance par Galois montre que si
P
1etP
2sont d´efinis sur une extensionF
qd, le couplagew
n(P
1, P
2) appartient `a F
qd. L’algorithme
de Miller permet alors de calculer ce couplage de fa¸con effective avec une complexit´e en O(logn)
op´erations dansE(F
qd) [Mil04].
La non-d´eg´en´erescence et l’invariance par Galois impliquent que si toute la n-torsion deE est
d´efinie sur F
qd, alorsµ
n⊂F
∗qd
, i.e.n|(q
d−1). Ce r´esultat admet une r´eciproque partielle :
Proposition 5.3.3 (Balasubramanian-Koblitz [BK98]).
SoientE une courbe elliptique d´efinie sur F
qetr un nombre premier tel quer∧q= 1 etr|#E(F
q).
Si r -(q−1), alors E[r]⊂E(F
qd) si et seulement si r|(q
d−1).
Le plus petit entier d
ptel quen|(q
dp−1) est appel´e degr´e de plongement (associ´e `a q et `an) ;
ainsi, le couplage de Weil w
nest `a valeurs dans F
qdp. Le degr´e de plongement est un param`etre
fondamental pour mesurer la s´ecurit´e des courbes utilis´ees en cryptographie et l’efficacit´e des
pro-tocoles `a base de couplages. En effet, on peut d´efinir d’autres couplages sur une courbe elliptique
(par exemple pour s’affranchir de la propri´et´e d’antisym´etrie de w
n), mais tous font intervenir le
degr´e de plongement ; le plus utilis´e en cryptographie est celui de Tate-Lichtenbaum :
t
n:E(F
qdp)[n]×E(F
qdp)/[n]E(F
qdp)→F
∗qdp
/(F
∗qdp)
n'µ
n.
Lorsqu’on dispose d’un couplage e:G
1×G
2→ G
3, on peut naturellement transf´erer le DLP
de G
1dans G
3. Soient g ∈ G
1d’ordre n et h ∈ hgi un ´el´ement de G
1dont on veut calculer le
logarithme x en base g. La non-d´eg´en´erescence du couplage implique qu’il existe g
2∈G
2tel que
e(g, g
2) 6= 1 soit d’ordre n. Comme e(h, g
2) = e([x]g, g
2) = e(g, g
2)
x, on se ram`ene `a calculer le
logarithme de e(h, g
2) en base e(g, g
2). Dans le cas o`u G
1= E(F
q)[r] et G
3= µ
r⊂ F
∗qdp
o`u r
premier divise #E(F
q) etd
pest le degr´e de plongement associ´e `a q et r, on retrouve l’attaque de
Menezes-Okamoto-Vanstone [MOV93] avec le couplage de Weil et l’attaque de Frey-R¨uck [FR94]
avec le couplage de Tate. Comme il existe des algorithmes de calcul d’indices de complexit´e
sous-exponentielle pour r´esoudre le DLP dansF
∗qdp
, ce transfert va ˆetre efficace d`es lors que le degr´e de
plongement n’est pas trop gros. En particulier, siE
|Fqest supersinguli`ere (i.e.E(F
q)[q] ={O}), on
peut montrer que le degr´e de plongement pour tout diviseur de #E(F
q) est inf´erieur ou ´egal `a 6,
et mˆeme `a 2 si q est premier strictement sup´erieur `a 3. Utiliser de telles courbes en cryptographie
impose donc de travailler avec des tailles de clefs plus importantes que celles n´ecessaires pour
r´esister aux attaques g´en´eriques.
Il est `a noter cependant que pour une courbe elliptique ordinaire (i.e. non supersinguli`ere)
quelconque d´efinie sur F
q, le degr´e de plongement attendu est g´en´eralement grand (de l’ordre de
q), de telle sorte que le simple calcul d’un couplage est inaccessible. Ce transfert ne peut donc pas
s’appliquer `a la grande majorit´e des courbes elliptiques utilis´ees en cryptographie.
5.3.2 Courbes anomales
SoientF
qun corps fini avecq =p
α(ppremier) etQ
qle corps des nombresq-adiques
correspon-dant [CFA
+06, chapitre 3]. L’application de r´eduction modulo p associe `a toute courbe elliptique
E d´efinie sur Q
qune courbe E d´efinie sur F
q, ´eventuellement singuli`ere, et induit une application
π:E(Q
q)→E(F
q) [Sil86, chapitre VII]. Dans le cas o`uE est non singuli`ere, cette application est un
homomorphisme dont on noteE
1(Q
q) ={P˜ ∈ E(Q
q) : ˜P =O
Emod p}le noyau. Il se trouve que la
structure deE
1est relativement simple, en particulier c’est un groupe o`u le DLP est facile. En effet,
il existe une fonction logarithmeq-adiqueϑ
q:E
1(Q
q)→pZ
qtelle queϑ
q(P
1+P
2) =ϑ
q(P
1)+ϑ
q(P
2),
et cette fonction est donn´ee par une s´erie enti`ere explicite en la coordonn´ee z = −x/y. De plus,
si l’on note E
2(Q
q) = [p]E
1(Q
q) l’image de E
1par la multiplication par p, on a un isomorphisme
E
1(Q
q)/E
2(Q
q)'pZ
q/p
2Z
q'(F
q,+) donn´e par le logarithmeq-adiqueϑ
qmodulo p
2.
Il est alors naturel d’essayer de transf´erer le DLP d’une courbeE
|Fqvers le groupeE
1(Q
q) pour
un relev´e E
|Qqde E. Cette technique va fonctionner pour les sous-groupes de E(F
q) d’ordre une
puissance de p.
D´efinition 5.3.4. Soit F
qun corps fini avec q =p
α, p premier. On appelle courbe anomale toute
courbe E
|Fqtelle que #E(F
q) = 0 mod p.
Soient E une courbe anomale, P ∈E(F
q) un point d’ordrepetQ∈ hPi un point dont on veut
calculer le logarithme x en base P. On choisit un relev´e q-adique E de E, ainsi que des relev´es ˜P
et ˜Q de P et Q, qui ne sont pas de p-torsion ; on note que ˜R = [x] ˜P −Q˜ est un ´el´ement de E
1,
en g´en´eral non nul. Comme P et Q sont d’ordre p, on sait que les points [p] ˜P et [p] ˜Q sont dans
E
1, et que [p] ˜R= [x]([p] ˜P)−[p] ˜Qest dansE
2. En prenant les logarithmesq-adiques, on trouve que
x ϑ
q([p] ˜P)−ϑ
q([p] ˜Q) = 0 mod p
2, et que
x=ϑ
q([p] ˜Q)/ϑ
q([p] ˜P) mod p.
En pratique, aucun calcul n’a pas besoin de d´epasser la pr´ecision 3 et la complexit´e de cette
attaque est polynomiale en logq. Cette minorit´e de courbes est donc `a ´eviter absolument pour
toute application cryptographique.
Dans le document
Attaques algébriques du problème du logarithme discret sur courbes elliptiques
(Page 111-114)