Th´eor`eme 25. L’inversion (OW-CPA) du chiffrement de El Gamal est ´equivalente au probl`eme Diffie-Hellman Calculatoire :Succow−cpa(t) =Succcdh(t).
D´emonstration. L’in´egalit´eSuccow−cpa(t)≥Succcdh(t) est ´evidente, on ´etudie alors la r´eciproque.
Soit une instance al´eatoire (A = ga, B = gb) du probl`eme Diffie-Hellman que l’on souhaite r´esoudre. On consid`ere un attaquant A contre la notion de s´ecurit´e OW-CPA : on note Game0 le jeu r´eel que joue cet attaquant.
Game0 : on ex´ecute l’algorithme de g´en´eration de cl´es qui retourney=gx pour un xal´eatoire dans
q. Puis l’attaquant re¸coit un challenge (r = gk, s = myk), pour un message m ←R ?p
al´eatoire. L’attaquant retourne m = s/yk avec probabilit´e ε. On note cet ´ev´enement de succ`es S0, ainsi queSi dans les jeuxGamei ci-dessous : Pr[S0] =ε.
Game1 : on modifie un peu le jeu r´eel, notamment le choix de la cl´e publique. Au lieu de prendre y =gxcomme cl´e publique, on utilisey=A, ce qui revient `a prendrex=a. Les distributions dexety sont ainsi identiques `a celles du jeu pr´ec´edent puisqu’il s’agit d’une instance (A, B) al´eatoire : Pr[S1] = Pr[S0].
4. Le chiffrement de El Gamal 41
Soientp un nombre premier etg∈ ?p. On noteG le groupe engendr´e parg.
– Donn´ees communes :p et g – Cl´e priv´ee d’Alice : x∈ p−1
– Cl´e publique d’Alice :y=gxmodp
– Chiffrement : soitm un message `a chiffrer pour Alice.
Ce message mest cod´e comme un ´el´ement de ?p. Bob choisit un ´el´ement k∈ p−1 puis calcule
r=gkmodp et s=yk×mmodp.
Un chiffr´e de m est la paire (r, s).
– D´echiffrement : seule Alice est capable de retrouverm
`a partir du chiffr´e, grˆace `a sa connaissance de x.
En effet,
yk=gxk= (gk)x=rxmodp Ainsi, m=s/rx modp.
Fig. 4. Chiffrement de El Gamal
Game2 : on modifie d´esormais la construction du challenge. Au lieu de prendre r = gk, on utilise r=B, ce qui revient `a prendrek=b. La construction desreste inchang´ee :s=myk, pour un message m ←R ?p al´eatoire. La distribution de r est identique `a celle du jeu pr´ec´edent : Pr[S2] = Pr[S1].
Game3 : enfin, au lieu de d´efinir s = myk, pour un message m ←R ?p al´eatoire, on choisit s ←R ?p
al´eatoire. La structure de groupe fait que la distribution de s est uniforme dans les deux cas : Pr[S3] = Pr[S2].
On peut r´e´ecrire l’´ev´enement S3 de la fa¸con suivante :
ε= Pr[S0] = Pr[S3] = Pr[s←R ?p, a, b←R p−1, y=ga, r=gb :A(y, r, s) =s/yb]
= Pr[A, B ←R G, s←R ?p, y=A, r=B :A(y, r, s) =s/DH(A, B)].
La probabilit´e ε est donc born´ee par la probabilit´e de r´esoudre le probl`eme CDH, en le mˆeme
temps que l’ex´ecution de A. ut
Cet algorithme de chiffrement, contrairement aux sch´emas vus jusqu’`a pr´esent, a la particu-larit´e d’ˆetre probabiliste : il existe plusieurs chiffr´es possibles pour un mˆeme message clair, et ce en raison de l’al´ea k. Il permet d’esp´erer la s´ecurit´e s´emantique.
Th´eor`eme 26. Si les messages sont cod´es par des ´el´ements de G, groupe cyclique d’ordre q, la s´ecurit´e s´emantique (IND-CPA) du chiffrement de El Gamal est ´equivalente au probl`eme Diffie-Hellman D´ecisionnel, et Advind−cpa(t)≤2×Advddh(t).
D´emonstration. Comme ci-dessus, soit une instance al´eatoire (A = ga, B = gb) du probl`eme Diffie-Hellman D´ecisionnel, avec C ∈ G comme candidat. On consid`ere un attaquant A = (A1, A2) contre IND-CPA en tempst: on note le jeu r´eel Game0.
Game0 : on ex´ecute l’algorithme de g´en´eration de cl´es qui retourney =gx pour unx al´eatoire dans
q. Sur y, A1 retourne deux messages m0, m1 ∈ G. Sur le chiffr´e γ = (r, s) de mδ, A2 retourne son choix δ0. Avec probabilit´e (ε+ 1)/2, on a δ0 = δ. On note cet ´ev´enement de succ`es S0, ainsi que Si dans les jeuxGamei ci-dessous : Pr[S0] = (ε+ 1)/2.
Game1 : comme pr´ec´edemment, on modifie un peu le jeu r´eel, en utilisant y = A puis r = B, ce qui revient `a prendre x = a et k = b. La construction de s reste inchang´ee : s = mδyk.
Les distributions de x, y et r sont identiques, en raison de l’instance al´eatoire (A, B) : Pr[S1] = Pr[S0].
Game2 : puis, au lieu de d´efinirs=mδyk, on d´efinits=mδC, pourC =DH(A, B). Alors, Pr[S2] = Pr[S1].
Game3 : maintenant, on remplaceC =DH(A, B) par un candidat C=gc al´eatoire. Puisque l’´ev´ene-ment δ0 =δ est d´etectable, on peut d´efinir le distingueurD qui ex´ecute le mˆeme jeu que le Game2, qui peut ˆetre effectivement le Game2 ou le Game3 selon queC =DH(A, B) ou non, ce que l’on ignore. Toujours est-il que le distingueur, `a la fin du jeu retourne 0 si δ0 6=δ, et 1 siδ0 =δ :
Pr[1← D |C ←R G] = Pr[S3] et Pr[1← D |C =DH(A, B)] = Pr[S2].
Ainsi,
| Pr[S3]−Pr[S2]| ≤Advddh(D)≤Advddh(t).
Enfin, il est ais´e de remarquer que Pr[S3] = 1/2. On applique alors l’in´egalit´e triangulaire : ε
2 = 1 +ε 2 − 1
2 =| Pr[S3]−Pr[S0]| ≤Advddh(t).
Donc l’avantage ε est born´e par deux fois l’avantage dans la d´ecision du probl`eme DDH, en le
mˆeme temps que l’ex´ecution deA. tu
Cependant, en raison de la propri´et´e homomorphe, la non-mall´eabilit´e est inaccessible, ni mˆeme la moindre s´ecurit´e face `a des attaques `a chiffr´es choisis adaptatives : si (r, s) est un chiffr´e dem, (r,2s) est un chiffr´e de 2m.
5 Conclusion
Dans ce chapitre, on a pr´ecis´e les notions de s´ecurit´e souhaitables pour garantir convenable-ment la confidentialit´e des communications. La s´ecurit´e s´emantique face aux attaques `a chiffr´es choisis adaptatives est ind´eniablement la notion de s´ecurit´e maximale que l’on puisse formaliser dans le mod`ele de s´ecurit´e consid´er´e (o`u les moyens de l’attaquant sont mod´elis´es par des oracles parfaits). Il ne faut pas pour autant voir ce niveau de s´ecurit´e comme superflu. En effet, des sc´enarios semblables `a ce type d’attaques sont parfaitement r´ealistes en pratique [65,15,66].
On a ´egalement pr´esent´e les deux sch´emas de chiffrement asym´etrique les plus classiques (RSA et El Gamal). Malheureusement, ils n’atteignent respectivement que les niveaux de s´ecurit´e OW-CPAetIND-CPA, et non le niveau d´esormais requis, `a savoir IND-CCA2. Le chapitre suivant
´etudie un certain nombre de techniques pour y parvenir.
Attaques ` a chiffr´ es choisis adaptatives
Sommaire
1 Le mod`ele de l’oracle al´eatoire . . . . 43 1.1 Notions de s´ecurit´e classiques . . . . 44 1.2 Plaintext-awareness . . . . 44 1.3 Discussions . . . . 45 2 Constructions g´en´eriques . . . . 46 2.1 Premi`ere construction g´en´erique . . . . 46 2.2 OAEP : Optimal Asymmetric Encryption Padding . . . . 48 2.3 REACT : Rapid Enhanced-security Asymmetric Cryptosystem Transform . . . . 48 2.4 Autres conversions g´en´eriques . . . . 50 3 Conclusion . . . . 51
1 Le mod`ele de l’oracle al´eatoire
On a vu que le niveau de s´ecurit´e souhaitable est la r´esistance aux attaques `a chiffr´es choisis.
N´eanmoins l’efficacit´e ne doit pas en pˆatir. Il semble malheureusement difficile d’obtenir des sch´emas efficaces, avec un niveau de s´ecurit´e IND-CCA2 prouv´e dans le mod`ele standard. On verra ult´erieurement un tel candidat [33], qui n’atteint toutefois pas une efficacit´e calculatoire importante.
Un compromis possible consiste `a faire certaines hypoth`eses sur les attaques mises en œuvre par les adversaires. Plusieurs hypoth`eses, qui supposent certains objets id´eaux, ont d´ej`a ´et´e propos´ees :
– le mod`ele du groupe g´en´erique [85,121,117], qui suppose que l’attaquant n’exploite pas les propri´et´es du codage des ´el´ements du groupe utilis´e. Par cons´equent, la loi interne du groupe est effectu´ee par l’interm´ediaire d’un oracleO(x, y,±). Et c’est le seul moyen qu’a l’adversaire pour obtenir un nouvel ´el´ement dans ce groupe ;
– le mod`ele du chiffrement id´eal [9], qui suppose qu’un sch´ema de chiffrement sym´etrique par blocs est parfait. Cela signifie que pour chaque cl´e k, on a affaire `a une permutation parfaitement al´eatoire, ind´ependante des autres. Comme pr´ec´edemment, les fonctions de chiffrement et de d´echiffrement sont mod´elis´ees par des oraclesE(k, x) etD(k, y) ;
– le mod`ele de l’oracle al´eatoire [10] (voir le chapitre Preuves de s´ecurit´e, section 4).
Dans ce mod`ele, les fonctions de hachage sont des fonctions al´eatoires, mod´elis´ees par des oracles qui retournent des images H(x) parfaitement al´eatoires, ind´ependantes les unes des autres.
Ainsi, l’attaquant a acc`es `a divers oracles suppl´ementaires, en fonction du mod`ele consid´er´e : aucun oracle dans le mod`ele standard, oracle de loi interneOdans le mod`ele du groupe g´en´erique, oracles de chiffrement E et d´echiffrement D dans le mod`ele du chiffrement id´eal, et oracle de hachage H (ou oracle al´eatoire ) dans le mod`ele de l’oracle al´eatoire.
Ce dernier mod`ele est le plus faible des trois, et donc le plus proche de la r´ealit´e, mˆeme si dans la pratique les fonctions de hachage sont fix´ees. Ce mod`ele revient `a ne consid´erer que les attaques g´en´eriques, ind´ependantes de l’impl´ementation des fonctions de hachage. Ainsi, pour attaquer un sch´ema prouv´e dans ce mod`ele, un adversaire devra exploiter des propri´et´es sp´ecifiques aux fonctions de hachage utilis´ees. Mais alors, le simple changement de la fonction de hachage rendra cette attaque inefficace. Dans la suite, on ne consid`ere donc que ce mod`ele de l’oracle al´eatoire, comme compromis pour ´evaluer la s´ecurit´e de sch´emas efficaces. N´eanmoins, une preuve dans le mod`ele du groupe g´en´erique est propos´ee dans l’article [103], pr´esent´e en annexe (page 241).
Comme on vient de le voir, dans ces mod`eles id´eaux, les oracles sont `a ajouter `a l’espace de probabilit´es dans lequel sont d´efinies les notions de s´ecurit´e. On peut donc red´efinir les notions pr´esent´ees dans le chapitre pr´ec´edent, afin d’en tenir compte, avec notamment l’oracleHdans le mod`ele de l’oracle al´eatoire. Bellare et Rogaway [11] ont ´egalement propos´e une nouvelle notion, appel´ee plaintext-awareness, qui n’a d’ailleurs de sens que dans un tel mod`ele id´eal `a oracle, grˆace `a la liste des questions-r´eponses de l’oracle.