short signatures - Semantic Scholar

Report 4 Downloads 214 Views
Short Signatures Without Random Oracles Dan Boneh and Xavier Boyen

(presented by Aleksandr Yampolskiy)

Outline Ø n n n n

Motivation Preliminaries Secure short signature Extensions Conclusion

Why signatures without random oracles? n

“random oracle” model ¡ ¡

n

H(¢) ¼ perfectly random function [FS87] useful yet often unrealistic [CGH98]

most signatures without random oracles [GHR99, CS00] based on strong RSA assumption

Why this paper? n

n

n

strong RSA problem ¡ Given N=pq, g2 Zn*, find (c, g1/c), c2 Z. ¡ Difficult because group order φ(n) is hidden. Useful property: From (N, g), we can construct (N, h) with q known solutions (ci, h1/ci). Any new solution (c*, h1/c*) gives solution to original scheme. Can we have a similar property in a group with known order p?

Outline n Ø n n n

Motivation Preliminaries Secure short signature Extensions Conclusion

Secure Signatures n n

signature scheme = (KeyGen, Sign, Verify) strong existential unforgeability (sUF-CMA) [ADR02] ¡

setup

(PK, SK) Ã KeyGen PK

challenger

adversary

Secure Signatures (cont.) n n

signature scheme = (KeyGen, Sign, Verify) strong existential unforgeability (sUF-CMA) [ADR02] ¡ ¡

setup queries (M1, σ1), …, (Mqs, σqs) (PK, SK)

Mi

PK

σi = Sign(SKi, Mi) challenger

adversary

Secure Signatures (cont.) n n

signature scheme = (KeyGen, Sign, Verify) strong existential unforgeability (sUF-CMA) [ADR02] ¡ ¡ ¡

setup queries (M1, σ1), …, (Mqs, σqs) outputs new (M*, σ*) ? (Mi, σi); wins if valid (PK, SK)

challenger

(Μ∗, σ∗)

PK

adversary

Secure Signatures (cont.) n n

signature scheme = (KeyGen, Sign, Verify) weak strong existential unforgeability (wUF-CMA) ¡ setup non-adaptive * ? M 8i M i ¡ queries (M , σ ), …, (M , σ ) 1

¡

1

qs

qs

outputs new (M*, σ*) ? (Mi, σi); wins if valid (PK, SK)

challenger

(Μ∗, σ∗)

PK

adversary

Bilinear Groups n

n

G1, G2 : cyclic groups of prime order p; GT : group of order p bilinear map e: G1£ G2 a GT ¡

¡ ¡

n

bilinear: 8u2 G1, v2 G 2; 8a,b 2 Z e(ua, vb) = e(u, v)ab non-degenerate: e(g1, g2) ? 1 efficiently computable: 9Ψ: G2 a G1

can construct bilinear maps from Weil pairing [JN01]

Strong Diffie-Hellman Assumption x,

(xq) ),

n

q-SDH problem: given (g1, g2, g2 …, g2 output (c, g11/(x+c)), where c 2 Zp* ( hard

n

Checking that (c, s) is a valid pair ( easy ¡

n

Simply test if e(s, g2c¢g2x) = e(g1, g2)?

Prior works [BB04, MSK02] used weaker q-DHI q) x (x problem: given (g1, g2, g2 , …, g2 ; c ), output g11/(x+c).

Outline n n Ø n n

Motivation Preliminaries Secure short signature Extensions Conclusion

Short Signature Scheme S n

n

n

Key generation: Pick x,y 2r Zp*. Let u=g1x, v=g2y. Public key is PK = (g1, g2, u, v). Secret key is SK = (x, y). Signing: To sign m2 Zp*, pick r2r Zp*. Compute σ = g11/(x+m+yr). Signature is (σ, r). Verification: Given m and σ, output valid if e(σ, u¢g2m ¢vr) = e(g 1, g2). 2log2(p) bits ¼ 40 bytes

Main Theorem Thm: Suppose (q, t', ε')-SDH assumption holds. Then signature scheme S is (qs, t, ε)-secure against existential forgeries under (strong) CMA, where t' ¼ t, qs < q, and ε' ¼ ε/2.

Proof Idea : big picture 1. 2. 3.

Simplified signature scheme S' q-SDH is hard ) S' is wUF-CMA S' is wUF-CMA ) S is sUF-CMA

Hence, q-SDH is hard ) S is sUF-CMA

Proof Idea : 1/3 n

Simplified signature S‘ ¡ ¡ ¡

Key Generation: PK = (g 1, g2, g2x), SK = x Signing: To sign m, compute σ = g11/(x+m) Verification: On input (m, σ), return valid if e(σ, g2x¢g 2m ) = e(g1, g2)

Proof Idea : 2/3 n n

Lemma: q-SDH is hard ) S' is wUF-CMA Idea: property of q-SDH ¼ property of strong RSA q x x ¡ Given g2, g 2 , …, g2 q x x ¡ Can construct new instance h, h , …, h with q -1 known solutions (ci, h1/(x+ci)) for specially chosen ci ¡ …so that any new solution (c*, h1/(x+c*)) produced by forger yields a solution (c, g21/(x+c)).

Proof Idea : 3/3 n

n

Lemma: S' is wUF-CMA ) S is sUF-CMA σ1, …,σq

Idea:

weak challenger

n

n

B

w1, …, wq

Astrong

PK=(g1, g2, u)

A sends m 1, …, m q to B. Gets back (si, ri ), i=1..qs. Then A outputs forgery (m*, s* , r* ). Let wi = mi + yri for i=1.. qs and w* = m* + yr*. ¡ ¡

Type-1 forger: w* ? w1, …, wqs Type-2 forger: w* is one of w1, …, wqs

Proof Idea : 3/3 (cont.) n n

Upon startup, B guesses what type of forger A is If B chose Type-1: ¡ ¡

¡

n

it picks y2 Zp*, PK = (g1, g2, u, g2y) on l-th Sign(m) request from A, set rl = (wl – m) / y and return (σl, rl) given forgery (m*, s*, r*) by A, return (w*, s*)

If B chose Type-2: ¡

it picks x2 Z p*, PK = (g1, g2, g2x, u) on l-th Sign(m) request from A, set rl = (x + m) / wl and return (σl1/rl, rl)

¡

given forgery (m*, s*, r*) by A, return ((x+m*)/r*, s*).

¡

Outline n n n Ø n

Motivation Preliminaries Secure short signature Extensions Conclusion

Extensions n

n

n

To sign arbitrary messages, simply hash them in advance: h: {0,1}* a Zp* We can use Pollard’s Λ method for limited message recovery. If we use random oracles, we can achieve even shorter signatures: σ Ã g11/(x+H(m))

Conclusion n n n

Short signature based on a novel q-SDH assumption. Proved secure without random oracles! Final thoughts: ¡ ¡

Is there anything left to extend? Can q-SDH be utilized for something else? (BBS04)