• Aucun résultat trouvé

Présentation du cas spécifique où l’on connaît un premier

Dans le document Volcans et calcul d'isogénies (Page 100-103)

5.2 Cas Atkin

6.1.1 Présentation du cas spécifique où l’on connaît un premier

• • λ µ • • • • • • • • • • • • • • • • • • • • • • • • Es E • • • • • • • • • • • λ µ λ λ • • • • • • • • • • • • • • • • • • • • • • • • Es E • • • • • • • •

Figure 6.1 – Exemple de candidats pour la mise en correspondances de points diagonaux par la r-isogénie φ

peut travailler avec toute la �k-torsion. On va donc faire le choix par la suite, afin d’avoir une présentation uniforme,de travailler avec les points d’ordre �k(avec

k > h). En effet on ne peut pas générer tous les point de �e-torsion et donc pour éviter toute redondance on ne travaille qu’avec les points d’ordre �k. Si l’on souhaitait travailler avec les points de la �e-torsion on utiliserait dans le cas de deux points ascendants horizontaux Rλ, Rµ (de profondeur e > 0) par exemple le groupe �[�k−e]Rλ�.

6.1.1 Présentation du cas spécifique où l’on connaît un

premier � de Elkies

On se place tout d’abord dans le cas particulier où l’on connaît un nombre premier � de Elkies.

On montre tout d’abord en quoi ce n’est pas optimal de travailler avec une base diagonale de la �k-torsion et l’avantage que cela procure de travailler avec des bases horizontales.

Soient E, E deux courbes elliptiques de j-invariants j et j reliées par une

r-isogénie φ, alors, par la proposition 5.3 pour k plus grand que h la hauteur du volcan des �-isogénies, on peut calculer deux bases diagonales (P, Q), (P, Q) de Es[�k] et E

s[�k] les courbes sommets respectives de E et E. L’action du Frobenius peut être représentée matriciellement de la façon suivante dans ces bases :

π(P, Q) = π(P, Q) =λ0 µ0.

Comme la r-isogénie φ commute avec le Frobenius (et que Es et E

s sont encore r-isogènes par la proposition 6.1) on devrait avoir φ(P ) ∈ �P� et φ(Q) ∈ �Q�, or la matrice π est scalaire modulo la �htorsion ainsi la représentation de

φdans les bases (P, Q) et (P, Q) n’est pas diagonale :

φP Q � = a b�h c�h d � � P Qavec a, d ∈Z/�kZ×; b, c ∈ Z/�kZ. On illustre cela avec l’exemple de bases diagonales de la 33-torsion choisies sur la figure 6.1. On voit en particulier que ce choix ne permet une correspon-dance exacte que pour la 3-isogénie qui correspond à l’isogénie horizontale. En

effet comme on a vu plus tôt un point diagonal d’ordre �k ne donne une infor-mation que sur la �k−h-isogénie-horizontale (voir proposition 5.8). Dès lors on ne sait dire, à partir de cette information, si les isogénies de degré supérieur à 3 engendrées par le point diagonal sont du même type et respectent l’évalua-tion de la r-isogénie φ. En effet pour le choix d’un de ces points diagonaux on peut choisir comme sur l’exemple un point horizontal pour la direction λ pour la courbe Es et un point non horizontal pour la direction λ sur la courbe E

s. Dès lors on a pas une correspondance de sous-groupes cycliques et l’on doit considérer les combinaisons linéaire avec le second point de la base diagonale de direction µ pour les correspondances induites par la r-isogénie. Enfin on ne sait dire si la correspondance entre les �-isogénies descendantes qui composent l’isogénie engendrée par les points de diagonaux de direction µ sont correctes. En effet nous avons vu à la proposition 5.16 qu’une étude à l’aide du Frobenius des �-isogénies descendantes ne permet pas de distinguer les �-isogénies entre elles.

On travaille donc avec deux bases (Pλ, Qµ), (P

λ, Q

µ) (ascendantes) horizon-tales de E[�k] et E[�k]. On doit à nouveau avoir k � h+1 pour pouvoir calculer ces bases (ascendantes) horizontales par la proposition 5.8. Dans ces bases φ peut être représentée comme une matrice diagonale car par la proposition 6.1 et la proposition 6.2 les groupes cycliques engendrés par des points (ascendants) horizontaux de même direction sont en bijection :

φPλ Qµ � =a0 b0� �Pλ Qµavec a, b ∈Z/�kZ×.

On énumère donc toutes les �2k−2 matrices M possibles (a0

0 b). Pour chaque matrice M on interpole celle-ci sur les bases (Pλ, Qµ), (P

λ, Q

µ) en calculant le polynôme d’interpolation Aa,b tel que

Aa,b(x([u]Pλ+[v]Qµ)) = x([au]P

λ+[bv]Q

µ) pour tout [u]Pλ+ [v]Qµ d’ordre �k.

Ensuite à l’aide du polynôme Aa,b on calcule la fraction rationnelle F telle que :

F= Aa,b mod T

avec T le polynôme minimal qui s’annule sur tout point [u]Pλ+ [v]Qµ d’ordre

k. C’est la fraction rationnelle F qui lorsque l’on a bien choisi M doit repré-senter la r-isogénie φ, on cherche donc à calculer F de degré (r, r − 1). Or une telle fraction rationnelle est déterminée par 2r coefficients on doit donc avoir le nombre d’abscisses de points d’ordre �k : �2k−2(�+1)

2 strictement plus grand que 2r pour avoir suffisamment d’informations.

On peut donc maintenant énoncer dans l’algorithme 10 l’algorithme complet pour calculer une r-isogénie entre deux courbes elliptiques E, Edéfinies sur des volcans des �-isogénies avec � un nombre premier de Elkies.

Proposition 6.3. En supposant que l’on a �h <r, l’algorithme 10 calcule une r-isogénie φ : E → E en un temps espéré de

O�√

rM(√r�1,5) log(r) log(�) log(�q)+

6.1. Cas Elkies

Algorithme 10 Algorithme de Couveignes �-adique dans le cas Elkies. Entrée : E, E: deux courbes elliptiques r-isogènes ordinaires situées au niveau

h− e d’un volcan de �-isogénies avec cratère cyclique.

Sortie : φ la r-isogénie qui relie E à E.

1: Calcul du plus petit k tel que �2k−2(� + 1) > 4r ; 2: Calcul de (P, Q), (P, Q) bases diagonales de Es[�k], E

s[�k] à l’aide de l’al-gorithme 7 ; 3: Calcul de (Pλ, Qµ), (P λ, Q µ) bases horizontales de Es[�k], E s[�k] à l’aide de l’algorithme 8 ; 4: si (Es, E s) �= (E, E) alors 5: Calcul de ((Pλ, Qµ), (P λ, Q µ)) = ((ϕ(Pλ), ϕ(Qµ)), (ϕ(P λ), ϕ(Q µ))) bases ascendantes horizontales de E[�k], E[�k] avec les �e-isogénies descendantes

ϕ: Es→ E, ϕ: Es→ E; 6: fin si

7: Calcul des liste de représentants L, L des orbites de points d’ordre �k sous l’action de π ;

8: pour M ∈ diag(a, b) avec a, b ∈Z/�kZ faire

9: Actualisation des représentants de la liste L en L

a,b afin de respecter la correspondance induite par le choix de M ;

10: Calcul des des polynômes Aa,b et T par les méthodes décrites dans la section 3.4 ;

11: Calcul de la fraction rationnelle F = Aa,bmod T à l’aide d’une interpo-lation de Cauchy ;

12: si Test(F ) alors

13: retourner F

14: fin si

Démonstration. Par définition de k, on a �2k−1 ∈ O(r�2). Par la proposi-tion 5.19, il existe β � h tel que E[�k] est inclus dans E(Fk−β). On construit donc une tour d’extensions �-adiques F0 ⊂ · · · ⊂ Fk−β, et l’on effectue les pré-calculs nécessaires au théorème 3.6 avec un coût de O(�M(�) log(q)). Ces étapes sont faites en pratique au cours de l’étape 2.

On attire l’attention sur le fait que la condition �h <r se traduit par k strictement plus grand que h par définition de k. On va utiliser ce résultat tout au long de la preuve.

Le coût de calcul des bases diagonales de courbes sommets à l’étape 2 se fait à l’aide de l’algorithme 7 qui a une complexité dans le pire des cas de

O(�M(�2) log(�) log(�q) + R(k) + �2M(�k)) par la proposition 5.27.

L’étape 3 qui utilise l’algorithme 8 coûte dans le pire des cas un coût moyen de O(kR(k−β)+k�2M(�k−β)+�M(�2) log(�) log(�q)) d’après la proposition 5.28. En utilisant le résultat donné par [vzGG03, Chapter 14.5] pour le coût de R, on a alors un coût borné pour les étapes 3 et 2 par O(√rM(√r�1,5) log(r) log(�) log(�q)).

Il faut éventuellement rajouter le coût de calcul des points ascendants hori-zontaux si les courbes en entrée ne se situent pas sur le cratère. Celui-ci est dans le pire des cas de O(kM(�k−β+1)) = O(log(r)M(√r�1,5)) par la proposition 5.30, ce coût est donc majoré par le calcul de la base horizontale sur le cratère.

Par la proposition 5.19( 5), il y a au plus O(k · �k+β) classes de Galois dans E[�k]. Pour les polynômes d’interpolation on a besoin d’un représentant de chaque classe que l’on stocke dans les listes L et L. Chaque représentant est calculé à partir de la base (Pλ, Qµ) et (P

λ, Q

µ) en multipliant les deux points définis dans Fk−β par des entiers définis dans Z/�kZ× une telle mul-tiplication coûte O(M(�k−β) log(�k)) opérations. On a donc un coût total de

O(kM(�2k) log(�k)) ⊂ O(M(r�3) log(r)2log(�)) pour calculer tous les représen-tants.

On utilise ensuite la proposition 3.12, avec un degré total t = (�2k−2(� + 1))/2 ∈ O(r�2), et le nombre de points d’interpolations est s ∈ O(k · �k+β), on calcule alors les polynômes T et Aa,b avec un coût de O(M(r�4) log(r) log(�)). Le coût de calcul de Fa,best de O(M(r) log(r)) par [BCG+17, Théorème 7.5]. Le coût de calcul du test de l’isogénie (voir paragraphe dans la sous-section 2.5.1 pour une description détaillée des tests possibles) a pour opérations les plus coûteuses : regarder si le dénominateur de F est un carré (dans le cas où r est pair on regarde si c’est le produit d’un facteur du polynôme de 2-division et d’un carré) ou regarder si le dénominateur divise le polynôme de r-division. Cela coûte O(M(r) log(r)) opérations, on ne prend pas en compte toutefois le coût de calcul du polynôme de r-division de O(rM(r2) log(r) log(rq)) car les autres tests suffisent en général pour conclure. Tous ces coûts sont donc dominés par celui du calcul de Aa,b et T . Enfin, en moyenne �2k−2= O(r�) matrices candidates doivent être testées avant de trouver l’isogénie.

Il est à noter que la condition �h<rest en fait une condition permettant d’avoir k � h + 1.

Dans le document Volcans et calcul d'isogénies (Page 100-103)