• Aucun résultat trouvé

Attaques sp´ ecifiques du logarithme discret

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

2

o`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

2

glog 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

1

Z× · · · ×Z/n

2g

Z,

o`u n

i

|n

i+1

pour 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

1

etG

2

deux groupes d’exposant nnot´es additivement, etG

3

un 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

2

tel que e(g

1

, g

2

)6= 1; de mˆeme pour

tout g

2

∈G

2

\ {0}, il existe g

1

∈G

1

tel 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

|k

une 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 µ

n

est 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

1

etP

2

sont 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

q

etr 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

p

tel quen|(q

dp

−1) est appel´e degr´e de plongement (associ´e `a q et `an) ;

ainsi, le couplage de Weil w

n

est `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

1

dans G

3

. Soient g ∈ G

1

d’ordre n et h ∈ hgi un ´el´ement de G

1

dont on veut calculer le

logarithme x en base g. La non-d´eg´en´erescence du couplage implique qu’il existe g

2

∈G

2

tel 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

p

est 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

|Fq

est 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

q

un corps fini avecq =p

α

(ppremier) etQ

q

le 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

q

une 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

E

mod p}le noyau. Il se trouve que la

structure deE

1

est 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

q

telle 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

1

par la multiplication par p, on a un isomorphisme

E

1

(Q

q

)/E

2

(Q

q

)'pZ

q

/p

2

Z

q

'(F

q

,+) donn´e par le logarithmeq-adiqueϑ

q

modulo p

2

.

Il est alors naturel d’essayer de transf´erer le DLP d’une courbeE

|Fq

vers le groupeE

1

(Q

q

) pour

un relev´e E

|Qq

de 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

q

un corps fini avec q =p

α

, p premier. On appelle courbe anomale toute

courbe E

|Fq

telle 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.