• Aucun résultat trouvé

4.2 Polynômes de degré 3

4.2.2 Courbes de genre 2

Paramétrisation.

Dans la même veine que la section4.2.1, nous avons fait une étude systématique des courbes (4.2) de genre 2 (génériquement) vues comme une fonction des degrés des numérateurs et des dénominateurs des fonctions rationnelles S(Y)etT(Y). Les résultats sont synthétisés dans le tableau 4.2.

Nous cherchons ici à paramétriser des courbes de genre 2 en utilisant les enco-dages connus pour les courbes de genre 0 et 1. Trois cas sont donc intéressants :

si S(Y)et T(Y) sont tous deux des fonctions rationnelles de degré 1 ; si S(Y)est une fonction rationnelle de degré 2 et T(Y) une constante ; si S(Y)est une constante et T(Y)une fonction rationnelle de degré 2.

1. Par exemple, on pourrait imaginer qu'un appareil de puissance limitée calcule le haché y et l'envoie à un autre, spécialisé en les opérations sur les courbes et capable de calculer le xassocié et réaliser les opérations de groupe.

4.2. POLYNÔMES DE DEGRÉ 3 61

Degrés

S(Y) Num. 2 0 1 2 2 2 1 1 0 1 1 1 1 2 0 0 0

Dén. 1 2 2 2 0 1 1 0 1 1 1 0 0 0 0 0 0

T(Y) Num. 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 2 2

Dén. 0 0 0 0 1 1 1 1 1 0 1 2 2 2 2 1 2

Genre de l'équation (4.2) 1 1 1 1 2 2 1 1 1 1 1 2 2 3 1 1 1 Table 4.2 Degrés de S(Y) et T(Y) pour les courbes planes de genre 2 données par l'équation (4.2)

Nous étudions les deux premiers cas seulement : il s'avère que le troisième produit des courbes qui sont obtenues également par le second.

Si S(Y) et T(Y) sont des fonctions rationnelles de degré 1.

SoitS(Y) = (αY +β)/(γY +δ)etT(Y) = (εY +ϕ)/(µY +ν), alors la courbe (4.2) est birationnellement équivalente aux courbes de la formey2/d2 = (x3+3ax+2c)2+ 8bx3

a= δε−γϕ

δµ−γν, b = (αδ−γβ)(µϕ−εν)

(δµ−γν)2 , c= βε−αϕ

δµ−γν et d= (δµ−γν). Beaucoup de ces courbes sont isomorphes les unes aux autres, et sans perte de généralité on peu xer c = 1 et d = 1. Finalement nous nous restreignons aux fonctions S(Y) = −Y, T(Y) = (a2Y +a)/(aY +b+ 1), telles que, quand 4a6b3 − b3(b2+ 20b−8)a3+ 4b3(b+ 1)3 6= 0, la courbe (4.2) est birationnellement équiva-lente à la courbe de genre 2 qui a pour modèle de Weierstrass

H1,a,b :y2 = (x3+ 3ax+ 2)2 + 8bx3, (4.7) avecx=X ety=−4aY +X3+ 3aX−2.

De plus, la courbe

S2(Y) +T(Y) =Y2+ (a2Y +a)/(aY + 1 +b) =Z2 (4.8) est birationnellement équivalente à la courbe elliptique dont le modèle de Weierstrass est

V2 =U3 + (−a6+ 2 (b+ 1)(2b−1)a3−(b+ 1)4)U 3 + 1

27(2a9+ 3 (2−2b+ 5b2)a6−6 (2b−1)(b+ 1)3a3+ 2 (b+ 1)6). (4.9)

Si elle était hessienne, on pourrait utiliser la paramétrisation décrite ci-dessus.

Dans tous les cas, on peut la paramétrer par la méthode d'Icart : U = 1 Revenant par le changement de variables birationnel de la courbe (4.9) à la courbe (4.8), nous obtenons Y et Z à partir de U et V (cf. algorithme 3 pour les formules dé-taillées). Soit maintenant ∆ = p3

T(Y)(Z −S(Y)), alors X = ∆−T(Y)/∆.

Figure 4.2 Encodage sur les courbes de genre 2 (de type A).

Finalement nous obtenons le théorème suivant :

Théorème 4.2.3 Soit Fq le corps ni à q éléments. Supposons q impair et q ≡ 2 mod 3. SoitH1,a,b/Fq la courbe hyperelliptique de genre 2 dénie par l'équation (4.7).

L'algorithme 3 calcule un encodage déterministe e1,a,b : Fq\ S1 → H1,a,b, où S1

est un sous-ensemble de Fq de taille au plus 35, avec complexité O(log2+o(1)q). Démonstration Les formules précédentes dénissent un encodage déterministe pourvu que t, W,aY +b+ 1 et∆ soient tous non nuls.

La condition W = 0 donne un polynôme en t de degré 8, il existe donc au plus 8 valeurs pour lesquelles W = 0. De même, la condition aY +b+ 1 = 0 fournit au plus 8 valeurs supplémentaires pour lesquelles W = 0.

4.2. POLYNÔMES DE DEGRÉ 3 63

En outre,∆ = 0 si et seulement siT = 0 ouZ =−Y. La conditionT = 0 donne 8 valeurs supplémentaires. De même, la conditionZ+Y = 0 donne un polynôme en t de degré 10, dans ce cas nous avons au plus 18 valeurs pour lesquelles ∆ = 0.

Le nombre total d'éléments deFq qui ne peuvent pas être encodés est nalement au plus35. 2

Cardinal de l'image. Soit (X, Y) un point rationnel sur une courbe C1,a,b,c, soit t un antécédent de (X, Y) par notre encodage e1,a,b. Alors il existe une relation polynomiale entre Y et t de degré au plus 8 en t (cf. algorithme 3). (X, Y) a donc au plus8 antécédents par e1,a,b. Finalement, |Ime1,a,b|>(q−35)/8.

Nombre de courbes. Les invariants d'Igusa [40] de ces courbes sont égaux à J2 = 263 (−9a3+ 4b2+ 4b−9),

Le lieu géométrique de ces invariants est une surface de dimension 2 donnée par une équation homogène de degré 90, que nous ne décrivons pas plus ici. Par conséquent, l'équation (4.7) dénit Θ(q2)courbes non isomorphes sur Fq.

Si S(Y) est une fonction rationnelle de degré 2.

Soit maintenant S(Y) = (αY2+βY +γ) /(δY2+εY +ϕ) et T(Y) = κ, la courbe (4.2) est birationnellement équivalente aux courbes de la forme y2/λ= (x3+ 3µx+ 2a)2+ 4b où

λ =ε2−4ϕδ , µ=κ , a= κ

λ(εβ −2δγ−2ϕα) etb = κ2

λ(β2−4αγ)−a2. Plusieurs de ces courbes sont isomorphes les unes aux autres et, sans perte de gé-néralité, nous pouvons xer λ et µ comme n'importe quel résidu quadratique non nul (par exemple, λ, µ= 1) ou n'importe quel résidu non quadratique (par exemple λ, µ=−3 vu queq ≡2 mod 3).

Finalement nous obtenons :

S(Y) = λ(a−u)Y2 −4vY −4 (a+ u)

µ(λY2−4) et T(Y) = µ ,

où u = µ3/2w−w/2−a avec w ∈ Fq. Alors, quand b3λ106 + 2µ3a2 −2bµ3 + a4+ 2ba2+b2)6= 0, la courbe (4.2) est birationnellement équivalente à la courbe de genre 2 dont le modèle de Weierstrass est

H2,λ,µ,a,v,w :y2/λ= (x3+ 3µx+ 2a)2+ 4b , (4.10) avec b=v2/λ−u2 pourv ∈Fq, x=X et y=λ(X3/2 + 3µX/2 +a−u)Y −2v. Remarque : calculerv etw connaissantb revient à construire un point(v :w: 1) sur la courbe elliptique v2/λ−(µ3/2w−w/2−a)2 −b = 0. Comme dans le cas précédent, on peut toujours le faire en temps déterministe avec les formules d'Icart quand on peut exhiber un changement de variables bilinéaireFq-rationnel entre cette courbe et le modèle de Weierstrass cubique. C'est typiquement le cas quand λ = 1, mais plus quand λ=−3.

Par ailleurs, soitz =w/2 +r3/2w et donc tel que(u+a)2+r3 =z2, alors µ2(λY2−4)2(S(Y)2+T(Y)) =−λ2(4ua−z2)Y4−8λv(a−u)Y3

−8λ(4µ3−3z2−2b+ 6ua+ 4a2)Y2+ 32v(u+a)Y + 16z2 =Z2 (4.11) est birationnellement équivalent à la courbe elliptique de modèle de Weierstrass

V2 =U3+ 28λ2(−µ6+ (b−2a23− (a2+b)2)U/3+

212λ3(2µ9+ (6a2−3b)µ6−3 (a2+b)(b−2a23+ 2 (a2+b)3)/33. (4.12) Cette dernière peut être paramétrée par la méthode d'Icart. On obtient :

U = 1 De nouveau, en revenant par le changement de variables birationnel de la courbe (4.12) à la courbe (4.11), on obtient Y et Z à partir de U et V (cf. algorithme 4 pour les formules précises). Soit maintenant ∆ = p3

T(Y) (Z/µ(λY2−4)−S(Y)), alors X = ∆−T(Y)/∆.

Finalement nous obtenons le théorème suivant :

4.2. POLYNÔMES DE DEGRÉ 3 65

Algorithme 4: Genus2TypeBEncode

Entrée : Une courbeH2,λ,µ,a,v,w dénie par l'équation (4.10) surFq, un élémenttFq\ S2. Sortie : Un point(xt:yt: 1)onH2,λ,µ,a,v,w

u :=(2aw+w2r3)/2w; b :=v2/lu2;z := (w2+r3)/2w; δ := t8+ 293 (µ6+ (b+ 2a23+ (a2+b)22t4+

214(2µ9(6a23b)µ6+ 3 (a2+b)(b2a232 (a2+b)33t2+

2163 (µ12+ (2b+ 4a29+ (3b2+ 6a46+ 2 (a2+b)2(b+ 2a23+ (a2+b)44;

U := ((2δ/t2)1/3 modq1+ 2t2)/6;

V := (2δt)1/3 modq1/6 +t3/6 + 128 (µ6+ (b2a23(b+a2)22/3t;

W := 9U248λ(3z22b+ 6ua+ 4a2+ 4µ3)U+ 256 (4µ6+ (6z2+a212ua+ 4b)µ3+ (b+a2)(5a2+ 6uab3z2))λ2;

Y := (288v(u+a)U72zV + 1536λv(bu+a32µ3u+ab+3+ua2))/W;

Z := (324zU4+ (6912λµ3z+ 1728λz(3z22b+ 6ua+ 4a2))U32592v(u+a)U2V +(27648λ2z(b+a2)(2a2+ 6ua4b3z2) + 193536λ26

27648λ2z(5a212ua+ 6z2+ 7b)µ3)U2

+(27648λv(2u+a)µ3+ 27648λv(b+a2)(u+a))U V

+(49152λ3z(36a3u18a2z2+ 12a4+ 9z2b+ 30b212a2b18aub)µ3 +49152λ3z(6b+ 18ua+ 12a29z26+ 49152λ3z(b+a2)2(4a2+ 18ua

14b9z2) + 196608λ3µ9z)U+ (737282(b+a2)2(u+a)737282(4u8a)µ6

737282(4bu+ 9z2a7a313ua2+ 2ab)µ3)V 7340032λ4µ12z

262144λ4z(60ua56b+ 85a230z29

262144λ4z(b+a2)(31a4+ 72a3u10a2b36a2z2+ 18aub+ 13b29z2b)µ3

262144λ4z(b+a2)3(a2+ 6ua5b3z2)

262144λ4z(15b2+ 87a463a2z2+ 45z2b90aub33a2b+ 126a3u)µ6)/W2; S := (u+a)Y2λ4vY 4a4u;∆ :=p3

(ZS)/(λY24); xt := ∆µ/∆;yt :=λ(X3/2 + 3µX/2 +au)Y 2v;

return(xt:yt: 1)

Figure 4.3 Encodage sur les courbes de genre 2 (de type B).

Théorème 4.2.4 Soit Fq le corps ni à q éléments. Supposons q impair et q ≡ 2 mod 3. Soit H2,λ,µ,a,v,w/Fq la courbe hyperelliptique de genre 2 denie par l'équa-tion (4.10).

L'algorithme4calcule un encodage déterministee2,λ,µ,a,v,w :Fq\S2 →H2,λ,µ,a,v,w, oùS2 est un sous-ensemble deFq de taille au plus233, avec complexitéO(log2+o(1)q).

Démonstration Les formules dénissent un encodage déterministe pourvu que t, W, λY2−4et Z−S soient tous non nuls.

La conditionW = 0 revient à étudier un polynôme en U de degré 2, il existe au plus deux valeurs de U pour lesquelles W = 0. Chacune de ces valeurs deU fournit ensuite un polynôme en t dérivé de δ de degré 8. Ainsi, il existe au plus 16 valeurs de t à éviter pour que W soit non nul.

La conditionλY2−4 = 0fournit de même deux valeurs pour Y. Chacune donne une relation polynomiale de degré 2 en U et de degré 1 etn V, qui peut se voir comme une courbe en t et τ = √3

2t δ de degré au plus 6. Par ailleurs, τ3 = 2t δ est une courbe de degré au plus 9. Le théorème de Bezout arme qu'il existe au plus 2×6×9 = 108 points d'intersection, ou de façon équivalente valeurs de t à éviter pour que λY2−4soit non nul.

Finalement, la condition Z = S peut être vue comme une courbe en t et τ de degré 12. De la même façon, 12×9 = 108 valeurs det sont à éviter également.

Au nal, le nombre total d'éléments de Fq qui ne peuvent pas être encodés est au plus 1 + 16 + 2×108 = 233. 2

Cardinal de l'image. Soit (X, Y)un point rationnel surH2,λ,µ,a,v,w ettun de ses antécédents par e2,λ,µ,a,v,w. Nous avons vu dans la démonstration du théorème4.2.4 que t et τ = √3

2t δ sont dénis comme les points d'intersection de deux courbes, l'une de degré 7 paramétrée par Y et l'autre de degré 9 d'après la dénition de δ. En toute généralité, pour certaines courbes et certains points, cela correspond à un nombre total d'au plus 54 valeurs det. Ainsi, |Ime1,a,b|>(q−233)/63.

Nombre de courbes. Les invariants d'Igusa de ces courbes sont égaux à J2 = −262(9µ3+ 9a2+ 10b),

J4 = 293bλ4(297µ3+ 54a2+ 55b), J6 = 214b2λ6(−6480µ3+ 81a2+ 80b),

J8 = −2163b2λ8(31347µ6−134136µ3a2−158310bµ3+ 11664a4+ 23940ba2+ 12275b2), J10 = −22436b3λ106+ 2µ3a2−2bµ3+a4+ 2ba2+b2).

4.2. POLYNÔMES DE DEGRÉ 3 67

Le lieu géométrique de ces invariants est une surface de dimension 2 dénie par l'équation homogène de degré 30

Ceci montre que l'équation (4.10) dénit Θ(q2) courbes non isomorphes surFq. Pertinence cryptographique

Génériquement il existe Θ(q3) courbes hyperelliptiques de genre 2 dénies sur Fq. Nos deux familles de courbes hyperelliptiques obtenues sont de cardinal Θ(q2). C'est la même dimension, sur l'espace de modules, que l'espace des courbes hyperel-liptiques dont la jacobienne est isogène à un produit de courbes elhyperel-liptiques. L'intérêt des jacobiennes de courbes hyperelliptiques est justement de pouvoir avoir un sous-groupe premier plus grand que dans le cas des courbes elliptiques pour une taille de corps ni xée (O(q2) contre O(q)) : ce cardinal est le paramètre de sécurité des cryptosystèmes à base de courbes. Il est donc important de s'assurer que nos familles ne sont pas de ce type.

Nous avons testé expérimentalement les cardinaux des jacobiennes de courbes hyperelliptiques issues de nos familles. Il s'avère qu'elles ne sont apparemment jamais de cardinal premier : il semble toujours divisible par 2 ou par 3, ce qui découle vraisemblablement de la forme particulière de leurs équations.

Hormis cet eet, il est possible de trouver des courbes de nos familles pour lesquelles le cardinal du sous-groupe restant est premier et de l'ordre de q2/3. Un simple argument de cardinalité utilisant le théorème de Hasse-Weil ([20] corollaire 5.79) nous assure alors qu'il ne peut pas s'agir du groupe des points d'une courbe elliptique sur Fq : son cardinal est trop élevé.

Exemple : sur F10973, considérons la courbe hyperelliptique d'équationy2 =x6+ 6904x4+ 1047x3+ 10599x2+ 4127x+ 4626 = (x3+ 3452x+ 6010)2+ 76422. Elle est de type 2. Le cardinal de sa jacobienne est 117978387 = 3×39326129. Or d'après le théorème de Hasse-Weil, une courbe elliptique sur F10973 ne peut avoir qu'au plus 11078 points.

Un argument plus fort consiste à calculer le polynôme Lde la courbe. Sur Fq, la jacobienne de la courbe hyperelliptique est un produit de courbes elliptiques seule-ment si celui-ci se factorise. Nous avons vérié sur des exemples que le polynôme L est irréductible. Toutefois, nos expériences en ce sens avec des logiciels de calcul

algébriques ont été plus limitées du fait du temps de calcul élevé du polynôme L. Nous nous sommes enn assuré que le groupe d'isomorphismes de nos courbes hyperelliptiques est génériquementZ2: il ne contient que l'involution hyperelliptique.