• Aucun résultat trouvé

2.4 Analyse de complexit´e

2.4.1 D´efinitions et strat´egie d’analyse

Une instance d’un probl`eme quelconque dans la famille g´en´erique de groupes cy-cliques avec couplage est d´ecrite par les entr´ees suivantes :

– la taille des groupes, n∈N;

– les ´el´ements neutres et des g´en´erateurs des deux groupes, (0f, gf,0h, gh)∈(B(n))4; – les ´el´ements d´efinissant l’instance du probl`eme, sous la forme d’´el´ements deB(n) :

unr-uplet (x1, . . . , xr)∈(B(n))r et un s-uplet (y1, . . . , ys)∈(B(n))s.

Des oracles calculant les lois de groupes, +f et +h, les lois inverses,−f et−h, et le couplage ef,g sont construits `a partir de deux bijections f et h, choisies al´eatoirement dansF(B(n)). Ces bijections f and h doivent envoyer 0 et 1 vers les ´el´ements neutres et g´en´erateurs des groupes :f(0) = 0f, f(1) =gf, h(0) = 0h, h(1) =gh.

On consid`ere une suite de requˆetes `a ces oracles. On s’int´eresse `a la probabilit´e d’occurrence d’une collision suite `a ces requˆetes, probabilit´e calcul´ee sur l’ensemble des couples (f, h) ∈ F(B(n))2. Pour cela, on construit deux suites de listes, R et S, au fur et `a mesure des requˆetes. Les listes constituant ces deux suites sont `a valeurs dans

B(n)×(Z/nZ)(X1, . . . , Xn, Y1, . . . , Yn) o`u (Z/nZ)(X1, . . . , Yn) est le corps des fractions rationnelles en les variables X1, . . . , Xn,Y1, . . . , Yn.

Le premier ´el´ement d’un couple d’une liste d’une suite est un ´el´ement d’un groupe (B(n)f pourR,B(n)h pourS), le second ´el´ement est une fraction rationnelle d´efinissant comment l’´el´ement de groupe a ´et´e calcul´e. De cette mani`ere, il y a collision s’il existe deux couples, dans une mˆeme liste, ayant le mˆeme ´el´ement de groupe, mais des fractions rationnelles distinctes : un mˆeme ´el´ement d’un groupe a ´et´e obtenu en utilisant deux m´ethodes de calcul diff´erentes.

Au niveau des fractions rationnelles, chacune des inconnues X1, . . . , Xn repr´esente le logarithme discret d’un ´el´ement de B(n)f, dans la base gf. Il en va de mˆeme pour les inconnues Y1, . . . , Yn vis-`a-vis du groupe B(n)h et de la base gh. Des ´el´ements de ces groupes dont les logarithmes discrets sont corr´el´es utilisent les mˆemes inconnues.

Analyse de complexit´e 47 Nominalement, les seules inconnues utilis´ees sont li´ees aux logarithmes discrets des ´el´ements x1, . . . , xr, y1, . . . , ys donn´es dans l’instance du probl`eme. Mais lorsqu’une requˆete `a l’un des oracles utilise un ´el´ement de groupe qui n’est jamais apparu au-paravant, cet ´el´ement est associ´e `a une nouvelle inconnue, son logarithme discret ´etant compl`etement d´ecorr´el´e des pr´ec´edents. On utilise des fractions rationnelles, et pas uniquement des polynˆomes, car dans certains probl`emes, les logarithmes discrets des entr´ees et de la solution sont corr´el´es via des fractions (c’est le cas du probl`emeq-BDHI avec une solution dont le logarithme discret est un inverse).

Les listesRketSkcorrespondent `a l’´etat apr`es leskpremi`eres requˆetes aux oracles. Les entiers rk et sk indiquent le nombre de variables utilis´ees dans les listesRk et Sk

(rkpour les variables de typeX,sk pour les variables de typeY). Enfin, on appelleρk

etσk les tailles respectives de Rk et de Sk.

Les listes R0 et S0, ainsi que les valeurs r0, s0, ρ0 et σ0 d´ependent fortement des entr´ees du probl`eme (voir les sections 2.4.3 et 2.4.4 pour des exemples).

En revanche, l’´evolution de ces ´el´ements d´epend uniquement des requˆetes aux oracles et des r´eponses `a ces requˆetes. Ainsi, lors du (k+ 1)`eme appel `a un oracle, on calcule les valeurs derk+1,sk+1k+1k+1,Rk+1 et deSk+1 en les initialisant avec les valeurs de rk,skkk,Rk etSk puis en les modifiant en fonction des cas.

– Nouvelles variables: lors d’un appel `a un oracle +f,−f ouef,h, pour chaque entr´ee a∈ B(n) de cet appel, lorsque a n’apparaˆıt pas comme premier ´el´ement d’un couple dansRk+1, la valeur derk+1est incr´ement´ee de 1, on d´efinitxrk+1=a

et on ajoute le couple (xrk+1, Xrk+1) dans la listeRk+1. On proc`ede de mˆeme lors de l’utilisation de nouvelles valeurs dans un appel `a un oracle +h ou −h, en incr´ementant sk+1, en d´efinissant ysk+1 et en ajoutant le couple (ysk+1, Ysk+1) dans la listeSk+1.

– Fraction rationnelle associ´ee : lors d’un appel `a un oracle +f,−f ou ef,h, on recherche les fractions rationnelles associ´ees aux entr´ees dans la liste Rk+1. Lors d’un appel `a un oracle +h ou −h, on recherche ces fractions dans la liste

Sk+1. La fraction rationnelle associ´ee `a la requˆete `a l’oracle est l’oppos´e de la fraction rationnelle recherch´ee (cas des oracles −f et −h), la somme des deux fractions rationnelles recherch´ees (cas des oracles +f et +h) ou leur produit (cas de l’oracleef,h).

– Insertion d’une r´eponse fraˆıche: lors d’un appel `a un oracle +f ou−f, si la fraction rationnelle associ´ee `a la requˆete n’apparaˆıt pas dans un couple deRk+1, alors on ajoute dans cette liste la r´eponse donn´ee par l’oracle avec la fraction rationnelle associ´ee `a la requˆete. De mˆeme, lors d’un appel `a un oracle +h,−h ou

ef,h, si la fraction rationnelle associ´ee `a la requˆete n’apparaˆıt pas dans un couple deSk+1, alors on ajoute dansSk+1 la r´eponse donn´ee par l’oracle avec la fraction rationnelle associ´ee `a la requˆete.

Remarque 2.2 Dans cette mise `a jour, au plus trois couples ont ´et´e ajout´es dans les

48 Mod`ele g´en´erique des groupes avec couplage

variables nouvelles, en plus de celui pour la r´eponse de l’oracle). On a ainsi l’in´egalit´e suivante : ρk+1k+1kk+ 3.

Les suites de listesRetS´etant construites, on peut d´esormais d´efinir formellement la notion de collision :

D´efinition 2.7 (Collision) On dit qu’il y a collision dans les listes (Rk,Sk) s’il existe

deux couples ((v1, P1) et (v2, P2)), tous deux dans Rk ou tous deux dans Sk, tels que : v1 =v2 et P1 6=P2.

Comme mentionn´e pr´ec´edemment, pour une suite d’appels aux oracles, on souhaite calculer la probabilit´e d’occurrence d’une collision, cette probabilit´e portant sur le choix des bijections f eth. On doit donc d´efinir les choix possibles pourf eth.

Les listesRketSkcontiennent toutes les valeurs utilis´ees dans les appels aux oracles, et toutes les r´eponses faites par les oracles, avec les fractions rationnelles qui leur sont associ´ees. Ainsi, tout couple de bijections pour lequel les appels aux oracles auraient conduit aux mˆemes r´eponses sont structurellement indistinguables du couple r´eellement utilis´e dans la construction des oracles. On caract´erise ces couples avec la notion de compatibilit´e :

D´efinition 2.8 (Compatibilit´e) Un couple de bijections (f, h) ∈ F(B(n))2 est dit

compatible avec les listes(Rk,Sk) si :

– ∀(vR, PR)∈Rk, PR(f1(x1), . . . , f1(xrk), h1(y1), . . . , h1(ysk))est d´efini et est ´egal `a f1(vR);

– ∀(vS, PS) ∈Sk, PS(f−1(x1), . . . , f−1(xrk), h−1(y1), . . . , h−1(ysk)) est d´efini et est ´egal `a h1(vS).

Apr`es kappels aux oracles, le couple de bijections utilis´e pour construire les oracles est n´ecessairement compatible avec les listes (Rk,Sk). Ainsi, l’´etude de probabilit´e r´ealis´ee par la suite va porter sur l’ensemble des couples de bijections compatibles avec ces listes.

Il reste `a introduire la notion de coh´erence, portant sur les images r´eciproques des ´el´ements xi et yj par les fonctions f et h, fondamentale dans l’´etude des collisions, puisque ce sont ces images r´eciproques qui d´eterminent l’apparition des collisions dans le jeu :

D´efinition 2.9 (Coh´erence) Un (r +s)-uplet (α1, . . . , αr, β1, . . . , βs) ∈ (Z/nZ)r+s

est dit coh´erent avec un ensemble Π de fractions rationnelles dans(Z/nZ)(X1, . . . , Xr, Y1, . . . , Ys) si :

– ∀P ∈Π, P(α1, . . . , αr, β1, . . . , βs) est d´efini ;

– ∀(P1, P2)∈Π2, P1 6=P2 =⇒P11, . . . , βs)6=P21, . . . , βs) .

Pour pr´eciser le contenu de toutes ces notations les unes par rapport aux autres, et en vue d’introduire la strat´egie de la preuve suivante, on imagine le jeu suivant : la situation apr`es leskpremiers appels aux oracles est mod´elis´ee par les listes (Rk,Sk). On suppose que ces listes sont sans collision (voir d´efinition 2.7) : il s’agit du cas g´en´eral, et

Analyse de complexit´e 49 seules quelques configurations particuli`eres pour les bijectionsf eth ont ´et´e ´ecart´ees. Comment ´evaluer la probabilit´e d’obtenir une collision lors de la requˆete suivante ?

Tout d’abord, les bijections f et h sont au centre du jeu : leur choix d´etermine toutes les structures des groupes, ainsi que les logarithmes discrets des ´el´ements des groupes manipul´es. Dans le cadre de la famille g´en´erique, ces bijections ont ´et´e choisies al´eatoirement et uniform´ement dans l’ensemble de toutes les bijections de (Z/nZ) dans

B(n), mais certaines possibilit´es ont ´et´e ´ecart´ees par leskpremiers appels aux oracles. Les seuls couples de bijections envisageables (de mani`ere ´equiprobable) sont les couples (f, h) compatibles avec les listes (Rk,Sk) (voir d´efinition 2.8).

L’existence ou l’absence de collisions apr`es k ou k+ 1 appels aux oracles d´epend en fait uniquement des images r´eciproques des rk ou rk+1 valeurs xi par f et des images r´eciproques des sk ou sk+1 valeurs yj par h. Dans le cas pr´esent, ces images r´eciproques n’engendrent pas de collisions pendant leskpremiers appels : elles sont donc simultan´ement coh´erentes avec l’ensemble des fractions rationnelles deRket l’ensemble des fractions rationnelles de Sk (voir d´efinition 2.9). L’existence d’une collision apr`es l’appel suivant s’interpr`ete inversement : ces images r´eciproques doivent ne plus ˆetre coh´erentes avec l’ensemble des fractions rationnelles de Rk+1, ou celui des fractions rationnelles deSk+1. L’´evaluation de la probabilit´e de collision de l’algorithme revient donc `a estimer la part d’ensembles d’images r´eciproques incoh´erentes `a l’´etape k+ 1 dans les ensembles d’images r´eciproques coh´erentes `a l’´etape k.