Accouplement de Weil

Un article de Wikipédia, l'encyclopédie libre.

En géométrie algébrique et en théorie des nombres, l'accouplement[Note 1] de Weil est une relation mathématique entre certains points d'une courbe elliptique, plus spécifiquement une application bilinéaire fonctorielle entre ses points de torsion. Cet accouplement est nommé en l'honneur du mathématicien français André Weil, qui en a systématisé l'étude[1]. Il s'agit d'un outil important dans l'étude de ces courbes[2].

Il est possible de définir un accouplement de Weil pour les courbes définies sur le corps des complexes[3] ou sur des corps finis[4] ; dans ce dernier cas, l'algorithme de Miller permet de le calculer efficacement, ce qui est à la base de la cryptographie à base de couplages sur les courbes elliptiques. Une construction similaire s'étend aux variétés algébriques plus générales[Note 2],[5].

Définition[modifier | modifier le code]

On considère une courbe elliptique définie sur un corps . Soit un entier[Note 3], et on suppose que contient une racine primitive -ième de l'unité, et on note le groupe cyclique des racines -ièmes de l'unité dans . Notons enfin les points de -torsion de la courbe :

est l'application de « multiplication par  » dans le groupe des points rationnels de la courbe, est l'élément neutre du groupe (le « point à l'infini »), et est la clôture algébrique de . Alors il existe un accouplement :

que l'on appelle accouplement de Weil. Cette fonction possède notamment les propriétés suivantes :

  • Bilinéarité : .
  • Alternance : et en particulier, .
  • Non-dégénerescence : si pour tout alors ; de même si pour tout , alors .
  • Invariance par les opérations du groupe de Galois : pour tout ,

Degré de plongement[modifier | modifier le code]

Pour une courbe définie sur un corps fini , le plus petit entier tel que est appelé « degré de plongement ». Il correspond au degré de la plus petite extension dans laquelle les racines -ièmes de l'unité sont définies. Cette terminologie provient de l'attaque MOV[6] qui permet notamment d'attaquer le problème du logarithme discret sur une courbe elliptique en plongeant le problème dans un corps fini, précisément , dans lequel des algorithmes plus efficaces sont connus tels que le crible du corps de nombre généralisé. Les applications cryptographiques reposent donc souvent sur des courbes à haut degré de plongement pour éviter de telles attaques : par exemple Curve25519 a un degré de plongement supérieur à [7]. Dans les applications de cryptographie à base de couplages on utilise au contraire des courbes dont le degré de plongement est faible : la courbe de Barreto-Naehrig BN(2,254) par exemple a un degré de plongement égal à 12[7]. C'est notamment le cas de plusieurs courbes supersingulières[8],[9].

Construction explicite[modifier | modifier le code]

Courbe elliptique définie sur ℂ[modifier | modifier le code]

Une courbe elliptique définie sur correspond à un quotient appartient au demi-plan de Poincaré. Soient deux points de -torsion, on définit l'accouplement de Weil par[3] :

On vérifie immédiatement que cette expression satisfait les propriétés d'un accouplement.

Cas général sur une courbe elliptique[modifier | modifier le code]

D'une manière générale, si on connaît une base de , alors on peut obtenir aisément une expression analogue : soit une base de , on écrit , et on définit

Cependant, étant donnés des points , il est nécessaire en général de résoudre un problème de logarithme discret sur la courbe elliptique pour être capable d'exprimer les coordonnées utilisées dans l'expression ci-dessus.

Le cas général est en fait mieux décrit en termes de diviseurs, qui se prête également volontiers au calcul explicite. Si est un point de -torsion de la courbe, on pose le diviseur et on note un élément du corps des fonctions sur qui possède pour diviseur[Note 4]. Sommairement, l'accouplement de Weil est défini par «  » sauf que cette expression n'est pas définie. En effet, possède un pôle en (et de même en intervertissant et ). Il suffit cependant de remplacer (ou ) par un diviseur linéairement équivalent, c'est-à-dire qui diffère de (resp. ) uniquement d'un diviseur principal.

En pratique, cela revient à décaler en faisant intervenir un point arbitraire pour obtenir . La valeur de l'accouplement de Weil est bien sûr invariante par une telle modification[4].

Le calcul d'une fonction correspondant à un diviseur donné a longtemps été considéré difficile, jusqu'à l'introduction du très efficace algorithme de Miller [10].

Le caractère alternant de l'accouplement ainsi obtenu est évident ; la bilinéarité découle en général de la loi de réciprocité de Weil, à savoir que pour deux fonctions du corps de fonctions de la courbe sur un corps algébriquement clos, [1].

Accouplement de Weil ℓ-adique[modifier | modifier le code]

Soit un premier positif (et premier avec la caractéristique de lorsque celle-ci est positive), alors on peut étendre l'accouplement de Weil initialement défini sur pour l'appliquer au module de Tate -adique, . On vérifie pour cela que la suite des accouplements pour les puissances successives de est projective, c'est-à-dire que , ce qui découle directement de la bilinéarité. Puisque l'application « multiplication par  » et que l'application « mise à la puissance  » forment également des systèmes projectifs compatibles, on définit l'accouplement de Weil -adique comme la limite projective des accouplements sur  :

Exemple[modifier | modifier le code]

Prenons , [Note 5]. On a . Le point est d'ordre . Le degré de plongement est (car ). Posons . Alors est aussi d'ordre 3. L'algorithme de Miller permet d'obtenir les diviseurs :

qui correspondent à

À cause du point soulevé précédemment, on ne peut pas directement évaluer, il faut faire intervenir un point pour déplacer le diviseur. Par souci de symétrie considérons deux points et on déplacera les deux diviseurs :

deux points de . Et on pose

Les fonctions correspondantes s'obtiennent aisément au moyen de l'algorithme de Miller :
Et finalement on a l'accouplement de Weil :
On obtient et on vérifie que c'est une racine cubique de l'unité. De même,
ce qui vérifie les relations de bilinéarité.

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. On utilise parfois le terme de « couplage » par analogie avec l'anglais pairing, mais Weil lui-même utilise bien « accouplement » avec le sens mathématique précis que recouvre ce terme.
  2. Dans ce cas, l'accouplement porte entre les points de torsion de la variété et les points de torsion de sa variété duale.
  3. Si est de caractéristique positive, on requiert que et soient premiers entre eux.
  4. Un tel élément existe et est unique à une constante multiplicative près.
  5. Il s'agit d'une courbe elliptique supersingulière.

Références[modifier | modifier le code]

  1. a et b André Weil, « Sur les fonctions algébriques à corps de constantes fini », Les Comptes rendus de l'Académie des sciences, vol. 210,‎ , p. 592–594
  2. (en) Joseph H. Silverman, « A Survey of Local and Global Pairings on Elliptic Curves and Abelian Varieties », dans Lecture Notes in Computer Science, Springer Berlin Heidelberg, (ISBN 9783642174544, DOI 10.1007/978-3-642-17455-1_24, lire en ligne), p. 377–396
  3. a et b (en) Steven D. Galbraith, « The Weil pairing on elliptic curves over C », IACR ePrint Archive, no 323,‎ (lire en ligne, consulté le )
  4. a et b (en) Joseph H. Silverman, « The Arithmetic of Elliptic Curves », Graduate Texts in Mathematics,‎ (ISSN 0072-5285 et 2197-5612, DOI 10.1007/978-0-387-09494-6, lire en ligne, consulté le )
  5. (en) James Milne, « Abelian varieties »
  6. (en) A.J. Menezes, T. Okamoto et S.A. Vanstone, « Reducing elliptic curve logarithms to logarithms in a finite field », IEEE Transactions on Information Theory, vol. 39, no 5,‎ , p. 1639–1646 (ISSN 0018-9448, DOI 10.1109/18.259647, lire en ligne, consulté le )
  7. a et b (en) Daniel J. Bernstein, « SafeCurves : Transfers », sur cr.yp.to,
  8. (en) Steven D. Galbraith, « Supersingular Curves in Cryptography », dans Advances in Cryptology — ASIACRYPT 2001, Springer Berlin Heidelberg, (ISBN 9783540429876, DOI 10.1007/3-540-45682-1_29, lire en ligne), p. 495–513
  9. (en) Alfred Menezes, « Supersingular Elliptic Curves in Cryptography », dans Pairing-Based Cryptography – Pairing 2007, Springer Berlin Heidelberg, (ISBN 9783540734888, DOI 10.1007/978-3-540-73489-5_15, lire en ligne), p. 293–293
  10. Vanessa Vitse, Couplages sur courbes elliptiques définies sur des corps finis : Mémoire de Master 2, Université Versailles Saint-Quentin, , 42 p. (lire en ligne)