• Aucun résultat trouvé

Preuves classiques de sch´ emas de signature

4.5. Preuves classiques de sch´emas de signature

R´eponse `a une nouvelle requˆete H : le simulateur tire un nombre al´eatoire k ∈Zn, et re-tourne ykemodn avec une probabilit´e (1−η), et ke modn avec une probabilit´e η. La valeur deη sera pr´ecis´ee plus tard dans la d´emonstration.

R´eponse `a une requˆete de signature sur un message mi∈ M : pour la requˆete i de si-gnature, la simulation fait un appel `a l’oracle de hachage, pour connaˆıtreh=H(mi) : sih a ´et´e d´efini commeykemodn, la simulation ´echoue ; sinon,ha ´et´e d´efini commekemodn, et donc la simulation peut calculer la signature demi. En effet, celle-ci vauts=k, et peut ˆetre retourn´ee `a l’attaquant.

Ainsi, la simulation est valide et indistinguable d’un v´eritable signataire, malgr´e une proba-bilit´e d’´echec que nous calculerons dans la suite.

Utilisation de la falsification : Si la simulation r´eussit, l’attaquantAretourne avec une pro-babilit´e εune falsification sur un message qu’il n’a jamais soumis `a l’oracle de signature.

Si l’attaquant ´echoue, notre r´eduction ´echoue elle aussi. Dans le cas contraire, l’attaquant retourne s et m. La simulation fait alors un appel `a l’oracle de hachage, pour connaˆıtre h=H(m) : si h a ´et´e d´efini commekemodn, la simulation ´echoue ; sinon, h a ´et´e d´efini comme ykemodn, et donc la simulation peut calculer la solution du challenge RSA : il s’agit deydmodn=sk−1 modn.

Calculons maintenant la probabilit´e de succ`es de notre r´eduction. Pour les qs requˆetes de signature, il faut qu’`a chaque fois,hsoit de la formeke modn, ce qui arrive avec une probabilit´e ηqs. Pour la falsification finale, il faut que hsoit de la formeykemodn, ce qui donne un facteur suppl´ementaire (1−η).

Il ne reste alors plus qu’`a trouver la probabilit´eηqui maximise la probabilit´e de succ`es de la r´eduction, c’est-`a-direηqs(1−η)ε. Clairement, cette probabilit´e est maximale pourη= 1−q1

s+1, donnant une probabilit´e finale

ε0> ε(1−q1

s+1)qs qs+ 1 . Pour une valeur qs>1, cela donne

ε0 > ε exp(1)·qs .

De plus, le temps de notre r´eductionτ0 est major´ee comme suit τ0 6τ + (qs+qh+ 1)T,

le +1 venant de l’appel `a l’oracle de hachage effectu´e lors de la v´erification finale de la falsification, au cas o`u l’attaquant n’aurait pas demand´e lui-mˆeme la valeurH(m) `a l’oracle de hachage. ut 4.5.2 Preuve de Schnorr dans le mod`ele de l’oracle al´eatoire

Dans cette section, nous rappelons bri`evement la preuve du sch´ema de signature Schnorr dans le mod`ele de l’oracle al´eatoire, telle qu’expos´ee parDavid PointchevaletJacques Stern dans [PS96,Poi96].

4.5. Preuves classiques de sch´emas de signature Th´eor`eme 2 (Pointcheval-Stern [PS96]). SoitA un adversaire qui produit, avec une probabilit´e de succ`es εet en un tempsτ, une falsification existentielle contre le sch´ema de signature Schnorr, sous une attaque `a messages choisis, apr`es avoir eu droit `a qh requˆetes

`

a un oracle de hachage et qs requˆetes `a un oracle de signature, dans le mod`ele de l’oracle al´eatoire.

Alors il est possible d’utiliser cet attaquant pour r´esoudre le probl`eme DL, avec une proba-bilit´eε0 et en un tempsτ0, tels que

ε0> 1 qh

ε−qs(qh+qs) q

2

−1 q et

τ062τ+ 4qsT

o`u T est le temps pour calculer une exponentiation dans le groupe G.

La preuve est une application du lemme de bifurcation. Nous utilisons ici la forme la plus simple du lemme de bifurcation, et ainsi, la r´eduction n’est pas la plus fine qui puisse ˆetre obtenue par ce lemme.

D´emonstration. Notre r´eduction re¸coit une instance quelconque (g, y) du probl`eme DL, sur un groupeGd’ordre premierq. Elle utilise alors un attaquant contre le sch´ema de signatureSchnorr pour r´esoudre cette instance.

Par d´efinition, l’attaquant A, apr`es avoir eu droit `a qh requˆetes `a un oracle de hachage H etqsrequˆetes `a un oracle de signature, est capable de produire une falsification sur un nouveau message, en un tempsτ et avec une probabilit´e de succ`es deε.

L’attaquantA est utilis´e avec la simulation suivante.

R´eponse `a une nouvelle requˆete G(m, u) : le simulateur retourne un nombre al´eatoire dans Zq.

R´eponse `a une requˆete de signature sur un message mi ∈ M : le simulateur tire deux al´eas (s, c) ∈ Zq ×Zq et calcule u = gsy−c. Si G(mi, u) est d´ej`a d´efini, le simulateur s’arrˆete, et la r´eduction ´echoue ( ´Ev´enement 1). Sinon, le simulateur pose G(mi, u) =c et retourne la signature valide (s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un v´eritable si-gnataire, et n’´echoue que lors de l’´Ev´enement 1 : celui-ci n’a heureusement qu’une probabilit´e inf´erieure `a qs(qhq+qs) de se produire. Ainsi, la simulation est valide et indistinguable d’un v´eritable signataire, sauf sous cette probabilit´e d’´echec.

Etape initiale, ´´ etape de rejeu : Comme dans toute utilisation du lemme de bifurcation, l’at-taquant est utilis´e deux fois, en lui r´epondant de fa¸con diff´erente aux oracles de hachage,

`

a partir d’un index j des requˆetes de hachage, index que la r´eduction tire au hasard.

D’apr`es le travail de David Pointcheval et Jacques Stern [PS96, Poi96], nous savons alors qu’avec une probabilit´e ε0 > εqh2, l’attaquant a r´epondu avec succ`es deux fois, sur un mˆeme engagementu— celui correspondant `a la requˆete `a la fonction de hachage `a l’indice j lors de l’´etape initiale et de l’´etape de rejeu.

Utilisation des falsifications : Si l’attaquant ´echoue lors de l’´etape initiale ou de l’´etape de rejeu, notre r´eduction ´echoue elle aussi. Dans le cas contraire, l’attaquant a retourn´e (s0, c0)

comme une premi`ere falsification du messagem, et (s1, c1) comme une seconde falsification du messagem, o`uu=gs0y−c0 =gs1y−c1.

La simulation peut donc en d´eduire la solution du challengeDL, d`es lors quec0 6=c1 modq: il s’agit de sc1−s0

1−c0 modq.

Il ne reste plus pour arriver au r´esultat qu’`a ajouter qu’`a part avec une probabilit´e plus petite que 1q, nous avonsc0 6=c1 (mod q), puisquec0 etc1 sont des valeurs al´eatoires qui ont ´et´e retourn´ees par l’oracle de hachage durant des ´etapes ind´ependantes, aumˆeme index de requˆete.

Pour le temps de la r´eduction, nous obtenons le r´esultat τ062τ+ 4qsT, en remarquant que l’attaquant doit ˆetre ex´ecut´e deux fois, et que, lors de chaque attaque, pour chaque signature, il

est n´ecessaire de calculer une double exponentiation. ut