• Aucun résultat trouvé

Log Range Decision appartient à NP \ co-NP

Dans le document Le logarithme discret dans les corps finis (Page 46-49)

0.4 Contributions

1.1.1 Log Range Decision appartient à NP \ co-NP

1.1.3 Retrouver |G| à l’aide d’un calcul de logarithme

discret . . . 49 1.1.4 Di culté du cas moyen et auto-réduction aléatoire 50

1.2 Algorithme de Pohlig–Hellman . . . . 51

1.2.1 Réduction aux ordres des puissances de nombres premiers . . . . 51 1.2.2 Réduction aux ordres premiers . . . . 51

1.3 Logarithme discret en la racine de l’ordre du groupe . 53

1.3.1 Pas de bébés – pas de géants . . . 53 1.3.2 L’algorithme Rho de Pollard . . . 54

1.4 Passage à l’échelle du logarithme discret . . . . 55

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

1.5.1 Une démonstration d’optimalité ? . . . . 57 1.5.2 Faiblesses du modèle . . . 58

L

’objet de ce premier chapitre consiste en la présentation de résul-tats généraux qui s’appliquent au problème du logarithme discret quelque soit le groupe considéré. Il n’est ainsi requis qu’un tout petit nombre de propriétés concernant celui-ci : nous supposons simplement que la représentation du groupe est compacte, puis que la loi associée est explicitement donnée et que l’on détient un algorithme e cace pour e ectuer les opérations de cette loi. Un tel groupe sera dit général. En sus, nous serons souvent amenés à supposer l’ordre du groupe connu, ainsi, éventuellement, que sa factorisation – mais ceci sera toujours explicitement notiÆé.

Cette dernière hypothèse n’est pas très contraignante : pour de très nom-breux groupes utilisés en pratique, la factorisation de l’ordre s’obtient facile-ment. L’exemple le plus classique se compose du cas du groupe des points rationnels d’une courbe elliptique, groupe pour lequel l’ordre peut être e ca-cement obtenu à l’aide des algorithmes récents de comptage de points. Par ailleurs, les cryptographes chargés de la conception de ces systèmes choi-sissent fréquemment des courbes pour lesquelles l’ordre consiste en un petit multiple d’un nombre premier. Il est alors aisé de comprendre que la facto-risation de la cardinalité du groupe devient accessible, ce qui rend réaliste l’hypothèse classique faite selon laquelle cette factorisation est une donnée initiale du problème.

De manière amusante nous montrons aussi au paragraphe 1.1.3 que, si l’on sait calculer e cacement des logarithmes discrets au sein d’un groupe G, il est possible de retrouver la cardinalité de celui-ci.

Plan du chapitre. Nous commençons au paragraphe 1.1 par des résultats de

complexités généraux qui permettent de comprendre la di culté du problème du logarithme discret en étudiant ses liens avec certaines classes de complexi-tés théoriques usuelles. Nous travaillons ensuite avec un groupe G général dont nous supposons connue la factorisation de l’ordre. Ceci autorise la dé-monstration du fait suivant : le calcul de logarithmes discrets dans G n’est pas plus di cile que celui de logarithmes discrets dans chacun des sous-groupes de G d’ordre premier. Il s’agit du résultat de Pohlig–Hellman [PH78] qui pro-pose une méthode constructive pour calculer des logarithmes discrets dans le groupe tout entier à partir d’un petit nombre de calculs de logarithmes dans les sous-groupes de cardinalité première. Cet algorithme est décrit au paragraphe 1.2. Nous détaillons au paragraphe 1.3.2 l’algorithme Rho de Pol-lard [Pol78] qui permet de résoudre le problème dans G en O(p

|G|) opéra-tions. En combinant les algorithmes de Pohlig–Hellman et Rho de Pollard il est par conséquent possible d’élaborer une méthode pour calculer des loga-rithmes discrets en O(pp) opérations, où p est le plus grand facteur premier

1.1. CLASSES DE COMPLEXITÉ 47 intervenant dans la factorisation de l’ordre d’un groupe général.

EnÆn, nous discutons au paragraphe 1.4 du souci de passage à l’échelle, c’est-à-dire de la possibilité de calculer un grand nombre de logarithmes dis-crets indépendants au sein du même groupe général, en amortissant une partie des coûts de calcul. Nous clôturons ce chapitre par la présentation du modèle du groupe générique au paragraphe 1.5 proposé par Shoup dans [Sho97b], modèle pour lequel on connait des algorithmes optimaux.

1.1 Classes de complexité

Pour décrire le niveau exact de di culté d’un problème calculatoire, l’ap-proche classique consiste à étudier les classes de complexité auxquelles il appartient. A cette Æn, nous considérons traditionnellement des problèmes de décision, c’est-à-dire des problèmes qui peuvent être formulés de telle sorte que l’on puisse répondre simplement par oui ou par non. Le problème du logarithme discret tel quel n’est pas un problème de décision. Aussi, avant de déterminer les classes de complexités qui lui sont reliées, la première étape repose sur l’introduction du problème de décision qui lui sera le plus proche, et dont la di culté sera essentiellement équivalente au calcul de logarithmes discrets. Si plusieurs choix sont possibles, notre attention se portera sur le problème suivant :

Problème 1.1.1 (Log Range Decision). Etant donné un groupe cyclique G et

un triplet (g,h,B) :

— Renvoyer OUI s’il existe x2 J0,BK tel que h = gx. — Sinon renvoyer NON.

En e et, un algorithme ou un oracle qui résout ce problème peu être uti-lisé pour calculer des logarithmes discrets via une recherche dichotomique. Ceci demande alors un nombre logarithmique d’appels à Log Range Decision. En d’autres termes, le nombre d’appels à l’oracle est polynomial en la taille en bits de l’entrée. Réciproquement, il est clair que la connaissance d’un algo-rithme de résolution du problème du logaalgo-rithme discret permet de répondre à la question posée par ce problème de décision. Par conséquent, la di culté du problème Log Range Decision est essentiellement la même que celle du pro-blème du logarithme discret lui-même. Nous donnons dans la suite de cette section quelques résultats d’appartenance à des classes de complexité bien connues.

1.1.1 Log Range Decision appartient à NP\ co-NP

Rappelons qu’un problème est dans NP s’il peut être décidé sur une machine de Turing non-déterministe en temps polynomial par rapport à la taille de l’entrée, c’est-à-dire qu’il existe un témoin qui permet de décider en temps polynomial si une solution donnée par exemple par un oracle convient à ce problème. La classe co-NP représente la classe complémentaire de la classe NP, au sens de la théorie de la complexité. Dit autrement, un problème est dans co-NP s’il existe un certiÆcat qui permet de vériÆer en temps polyno-mial qu’une instance qui ne répond pas au problème donnera la réponse NON. Pour montrer que le problème est dans NP, supposons qu’il existe un entier x 2 J0,BK tel que h = gx, alors cet entier x lui-même est un témoin de ce fait, qui se teste facilement en temps polynomial.

Par ailleurs, lorsque g est un générateur de G et que le groupe en question est d’ordre connu, donner un logarithme discret de h en base g est aussi un témoin satisfaisant pour prouver que la réponse est NON. Dans ce cas particu-lier, le problème appartient donc à la classe co-NP. La situation est cependant plus complexe dans le cas général. En e et, pour poursuivre, nous avons be-soin d’un générateur g0 de G, ainsi que de la connaissance de l’ordre |G| du groupe, et de sa factorisation. Au demeurant, puisqu’il y a '(|G|) générateurs de G, c’est à dire un grand nombre, g0 se trouve aisément par test de can-didats pris aléatoirement dans l’ensemble. Ce générateur g0 étant connu, la connaissance du logarithme discret de g et celui de h en base g0 su t alors à déterminer si h appartient au sous-groupe généré par g ou non, et, au be-soin, à montrer qu’aucun des logarithmes discrets de h en base g n’appartient à l’intervalle J0,··· ,BK. Nous en déduisons que le problème Log Range

Deci-sion se situe bien dans co-NP, même dans le cas général où g n’est pas un

générateur du groupe.

Dans le document Le logarithme discret dans les corps finis (Page 46-49)