• Aucun résultat trouvé

Les sch´ emas de signature de Katz-Wang

Dans [KW03],Jonathan KatzetNan Wangont propos´e deux modifications au sch´emaEDL.

La premi`ere est un sch´ema proche deEDL (et notamment avec une r´eduction fine sur leCDH), mais avec des signatures plus courtes, alors que la deuxi`eme est un sch´ema avec r´eduction fine sur le DDH. Nous noterons ces sch´emas respectivementKW-CDH etKW-DDH.

C’est notamment ici qu’il est n´ecessaire que la sortie de la fonction de hachageHsoitG\ {1}et nonG

††Ainsi, dans [GJ03], les auteurs estiment que si le probl`eme du logarithme discret est suppos´e infaisable pour des premiers de 1000 bits, le lemme de bifurcation nous assure seulement de la s´ecurit´e des signatures Schnorr dans un groupe modulo un premier de 8000 bits.

6.2. Les sch´emas de signature de Katz-Wang

6.2.1 Pr´esentation du sch´ema KW-CDH

L’id´ee de Jonathan Katz etNan Wang est de remplacer l’aspect al´eatoire de r par une im-pr´edictibilit´e. Plus pr´ecis´ement, les auteurs remplacent r par un bit b qui peut ˆetre seulement calcul´e par le signataire (par exemple,bpourrait ˆetre le r´esultat d’une fonction pseudo-al´eatoire, sous une cl´e secr`ete incluse dans la cl´e de signature). En d’autres termes, signer plusieurs fois un mˆeme message avec EDL ferait intervenir diff´erents al´eas r, alors qu’avecKW-CDH, le bit b resterait le mˆeme. La signature est alors (z, s, c, b), et est donc plus courte de 110 bits que la signature du sch´ema EDL.

SignatureKW-CDH[KW03] Initialisation des param`etres : Soient`p et`q des param`etres de s´ecurit´e.

SoitGle groupe cyclique d’ordreq, engendr´e parg, o`uqest un premier de

`q bits et la repr´esentation des ´el´ements de G est incluse dans {0,1}`p. Soient H : M × {0,1} → G\ {1} et G : G6 → Zq deux fonctions de hachage. Enfin, soitΨ. une famille de fonctions pseudo-al´eatoires.

G´en´eration de cl´es : La cl´e priv´ee est un nombre al´eatoire x ∈Zq, et une cl´e ς pour la famille de fonctions pseudo-al´eatoires. La cl´e publique cor-respondante est y=gx.

Signature : Pour signer un message m ∈ M, le signataire calcule tout d’abord b =Ψς(m), puis h = H(m, b) et z = hx. Ensuite, le signataire prouve une ´egalit´e de logarithmes, c’est-`a-dire que DLh(z) = DLg(y).

Pour cela, il tire un al´ea k ∈ Zq, et calcule u = gk, v = hk, c = G(g, h, y, z, u, v) et s=k+cxmodq.

La signature ainsi produite du message m est σ = (z, b, s, c) ∈ G× {0,1} ×Zq2.

V´erification : Pour v´erifier une signature σ = (z, b, s, c) d’un message m ∈ M, il faut calculerh0 =H(m, b),u0 =gsy−cetv0=h0sz−c. La signature σ est alors accept´ee si et seulement si c=G(g, h0, y, z, u0, v0) et z∈G.

Comme dans EDL, dans ce sch´ema, la seule quantit´e qui peut ˆetre pr´ecalcul´ee avant de connaˆıtre le message estu.

6.2.2 S´ecurit´e du sch´ema KW-CDH

Dans cette partie, nous r´eduisons la s´ecurit´e du sch´emaKW-CDH `a la s´ecurit´e du probl`eme calculatoire Diffie-Hellman. La preuve suit l’id´ee originalement pr´esent´ee dans [KW03].

Th´eor`eme 6 ([KW03]).SoitAun adversaire qui produit, avec une probabilit´e de succ`es ε et en un temps τ, une falsification existentielle dans le sch´ema KW-CDH, 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 le probl`eme calculatoire Diffie-Hellman peut ˆetre r´esolu avec une probabilit´eε0 et en un temps τ0, tels que

ε0 > ε

2 −qs(qs+qh) q − qh

q et

τ0 6τ+ (6qs+qh0, o`u τ0 d´esigne le temps d’une exponentiation dans G.

D´emonstration. La r´eduction re¸coit en entr´ee un groupe G ainsi qu’un challenge CDH (g, y = gx, A = ga). Nous utilisons alors l’attaquant A contre le sch´ema de signature KW-CDH pour r´esoudre ce challenge, c’est-`a-dire pour calculergax. Par d´efinition, l’attaquantA, apr`es avoir eu droit `aqHrequˆetes `a un oracle de hachageH,qGrequˆetes `a un oracle de hachageGetqsrequˆ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ε. Notons qh=qH+qG.

Dans la r´eduction, nous supposons la fonction pseudo-al´eatoire Ψ. parfaite, c’est-`a-dire re-tournant un nombre parfaitement al´eatoire pour chaque nouvelle requˆete : elle est alors simul´ee en utilisant une fonction al´eatoireB:M → {0,1}.

L’attaquant Aest utilis´e avec la simulation suivante.

Initialisation : Aest initialis´e avec les param`etres publics (g, q,G) et la cl´e publique y.

R´eponse `a une nouvelle requˆete G(g, h, y, z, u, v) : le simulateur retourne un nombre al´ ea-toire dansZq.

R´eponse `a une nouvelle requˆete H(m, b) : le simulateur calcule la valeur du bit al´eatoire b0 correspondante au messagem, c’est-`a-dire b0=B(m).

– si b=b0, alors le simulateur tire κ∈Zq, et retourne gκ comme r´eponse de l’oracle ; – si b6=b0, alors le simulateur tire d∈Zq, et retourne Ad comme r´eponse de l’oracle.

R´eponse `a une requˆete de signature sur un message mi∈ M : le simulateur calcule la valeur du bit al´eatoire b0 correspondante au message mi, c’est-`a-dire b0 =B(m), et pose b=b0, puis demande `a l’oracleHla valeur de H(mi, b). Par d´efinition de cet oracle et de b0, le simulateur connaˆıt la valeurκ, telle queh=H(mi, b) =gκ. Le simulateur peut donc ais´ement calculer z =yκ — nous pouvons alors remarquer que DLh(z) = DLg(y) (=x).

Puis, le simulateur tire deux al´eas (s, c)∈Zq×Zq et calcule u=gsy−c et v=hsz−c. Si G(g, h, y, z, u, v) est d´ej`a d´efini, le simulateur s’arrˆete, et la r´eduction ´echoue ( ´Ev´enement 1).

Sinon, le simulateur pose G(g, h, y, z, u, v) =cet retourne la signature valide (z, b, s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un v´eritable signa-taire, et n’´echoue que lors d’un ´ev´enement :

– ´Ev´enement 1 : d’apr`es la simulation des requˆetes de signature, les entr´ees de l’oracleGsont de la forme (g, h, y, z, u, v) = (g, gκ, y, yκ, gk, gκk) avec (k, κ)∈Zq×Zq. Contrairement `a la preuve d’EDL, ici, la valeur de H(m, b) peut ˆetre d´ej`a d´efinie, et doncκn’est pas al´eatoire aux yeux de l’adversaire. Aussi, la probabilit´e que G(g, h, y, z, u, v) ait d´ej`a ´et´e pos´e est plus petite que qG+qq s, pour une requˆete de signature donn´ee. Pour l’ensemble des requˆetes de signature, la probabilit´e d’apparition de l’ ´Ev´enement 1 est donc born´ee par qs·(qGq+qs). R´esolution du challenge CDH : A part lors de l’´` ev´enement pr´ec´edemment ´etudi´e, la

simula-tion est parfaite pour l’attaquant A, et celui-ci retourne donc avec une probabilit´e ε une falsification sur un message qu’il n’a jamais soumis `a l’oracle de signature.

Si l’attaquant ´echoue, la r´eduction ´echoue. Dans le cas contraire, l’attaquant retourne σ= (z, b, s, c) avec le message m lui correspondant.

Alors se pr´esentent deux cas : sibest la valeur du bit al´eatoireb0correspondante au message m, c’est-`a-dire b0 = B(m), la r´eduction ´echoue. Dans le cas contraire, par d´efinition de l’oracle H, notre r´eduction peut retrouver dans l’historique de la simulation la valeur d correspondant `a h=H(m, b).

La valeur de d est connue, mˆeme si l’attaquant n’a pas demand´e H(m, b) lors de la simulation, car alors l’appel `a l’oracleHest fait par la proc´edure de v´erification.

6.2. Les sch´emas de signature de Katz-Wang De la mˆeme fa¸con que dans la preuve d’EDL, nous pouvons montrer que DLh(z) = DLg(y) = x. Aussi, la solution du challenge CDH est alors facilement calcul´ee par notre r´eduction : il s’agit dez1/dmodq.

Ainsi, le point principal restant dans cette d´emonstration est de calculer la probabilit´e que b6=b0.

Probabilit´e que b6=b0 : En fait, cette probabilit´e est tr`es facile `a calculer, si nous supposons que la fonction pseudo-al´eatoire est parfaite. En effet, dans ce cas, l’adversaire n’a aucune information sur la valeur de b0 =B(m), et donc Pr(b6=b0) = 12.

Aussi, nous pouvons conclure que la r´eduction a une probabilit´e de succ`esε0 satisfaisant ε0 > ε

2− qs(qs+qh) q −qh

q . De plus, le temps de notre r´eduction τ0 est major´ee par

τ0 6τ + (6qs+qh0 .

u t

6.2.3 Pr´esentation du sch´ema KW-DDH

L’id´ee du deuxi`eme sch´ema deJonathan Katz et Nan Wangest de fixer une fois pour toute (dans la cl´e publique) la valeur deh (et donc de z).

Plus pr´ecis´ement, la description du sch´ema est la suivante.

SignatureKW-DDH[KW03] Initialisation des param`etres : Soient`p et`q des param`etres de s´ecurit´e.

SoitGle groupe cyclique d’ordreq, engendr´e parg, o`uq est un premier de`qbits et la repr´esentation des ´el´ements deGest incluse dans{0,1}`p. SoitG:M ×G6 →Zqune fonction de hachage. Enfin, soithun ´el´ement al´eatoire du groupeG.

G´en´eration de cl´es : La cl´e priv´ee est un nombre al´eatoire x ∈ Zq. La cl´e publique correspondante est (y=gx, z=hx).

Signature : Pour signer un messagem∈ M, le signataire prouve une ´egalit´e de logarithmes, c’est-`a-dire que DLh(z) = DLg(y). Pour cela, il tire un al´ea k ∈ Zq, et calcule u = gk, v = hk, c = G(m, g, h, y, z, u, v) et s=k+cxmodq.

La signature ainsi produite du message mest σ= (s, c)∈Zq2.

V´erification : Pour v´erifier une signatureσ = (s, c) d’un messagem∈ M, il faut calculeru0 =gsy−c etv0 =hsz−c. La signatureσ est alors accept´ee si et seulement si c=G(m, g, h, y, z, u0, v0).

Contrairement `a EDL ou `a KW-CDH, dans ce sch´ema,u etv peuvent ˆetre pr´ecalcul´es avant de connaˆıtre le message : ainsi, la partie en-ligne consiste simplement en un calcul de hach´e, une multiplication et une addition modulaires. Ceci est aussi comp´etitif que pour des sch´emas commeSchnorr,PSou GPS.

6.2.4 S´ecurit´e du sch´ema KW-DDH

Dans cette partie, nous r´eduisons la s´ecurit´e du sch´emaKW-DDH `a la s´ecurit´e du probl`eme d´ecisionnel Diffie-Hellman. La preuve suit l’id´ee originalement pr´esent´ee dans [KW03].

Th´eor`eme 7 ([KW03]).SoitAun adversaire qui produit, avec une probabilit´e de succ`es ε et en un temps τ, une falsification existentielle dans le sch´ema KW-DDH, 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 le probl`eme d´ecisionnel Diffie-Hellman peut ˆetre r´esolu avec un avantageε0 et en un temps τ0, tels que

ε0 >ε−qs(qs+qh) q −qh

q et

τ0 6τ + 4qsτ0, o`u τ0 d´esigne le temps d’une exponentiation dansG.

D´emonstration. La r´eduction re¸coit en entr´ee un groupe G ainsi qu’un challenge DDH (g, y = gx, h, z). Nous utilisons alors l’attaquantAcontre le sch´ema de signatureKW-DDHpour r´esoudre ce challenge, c’est-`a-dire pour d´ecider si z vaut hx ou siz est un ´el´ement autre du groupe. Par d´efinition, l’attaquantA, apr`es avoir eu droit `aqhrequˆetes `a un oracle de hachageGetqsrequˆ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’attaquant Aest utilis´e avec la simulation suivante.

Initialisation : Aest initialis´e avec les param`etres publics (g, h, q,G) et la cl´e publique (y, z).

R´eponse `a une nouvelle requˆete G(m, g, h, y, z, u, v) : le simulateur retourne un al´ea deZq. 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 etv =hsz−c. Si G(mi, g, h, y, z, u, v) 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, g, h, y, z, u, v) =cet retourne la signature valide (s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un v´eritable signa-taire, siz=hx, et n’´echoue que lors d’un ´ev´enement :

– ´Ev´enement 1 : d’apr`es la simulation des requˆetes de signature, les entr´ees de l’oracle G comportentu, un ´el´ement al´eatoire du groupe. Aussi, la probabilit´e queG(m, g, h, y, z, u, v) ait d´ej`a ´et´e pos´e est plus petite que qG+qq s, pour une requˆete de signature donn´ee. Pour l’ensemble des requˆetes de signature, la probabilit´e d’apparition de l’´Ev´enement 1 est donc born´ee par qs·(qGq+qs).

R´esolution du challenge DDH : A part lors de l’´` ev´enement pr´ec´edent, nous pouvons voir que la simulation est parfaite pour l’attaquant A, si z =hx. Ainsi, dans le cas o`u z =hx,A retourne avec une probabilit´e εune falsification sur un message qu’il n’a jamais soumis `a l’oracle de signature.

Au contraire, si z est un ´el´ement al´eatoire du groupe non ´egal `a hx, la simulation n’est pas parfaite. Aussi, l’attaquant pourrait tr`es bien avoir un comportement diff´erent de son comportement dans le monde r´eel (c’est-`a-dire que sa probabilit´e de succ`es pourrait ˆetre diff´erente de celle escompt´ee). Nous allons n´eanmoins montrer qu’il lui est impossible, dans le cas o`uz6=hx, de retourner une falsification.

6.3. Un nouveau sch´ema de signature