• Aucun résultat trouvé

La fonction RSA : une permutation `a sens-unique `a trappe

Ces fonctionsfksont `a sens-unique, sans aucune trappe possible pour aider dans l’inversion.

En revanche, des structures alg´ebriques reposent sur la factorisation, et le calcul de certaines op´erations dans de telles structures peut d´ependre de la connaissance ou non de la factorisation d’un entier.

Par exemple, pour n = pq, l’anneau quotient /n , identifi´e `a n = {0,1, . . . , n−1}, est isomorphe `a l’anneau produit p× q. Ainsi, la structure d´epend fortement de la factorisation den. En l’occurrence, le groupe multiplicatif ?nest isomorphe `a ?p× ?q.

Le calcul de la puissancee-i`eme d’un ´el´ement xpeut facilement se calculer avec la m´ethode square-and-multiply. Mais pour calculer des racines e-i`emes, il semble n´ecessaire de connaˆıtre l’ordre du groupe multiplicatif, ou le cardinal de ce groupe :

ϕ(n) = # ?n= (p−1)(q−1).

De fa¸con g´en´erale, pourn=Q pνii,

ϕ(n) = # ?n=n×Y 1− 1

pi

.

En effet, en calculant l’exposantd=e−1modϕ(n), le th´eor`eme d’Euler conduit `a (xe)d = (xd)e=x1+kϕ(n)=x×(xϕ(n))k=x×1k=xmodn.

Par contre, sans cette valeurd (ou de fa¸con ´equivalente un multiple deϕ(n), ou la factorisation den [79]), on ne connaˆıt pas de m´ethode pour calculer des racinese-i`emes modulaires.

2en tenant compte des am´eliorations algorithmiques .

3. Le probl`eme du logarithme discret 19

Ainsi, en 1978, Rivest, Shamir et Adleman [113] ont propos´e la famille de fonctions (fn,e)n,e, index´ee par un module RSA n =pq, produit de deux entiers premiers de mˆeme taille, et e un exposant premier avec ϕ(n),

fn,e: ?n−→ ?n

x7−→xemodn.

Ces fonctions peuvent d’ailleurs ˆetre d´efinies sur n, et dans les deux cas, on a affaire `a une permutation de ?n, ou nrespectivement.

L’´evaluation de toute fonction fn,e est ais´ee, son inversion est ´egalement facile pour qui connaˆıt d=e−1 modϕ(n), ou de fa¸con ´equivalente la factorisation den, puisquefn,e−1=fn,d. En revanche, l’inversion est tr`es difficile pour qui n’a pas acc`es `a cette factorisation (ou `a d).

Plus formellement, le probl`eme RSAest d´efini de la fa¸con suivante :

D´efinition 9 (Le probl`eme RSA– ou la racinee-i`eme modulaire). Soientn=pqun module RSA,eun exposant premier avecϕ(n) ety ∈ ?n, trouver une racinee-i`eme dey modulon, soit un ´el´ement x∈ ?ntel quexe=ymodn. On d´efinit alors par

Succrsa(n)(A) = Pr

y∈ ?n[A(y)e =ymodn],

la probabilit´e de succ`es d’un algorithme A, qui re¸coit en entr´ee un entier n. Dans certains cas, l’entiernpourra entrer dans la distribution de probabilit´es, en supposant qu’il est engendr´e par un algorithme qui produit des nombres premiers de taille fix´ee k, de fa¸con uniforme, `a partir d’une donn´ee al´eatoire :

Succrsa(k)(A) = Pr

|n|=k y∈ ? n

[A(y)e=ymodn].

Ainsi, le probl`eme RSAest difficile `a r´esoudre lorsque la factorisation du module est inconnue.

L’hypoth`ese RSAsuppose donc ce probl`eme aussi difficile que la factorisation. Il faut n´eanmoins noter qu’aucune ´equivalence entre ces probl`emes n’a jamais ´et´e propos´ee. Le contraire semble d’ailleurs plus probable [19]. Mais cela ne remettrait pas pour autant en cause la difficult´e du probl`eme RSA, tant qu’aucune m´ethode efficace pour le r´esoudre ne serait propos´ee.

D´efinition 10 (L’hypoth`ese RSA). Pour tout entier RSA suffisamment grand, le probl`eme RSAest difficile `a r´esoudre.

En fait, on admet que le probl`eme RSA est aussi difficile que la factorisation du module. On pourra par cons´equent utiliser les mˆemes estimations de complexit´e pour le probl`eme RSAque pour la factorisation (voir figure 1). En particulier, pour tout algorithme A, pour tout module RSA nde k bits, et pour tout exposant e premier avecϕ(n),

Time(A)/Succrsa(n)(A)≥Ck,

o`u Ck repr´esente la complexit´e minimale pour factoriser un module RSA dek bits, soit C512= 258, C1024 = 280, C2048= 2111, C4096= 2149.

3 Le probl`eme du logarithme discret

Le probl`eme RSArepose sur la difficult´e de d´eterminer l’ordre d’un groupe, en l’occurrence le groupe multiplicatif de n, pourncompos´e. Le probl`eme du logarithme discret se pose mˆeme lorsque l’on connaˆıt cet ordre.

3.1 Enonc´´ e des probl`emes

Soit un groupe cyclique fini G, d’ordre q (que l’on supposera premier par la suite), ainsi qu’un g´en´erateur g (i.e. G = hgi). On pourra penser `a tout sous-groupe de ( ?p,×) d’ordre q pour q|p−1, ou `a des courbes elliptiques, etc. Dans de tels groupes, on d´efinit les probl`emes suivants :

– le probl`eme du logarithme discret (DL) : ´etant donn´e y ∈ G, calculer x ∈ q tel que y=gx. On d´efinit alors loggy=x, ainsi que le succ`es d’un algorithme A par

Succdl(G,g)(A) = Pr

x∈ q

[A(gx) =x].

– le probl`eme Diffie-Hellman Calculatoire (CDH) : ´etant donn´e deux ´el´ements dans le groupe G, A =ga et B =gb, calculer C =gab. On d´efinit alors C =DH(A, B) ainsi que le succ`es d’un algorithme Apar

Succcdh(G,g)(A) = Pr

a,b∈ q

[A(ga, gb) =gab].

– le probl`eme Diffie-Hellman D´ecisionnel (DDH) : ´etant donn´e trois ´el´ements dans le groupe G, A = ga, B = gb et C = gc, d´ecider si C =DH(A, B), ce qui est ´equivalent `a d´ecider si c=abmodq. On d´efinit l’avantage d’un distingueurD par

Advddh(G,g)(D) =| Pr

a,b,c∈ q

[1← D(ga, gb, gc)]− Pr

a,b∈ q

[1← D(ga, gb, gab)]|.

Dans les trois probl`emes ci-dessus, on pourra introduire g dans les distributions de probabi-lit´es, ainsi que dans les entr´ees des algorithmes pour d´efinir Succdl(G)(A), Succcdh(G)(A) ou Advddh(G)(A).

Ces probl`emes sont class´es du plus difficile au plus facile. En effet, la r´esolution du logarithme discret permet de r´esoudre les probl`emes Diffie-Hellman. De mˆeme, il est plus facile de d´ecider leDH que de le calculer.

De plus, ces probl`emes sont al´eatoirement auto-r´eductibles : toute instance peut se r´eduire

`a une instance al´eatoire. Par exemple, si on veut calculer x = loggy, on peut choisir a ∈ q

al´eatoire puis calculer Y =yga. Si on peut trouver X = loggY, alors x =X−amodq. Cette r´eduction convient quel que soit q. Une autre r´eduction est parfois utilis´ee (notamment dans les articles [23,20,21]) : pour calculer x = loggy, on peut choisir a∈ ?q al´eatoire puis calculer Y =ya. Si on peut trouver X = loggY, alors x=X/amodq. Cette r´eduction ne convient que siq est premier. Dans tous les cas, cette auto-r´eduction al´eatoire signifie que toutes les instances sont aussi faciles/difficiles les unes que les autres, pourg et G fix´es : il n’y a que des instances moyennes. L’auto-r´eduction multiplicative (pour un groupe premier) entraˆıne ´egalement une uniformit´e de la difficult´e, quel que soitg. Ainsi, si on peut r´esoudre une fraction non-n´egligeable d’instances en temps polynomial, on peut r´esoudre toute instance en temps moyen polynomial.

Une nouvelle variante du probl`eme Diffie-Hellman a ´et´e r´ecemment introduite par l’auteur de ce m´emoire, dans un article [92] avec Tatsuaki Okamoto, il s’agit du probl`eme duGap Diffie-Hellman (GDH) qui consiste `a r´esoudre le probl`eme CDH avec un acc`es `a un oracle DDH, qui pr´ecise le statut de tout triplet (ga, gb, gc). Plus de d´etails au sujet desGap Problems en g´en´eral peuvent ˆetre trouv´es dans l’article joint en annexe (page 177).

Alors, on a

DL≥CDH≥ {DDH,GDH},

o`uA≥B signifie que le probl`emeA est au moins aussi difficile que le probl`emeB. Cependant, en pratique, on ne sait r´esoudre aucun de ces probl`emes autrement qu’en r´esolvant le probl`eme du logarithme discret.

3. Le probl`eme du logarithme discret 21

Documents relatifs