Factorisation de Lenstra par les courbes elliptiques

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

{{#invoke:Bandeau|ébauche}} Modèle:À sourcer Modèle:Méta bandeau d'avertissementModèle:Contrôle date bandeau{{#if:||{{#ifeq:||[[Catégorie:Article à wikifier{{#if:septembre 2020|{{#ifexist:Catégorie:Article à wikifier depuis septembre 2020| _depuis septembre 2020}}|, date manquante}}]]}}}} Modèle:Voir homonymes

La factorisation de Lenstra par les courbes elliptiques (en anglais, Modèle:Lang ou ECM) est un algorithme probabiliste rapide pour la décomposition en produit de facteurs premiers qui emploie les courbes elliptiques.

Cette méthode fut le meilleur algorithme pour la décomposition en produit de facteurs premiers jusqu'au développement du crible général de corps de nombres (GNFS). Il est encore le meilleur pour l'extraction des diviseurs dont la taille ne dépasse pas 20 chiffres (ce qui inclut les entiers sur 64 bits), car son temps d'exécution dépend de la taille d'un facteur p plutôt que de la taille du nombre n à factoriser.

C'est une amélioration de la traditionnelle méthode de factorisation p−1 de Pollard. Dans cette méthode, il était supposé que le nombre donné n possède un facteur premier p tel que p-1 possède seulement des « petits » facteurs premiers (les nombres dont les facteurs premiers sont tous « petits » sont dits friables). Alors, par le petit théorème de Fermat, ae=1 mod p dès que p-1 divise e et p ne divise pas a. En prenant pour e un produit de petits nombres premiers élevés aux petites puissances, et a comme un résidu aléatoire modulo n, nous pouvons espérer factoriser n en calculant le PGCD de n et ae-1, Modèle:Pas clair. Néanmoins, l'on ne pourra pas factoriser n si n n'a pas un facteur premier p avec p-1 friable.

La factorisation de Lenstra contourne cet obstacle en considérant le groupe d'une courbe elliptique aléatoire sur le corps fini Fp, plutôt que sur le groupe multiplicatif de Fp qui a toujours un ordre p-1. L'ordre du groupe d'une courbe elliptique sur Fp varie entre <math>p+1-2\sqrt p</math> et <math>p+1+2\sqrt p</math> (un théorème de Helmut Hasse) aléatoirement, et Modèle:Pas clair friable pour certaines courbes elliptiques.

L'algorithme de factorisation de Lenstra permettant de trouver un facteur d'un nombre donné n fonctionne de la manière suivante.

  • Prendre une courbe elliptique aléatoire sur Z avec un point A sur elle. Alors, nous considérons la loi de groupe sur cette courbe modulo n - ceci est possible car la plupart des résidus modulo n ont des inverses, qui peuvent être trouvés en utilisant l'algorithme d'Euclide Modèle:Pas clair.
  • Calculer eA dans ce groupe, où e est le produit de petits nombres premiers élevés aux petites puissances, comme dans la méthode p−1 de Pollard. Modèle:Pas clair
  • Avec un peu de chance, eA est l'élément nul du groupe de la courbe elliptique dans Fp, mais pas dans Fq pour un autre diviseur premier q de n (comme dans la méthode p−1 de Pollard, il est très improbable que les deux groupes aient un ordre qui soit un diviseur de e). Alors nous pouvons trouver un facteur de n en calculant le PGCD de la première coordonnée de A et n, car cette coordonnée sera nulle dans Fp.
  • Si cela ne marche pas, il suffit de recommencer avec une autre courbe ou un autre point de départ.

La complexité de l'algorithme dépend de la taille du facteur à trouver ; elle peut être exprimée par O(e(Modèle:Racine + o(1)) Modèle:Racine) où p est le plus petit facteur de n.

Bibliographie

Notes et références

Modèle:Références Modèle:Traduction/Référence

Modèle:Portail