• Aucun résultat trouvé

Friabilité et heuristique

Dans le document Le logarithme discret dans les corps finis (Page 60-63)

1.5 Le modèle du groupe générique

2.2.1 Friabilité et heuristique

2.3 Algèbre linéaire creuse . . . . 64

2.3.1 L’algèbre linéaire, un goulot d’étranglement . . . . 64 2.3.2 Algorithmes de résolutions de systèmes linéaires

creux . . . 64

2.4 Calcul d’indice dans les corps Ænis . . . . 67

2.4.1 La récolte des relations, une étape clef . . . 67 2.4.2 Corps de nombres ou corps de fonctions ? . . . 70

2.5 Calcul d’indice dans les courbes elliptiques . . . . 73

2.5.1 Courbes de grand genre . . . . 73 2.5.2 Courbes elliptiques particulières . . . . 74

L

es résultats d’optimalité obtenus dans le modèle du groupe géné-rique ne tiennent plus lorsque nous avons accès à des informations supplémentaires sur la structure du groupe. En e et, ces connais-sances nouvelles laissent la possibilité de voir émerger des algorithmes sensi-blement plus rapides. La méthode du calcul d’indice, qui prend appui sur ces informations supplémentaires pour fournir des algorithmes sous-exponentiels, demeure la méthode incontournable lorsque l’on souhaite e cacement décou-vrir des logarithmes discrets.

2.1 Description générale

Bien que la méthode du calcul d’indice se montre aussi performante pour factoriser de grands entiers, nous nous intéresserons uniquement au cas des algorithmes de cette famille qui permettent de résoudre le problème du lo-garithme discret, encore une fois dans un groupe cyclique G engendré par g. Les algorithmes de cette famille s’articulent autour de plusieurs phases :

2.1.1 Phase préliminaire

Tout algorithme par calcul d’indice commence par Æxer la description de G qui sera utilisée pour la suite, et qui peut di érer de celle initiale-ment fournie. Par exemple, il est possible de travailler sur F24 vu comme F2[Y ,Z]/(Y2 + Y + 1,Z2 + Z + Y ) même si ce corps Æni1 est initialement donné par F2[X]/(X4+X +1). Cette phase détermine aussi un sous-ensemble relativement petit d’éléments particuliers de G, que l’on nomme la base de

friabilité, ou parfois la base de facteurs. Celle-ci est constituée d’éléments

eux-même considérés comme petits, en un sens restant à déÆnir.

2.1.2 Collect des relations, ou phase de crible

L’objectif de cette étape est de créer un grand nombre de relations mul-tiplicatives entre éléments de la base de friabilité. Si la base utilisée est {gi,

i 2 I} nous nous intéresserons à des équations de la forme : Y

i2I

gimi =Y

i2I

gini, (2.1)

1. Il s’agit ici d’un exemple didactique. Bien évidemment, ce corps est inÆniment trop petit pour que la construction d’un algorithme de calcul d’indice sur celui-ci ait un intérêt.

2.1. DESCRIPTION GÉNÉRALE 61 les mi et les ni étant des entiers modulo l’ordre de G. En prenant le logarithme discret de chacun des deux membres nous en déduisons l’égalité modulaire :

X

i2I

milogggiX

i2I

nilogggi mod |G|.

Nous obtenons ainsi une équation linéaire entre les logarithmes des gi, qui constituent nos inconnues. La phase de crible s’arrête lorsque l’on a récolté un nombre su sant d’équations de cette forme, de sorte de pouvoir en extraire une solution unique (à constante multiplicative près). Autrement dit, le rang du système doit être égal au nombre d’inconnues moins un, modulo chacun des facteurs de |G|.

2.1.3 Algèbre linéaire

Cette étape cherche à résoudre le système linéaire issu des relations, aÆn d’obtenir les logarithmes discrets de tous les éléments de la base de friabilité – ou, tout du moins, une grande partie d’entre eux. En e et, certaines propriétés de la phase de crible peuvent mener à écarter quelques éléments de la base de friabilité, qui ne seront présents dans aucune équation. Auquel cas, le rang du système devra être égal au nombre d’inconnues moins un, moins ces incon-nues artefacts. Notons qu’à l’issue de l’algèbre linéaire, puisque l’on obtient un élément arbitraire du noyau de la matrice des relations, les logarithmes retrouvés ne le sont qu’à constante multiplicative près. Autrement dit, au lieu d’expliciter l’ensemble {logg(gi), i 2 I}, on obtient { logg(gi), i 2 I} pour un certain entier . Toutefois, il est facile de retrouver les bons logarithmes, en supposant que le générateur g appartienne à la base de friabilité, quitte à l’inclure artiÆciellement. Le logarithme de g, qui vaut 1, nous donne la valeur de ce artéfact.

Puisque peu d’éléments interviennent dans chacune des relations, le sys-tème produit est donc creux, c’est-à-dire que la matrice des coe cients mi et ni est essentiellement constituée de zéros. Cette propriété matricielle permet d’accélérer grandement l’algèbre linéaire car il existe des algorithmes de ré-solution spéciÆques dont la complexité est alors quadratique, et non cubique comme dans le cas général. Cette particularité fait l’objet du paragraphe 2.3.

2.1.4 Calcul d’un logarithme individuel, ou phase de descente

AÆn de résoudre réellement le problème du logarithme discret dans G, nous devons pouvoir retrouver le logarithme d’un élément arbitraire, et non seulement ceux des éléments de la base de friabilité. Soit h2 G un tel élément arbitraire. Nous notons encore x logarithme en base g. A grands traits, l’idée

consiste alors à décomposer l’élément h en produits d’autres éléments qui peuvent être considérés comme plus petits que lui – toujours selon le même sens de petitesse que celui considéré lors de l’établissement de la base. En itérant ce procédé, h s’exprime Ænalement comme produit d’éléments de la base de friabilité, c’est à dire que l’on peut écrire :

gx = h =Y

i2I

gii.

Puisque l’on connait les logarithmes discrets de ces derniers, on retrouve alors facilement l’entier x en écrivant x =Pi2Iiloggi mod |G|.

2.2 Un souci de friabilité

2.2.1 Friabilité et heuristique

Les algorithmes par calcul d’indice reposent sur l’idée de décomposer des éléments2 comme produits d’éléments considérés comme petits. Les éléments qui peuvent se factoriser de cette manière sont dits friables. Un problème essentiel pour l’analyse de ces algorithmes consiste donc à estimer la probabi-lité d’obtenir de tels éléments friables. Dans de nombreux cas, nous procèdons heuristiquement en supposant que les éléments créés se comportent comme des éléments aléatoires de même taille. Bien qu’inélégante, car non prouvée, cette heuristique a permis d’obtenir de nombreux progrès algorithmiques et a conduit à un grand nombre de factorisations explicites d’entiers et de calculs de logarithmes discrets.

Dépendre d’une telle heuristique est inconfortable, et nous aimerions nous en abstraire. Pourtant, les algorithmes rigoureux qui existent actuellement se montrent bien moins e caces que leurs homologues heuristiques. De manière tout à fait surprenante, les dernières avancées spectaculaires concernant les corps Ænis de petite caractéristique reposent justement sur le fait que, lorsque certaines heuristiques deviennent fausses (et que les éléments engendrés par la phase de création de relations ne se conduisent pas comme des éléments aléatoires), il devient possible de retourner cette faille à notre avantage, en forçant les éléments que nous considérons à être bien plus souvent friable que leurs semblables arbitraires.

Dans le document Le logarithme discret dans les corps finis (Page 60-63)