slides - DI ENS

Report 8 Downloads 230 Views
Structure-Preserving Signatures and Commitments to Group Elements

Masayuki Abe

1

Georg Fuchsbauer

Kristiyan Haralambiev

4

2

Jens Groth

Miyako Ohkubo

3

5

CRYPTO, 16.08.2010

1 2 3 4 5

Information Sharing Platform Laboratories, NTT Corporation, Japan École Normale Supérieure, CNRS - INRIA, France University College London, UK Computer Science Department, New York University, USA National Institute of Information and Communications Technology, Japan

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

1 / 23

Our Contributions New commitment and signature schemes in bilinear groups Homomorphic trapdoor commitments to group elements Signatures on group elements, consisting of group elements

structure-preserving)

(

Structure-preserving signatures signing their own public keys

automorphic)

(

Simulatable signatures

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

2 / 23

Our Contributions New commitment and signature schemes in bilinear groups Homomorphic trapdoor commitments to group elements Signatures on group elements, consisting of group elements

structure-preserving)

(

Structure-preserving signatures signing their own public keys

automorphic)

(

Simulatable signatures

Applications Constant-size trapdoor commitments with sublinear keys First ecient round-optimal blind signatures (UC secure) First ecient group signatures with concurrent join w/o ROM First ecient anonymous proxy signatures Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

2 / 23

Outline of the talk

1

Commitments

2

Automorphic Signatures

3

Signatures on Vectors of Group Elements

4

Applications of Our Signatures

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

3 / 23

1

Commitments

2

Automorphic Signatures

3

Signatures on Vectors of Group Elements

4

Applications of Our Signatures

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

4 / 23

Commitments

A commitment scheme consists of setup and algorithm

Com

takes a

Com

message and randomness and outputs a commitment

Message and randomness are called opening.

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

5 / 23

Commitments

A commitment scheme consists of setup and algorithm

Com

takes a

Com

message and randomness and outputs a commitment

Message and randomness are called opening. Our scheme is

hiding: a commitment reveals nothing about the message binding: hard to nd a commitment and two openings with

dierent

messages

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

5 / 23

Commitments

A commitment scheme consists of setup and algorithm

Com

takes a

Com

message and randomness and outputs a commitment

Message and randomness are called opening. Our scheme is

hiding: a commitment reveals nothing about the message binding: hard to nd a commitment and two openings with

dierent

messages trapdoor: given a trapdoor, a commitment can be opened to any message homomorphic: the product of two commitments is a commitment to the product of the messages length-reducing: a commitment is shorter than the message

The messages are elements of a bilinear group Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

5 / 23

Bilinear Groups and the DP Assumption

Bilinear group:

(p , G1 , G2 , GT , e , G , H )

G1 , G2 , GT

with

cyclic groups of prime order

p

e : G × G → GT bilinear, ie ∀X ∈ G , ∀Y ∈ G , ∀a, b ∈ Z: e (X a , Y b ) = e (X , Y )ab G = hG i, G = hH i, GT = he (G , H )i 1

2

1

1

2

2

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

6 / 23

Bilinear Groups and the DP Assumption

Bilinear group:

(p , G1 , G2 , GT , e , G , H )

G1 , G2 , GT

with

cyclic groups of prime order

p

e : G × G → GT bilinear, ie ∀X ∈ G , ∀Y ∈ G , ∀a, b ∈ Z: e (X a , Y b ) = e (X , Y )ab G = hG i, G = hH i, GT = he (G , H )i 1

2

1

1

2

2

Double Pairing Assumption

GR , GT ∈ G it is hard to nd non-trivial R , T ∈ G e (GR , R ) e (GT , T ) = 1

Given random satisfying

1

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

2

CRYPTO'10

6 / 23

Bilinear Groups and the DP Assumption

Bilinear group:

(p , G1 , G2 , GT , e , G , H )

G1 , G2 , GT

with

cyclic groups of prime order

p

e : G × G → GT bilinear, ie ∀X ∈ G , ∀Y ∈ G , ∀a, b ∈ Z: e (X a , Y b ) = e (X , Y )ab G = hG i, G = hH i, GT = he (G , H )i 1

2

1

1

2

2

Double Pairing Assumption

GR , GT ∈ G it is hard to nd non-trivial R , T ∈ G e (GR , R ) e (GT , T ) = 1

Given random satisfying

1

2

Lemma DDH in

G1

implies the double pairing assumption

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

6 / 23

Commitment Scheme for Setup: Generate

n

Messages

(p , G1 , G2 , GT , e , G , H ).

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

7 / 23

Commitment Scheme for

n

Messages

(p , G1 , G2 , GT , e , G , H ). ∗ generation: Pick GR ← G1 and x1 , . . . , xn ← Zp . Return ck = (GR , G1 = GRx , . . . , Gn = GRxn ) and tk = (x1 , . . . , xn ). Setup: Generate

Key

1

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

7 / 23

Commitment Scheme for

n

Messages

(p , G1 , G2 , GT , e , G , H ). ∗ generation: Pick GR ← G1 and x1 , . . . , xn ← Zp . Return ck = (GR , G1 = GRx , . . . , Gn = GRxn ) and tk = (x1 , . . . , xn ). Setup: Generate

Key

1

Commitment: On input

ck , (M , . . . , Mn ) ∈ Gn , R ∈ G 1

c = e (GR , R )

2,

2

n Y i =1

return

e (Gi , Mi )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

7 / 23

Commitment Scheme for

n

Messages

(p , G1 , G2 , GT , e , G , H ). ∗ generation: Pick GR ← G1 and x1 , . . . , xn ← Zp . Return ck = (GR , G1 = GRx , . . . , Gn = GRxn ) and tk = (x1 , . . . , xn ). Setup: Generate

Key

1

Commitment: On input

ck , (M , . . . , Mn ) ∈ Gn , R ∈ G 1

c = e (GR , R ) Trapdoor opening: Given

c

for

(M10 , . . . , Mn0 ) as

e (GR , R

2,

2

n Y i =1

return

e (Gi , Mi )

(M1 , . . Q . , Mn ) and R . Open c 0 R = R ni=1 (Mi /Mi0 )xi :

to

Y Y Y e (Gi , Mi0 ) = e (GR , R ) e (Gi , Mi ) = c (Mi /Mi0 )xi )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

7 / 23

Commitment Scheme for

n

Messages

(p , G1 , G2 , GT , e , G , H ). ∗ generation: Pick GR ← G1 and x1 , . . . , xn ← Zp . Return ck = (GR , G1 = GRx , . . . , Gn = GRxn ) and tk = (x1 , . . . , xn ). Setup: Generate

Key

1

Commitment: On input

ck , (M , . . . , Mn ) ∈ Gn , R ∈ G 1

c = e (GR , R ) Trapdoor opening: Given

c

for

(M10 , . . . , Mn0 ) as

2,

2

n Y i =1

return

e (Gi , Mi )

(M1 , . . Q . , Mn ) and R . Open c 0 R = R ni=1 (Mi /Mi0 )xi :

to

Theorem

xi 0 The scheme above is a 0homomorphic, perfectly hiding, trapdoor

e (GR , R

Y Y Y e (Gi , Mi ) = e (GR , R ) e (Gi , Mi ) = c (Mi /Mi ) )

commitment scheme; under the double pairing assumption it is computationally binding.

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

7 / 23

Application

Commitments to Pedersen commitments Pedersen commitment

C = Hr

Q

Hi mi

to

(m1 , . . . , mk ) ∈ Zkp

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

8 / 23

Application

Commitments to Pedersen commitments

C = H r Hi mi to (m , . . . , mk ) ∈ Zkp c commitment to (C , . . . , Cn ) where Ci commitment to (mi, , . . . , mi,k ) ⇒ can commit to m ∈ Znp·k ; key: n + k + 2 group elements, c ∈ GT Pedersen commitment

Q

1

1

1

Resulting scheme still homomorphic and trapdoor

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

8 / 23

Application

Commitments to Pedersen commitments

C = H r Hi mi to (m , . . . , mk ) ∈ Zkp c commitment to (C , . . . , Cn ) where Ci commitment to (mi, , . . . , mi,k ) ⇒ can commit to m ∈ Znp·k ; key: n + k + 2 group elements, c ∈ GT

Pedersen commitment

Q

1

1

1

Resulting scheme still homomorphic and trapdoor

Variant We give another scheme based on an assumption implied by DLIN



instantiable in symmetric bilinear groups

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

8 / 23

1

Commitments

2

Automorphic Signatures

3

Signatures on Vectors of Group Elements

4

Applications of Our Signatures

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

9 / 23

Groth-Sahai Proofs

X1 , . . . , Xm ∈ G1 , Y1 , . . . , Yn ∈ G2 m n YY e (Ai , Yi ) e (Xi , Bi ) e (Xi , Yj )γi ,j = t , (E) i =1 i =1 i =1 j =1

Pairing-product equation over variables

n Y

determined by

m Y

Ai ∈ G , Bi ∈ G , γi ,j ∈ Zp 1

2

and

t ∈ GT

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

10 / 23

Groth-Sahai Proofs

X1 , . . . , Xm ∈ G1 , Y1 , . . . , Yn ∈ G2 m n YY e (Ai , Yi ) e (Xi , Bi ) e (Xi , Yj )γi ,j = t , (E) i =1 i =1 i =1 j =1

Pairing-product equation over variables

n Y

determined by

m Y

Ai ∈ G , Bi ∈ G , γi ,j ∈ Zp 1

2

and

t ∈ GT

Groth, Sahai [GS08]: Non-interactive witness-indistinguishable (and NIZK) proof of knowledge of (Given a

X , . . . , Xm , Y , . . . , Yn 1

1

satisfying E

trapdoor for CRS, one can extract the witness)

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

10 / 23

Motivation

Structure-preserving signatures Messages, signatures and verication keys are in

G1

and

G2

Verication: evaluate PPEs on message, signature and key Unforgeable (under chosen-message attack)

Combined with Groth-Sahai proofs: Prove knowledge of a valid signature (and message)

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

11 / 23

Motivation

Structure-preserving signatures Messages, signatures and verication keys are in

G1

and

G2

Verication: evaluate PPEs on message, signature and key Unforgeable (under chosen-message attack)

Combined with Groth-Sahai proofs: Prove knowledge of a valid signature (and message)

Automorphic signatures Structure-preserving Verication keys lie in the message space

Prove knowledge of chain of keys and certicates Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

11 / 23

A Variant of SDH and a Variant of CDH The strong Die-Hellman (SDH) assumption [BB04] implies hardness of

Given

G, Gx

1

and

q − 1 pairs (G x +ci , ci ), output a new pair (G x +c , c )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

1

CRYPTO'10

12 / 23

A Variant of SDH and a Variant of CDH The strong Die-Hellman (SDH) assumption [BB04] implies hardness of

 G , K , G x , (K · G vi ) x +ci , ci , vi iq=− 1

Given

1

1

, output a new

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

((K · G v ) x +c , c , v ) 1

CRYPTO'10

12 / 23

A Variant of SDH and a Variant of CDH The strong Die-Hellman (SDH) assumption [BB04] implies hardness of

 G , K , G x , (K · G vi ) x +ci , ci , vi iq=− 1

Given

1

1

((K · G v ) x +c , c , v ) 1

, output a new

Analogously to [BW07] we dene a hidden variant

q

- Asymm. Double Hidden SDH

Given

G , F , K , X = G x ∈ G , H, Y = Hx ∈ G 1

2

and

q − 1 tuples

((K · G vi ) x +ci , F ci , H ci , G vi , H vi ) 1

it is hard to output

((K · G v ) x +c , F c , H c , G v , H v ) 1

with

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

(c , v ) 6= (ci , vi )

CRYPTO'10

12 / 23

A Variant of SDH and a Variant of CDH The strong Die-Hellman (SDH) assumption [BB04] implies hardness of

 G , K , G x , (K · G vi ) x +ci , ci , vi iq=− 1

Given

1

1

((K · G v ) x +c , c , v ) 1

, output a new

Analogously to [BW07] we dene a hidden variant

q

- Asymm. Double Hidden SDH

Given

G , F , K , X = G x ∈ G , H, Y = Hx ∈ G 1

2

and

q − 1 tuples

((K · G vi ) x +ci , F ci , H ci , G vi , H vi ) 1

it is hard to output

((K · G v ) x +c , F c , H c , G v , H v ) 1

Asymm. Weak Flexible CDH Given

G, Ga

and

H

it is hard to output

with

(c , v ) 6= (ci , vi )

(G r , G ar , H r , H ar )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

with

r 6= 0

CRYPTO'10

12 / 23

Automorphic Signatures: Instantiation

Setup:

Choose

G, K, F, T ← G , H ← G DH := {(G m , H m ) | m ∈ Zp }, 1

2

Message space:

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

13 / 23

Automorphic Signatures: Instantiation

G, K, F, T ← G , H ← G DH := {(G m , H m ) | m ∈ Zp }, KeyGen: Secret key x ← Zp , public key (X := G x , Y := H x ) Setup:

Choose

1

2

Message space:

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

13 / 23

Automorphic Signatures: Instantiation

G, K, F, T ← G , H ← G DH := {(G m , H m ) | m ∈ Zp }, KeyGen: Secret key x ← Zp , public key (X := G x , Y := H x ) Sign(x , (M , N )): Choose c , r ← Zp , return Setup:

Choose

1

2

Message space:

( (K · T r · M ) x +c , F c , H c , G r , H r ) 1

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

13 / 23

Automorphic Signatures: Instantiation

G, K, F, T ← G , H ← G DH := {(G m , H m ) | m ∈ Zp }, KeyGen: Secret key x ← Zp , public key (X := G x , Y := H x ) Sign(x , (M , N )): Choose c , r ← Zp , return Setup:

Choose

1

2

Message space:

( (K · T r · M ) x +c , F c , H c , G r , H r ) 1

Ver((X , Y ), (M , N ), (A, C , D , R , S )):

Return 1 if

e (A, Y · D ) = e (K · M , H ) e (T , S )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

e (C , H ) = e (F , D ) e (R , H ) = e (G , S )

CRYPTO'10

13 / 23

Automorphic Signatures: Instantiation

G, K, F, T ← G , H ← G DH := {(G m , H m ) | m ∈ Zp }, KeyGen: Secret key x ← Zp , public key (X := G x , Y := H x ) Sign(x , (M , N )): Choose c , r ← Zp , return Setup:

Choose

1

2

Message space:

( (K · T r · M ) x +c , F c , H c , G r , H r ) 1

Ver((X , Y ), (M , N ), (A, C , D , R , S )):

Return 1 if

e (A, Y · D ) = e (K · M , H ) e (T , S ) Theorem

e (C , H ) = e (F , D ) e (R , H ) = e (G , S )

The scheme is strongly unforgeable under ADH-SDH and AWF-CDH.

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

13 / 23

1

Commitments

2

Automorphic Signatures

3

Signatures on Vectors of Group Elements

4

Applications of Our Signatures

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

14 / 23

A Variant of the Double Pairing Assumption Double Pairing problem: nd non-trivial is malleable: one solution



Z, R

s.t. 1

= e (GZ , Z ) e (GR , R )

multiple solutions

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

15 / 23

A Variant of the Double Pairing Assumption Double Pairing problem: nd non-trivial is malleable: one solution



Z, R

s.t. 1

= e (GZ , Z ) e (GR , R )

multiple solutions

Make 2 simultaneous equations with common element



Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

Z implied by DLIN

CRYPTO'10

15 / 23

A Variant of the Double Pairing Assumption Double Pairing problem: nd non-trivial is malleable: one solution



Z, R

s.t. 1

= e (GZ , Z ) e (GR , R )

multiple solutions

Make 2 simultaneous equations with common element



Z implied by DLIN

exible)

Multiply random pairings to both sides of equation (



Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

non-malleable

CRYPTO'10

15 / 23

A Variant of the Double Pairing Assumption Double Pairing problem: nd non-trivial is malleable: one solution



Z, R

s.t. 1

= e (GZ , Z ) e (GR , R )

multiple solutions

Make 2 simultaneous equations with common element



Z implied by DLIN

exible)

Multiply random pairings to both sides of equation (



q

non-malleable

- Simultaneous Flexible Pairing assumption (SFP)

GZ , FZ , GR , FU , A, B ∈ G (Zi , Ri , Si , Ti , Ui , Vi , Wi ) s.t. Given

1

and

A˜ , B˜ ∈ G

2

and

q

tuples

e (A, A˜ ) = e (GZ , Zi ) e (GR , Ri ) e (Si , Ti ) e (B , B˜ ) = e (FZ , Zi ) e (FU , Ui ) e (Vi , Wi ) it is hard to nd such a tuple

Z 6= Zi

for all

i

(Z , R , S , T , U , V , W )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

with

Z 6= 1 and CRYPTO'10

15 / 23

A Variant of the Double Pairing Assumption

q

- Simultaneous Flexible Pairing assumption (SFP)

GZ , FZ , GR , FU , A, B ∈ G (Zi , Ri , Si , Ti , Ui , Vi , Wi ) s.t.

Given

1

and

A˜ , B˜ ∈ G

2

and

q

tuples

e (A, A˜ ) = e (GZ , Zi ) e (GR , Ri ) e (Si , Ti ) e (B , B˜ ) = e (FZ , Zi ) e (FU , Ui ) e (Vi , Wi ) it is hard to nd such a tuple

Z 6= Zi

for all

i

(Z , R , S , T , U , V , W )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

with

Z 6= 1 and

CRYPTO'10

15 / 23

A Variant of the Double Pairing Assumption

q

- Simultaneous Flexible Pairing assumption (SFP)

GZ , FZ , GR , FU , A, B ∈ G (Zi , Ri , Si , Ti , Ui , Vi , Wi ) s.t.

Given

1

and

A˜ , B˜ ∈ G

2

and

q

tuples

e (A, A˜ ) = e (GZ , Zi ) e (GR , Ri ) e (Si , Ti ) e (B , B˜ ) = e (FZ , Zi ) e (FU , Ui ) e (Vi , Wi ) it is hard to nd such a tuple

Z 6= Zi

for all

i

(Z , R , S , T , U , V , W )

with

Z 6= 1 and

Theorem For a generic algorithm the probability of breaking SFP with bounded by

O(q 2 + `2 )/p

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

`

operations is

CRYPTO'10

15 / 23

Scheme Signing

Setup:

k G2

Elements at Once

Choose a bilinear group

(p , G1 , G2 , GT , e , G , H )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

16 / 23

Scheme Signing

k G2

Elements at Once

Setup: Choose a bilinear group (p , G1 , G2 , GT , e , G , H ) KeyGen: Message Space: Gk2 ∗ 2k +4 Choose secret key (α, β, γZ , δZ , γ1 , δ1 , . . . , γk , δk ) ← (Zp ) γZ γi k ∗ α Public key: GR ← G1 , GZ = GR , {Gi = GR }i =1 , a = e (GR , H ) FU ← G∗1 , FZ = FUδZ , {Fi = FUδi }ki=1 , b = e (FU , H β )

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

16 / 23

Scheme Signing

k G2

Elements at Once

Setup: Choose a bilinear group (p , G1 , G2 , GT , e , G , H ) KeyGen: Message Space: Gk2 ∗ 2k +4 Choose secret key (α, β, γZ , δZ , γ1 , δ1 , . . . , γk , δk ) ← (Zp ) γZ γi k ∗ α Public key: GR ← G1 , GZ = GR , {Gi = GR }i =1 , a = e (GR , H ) FU ← G∗1 , FZ = FUδZ , {Fi = FUδi }ki=1 , b = e (FU , H β ) Sign(sk , (M1 , . . . , Mk )):

Z = Hζ

Choose

ζ, ρ, τ , ϕ, ω ← Z∗p ,

Q R = H ρ−γZ ζ ki=1 Mi −γi Q U = H ϕ−δZ ζ ki=1 Mi −δi

S = GR τ V = FU ω

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

return

T = H (α−ρ)/τ W = H (β−ϕ)/ω

CRYPTO'10

16 / 23

Scheme Signing

k G2

Elements at Once

Setup: Choose a bilinear group (p , G1 , G2 , GT , e , G , H ) KeyGen: Message Space: Gk2 ∗ 2k +4 Choose secret key (α, β, γZ , δZ , γ1 , δ1 , . . . , γk , δk ) ← (Zp ) γZ γi k ∗ α Public key: GR ← G1 , GZ = GR , {Gi = GR }i =1 , a = e (GR , H ) FU ← G∗1 , FZ = FUδZ , {Fi = FUδi }ki=1 , b = e (FU , H β ) Sign(sk , (M1 , . . . , Mk )):

Z = Hζ

Choose

ζ, ρ, τ , ϕ, ω ← Z∗p ,

Q R = H ρ−γZ ζ ki=1 Mi −γi Q U = H ϕ−δZ ζ ki=1 Mi −δi

S = GR τ V = FU ω

return

T = H (α−ρ)/τ W = H (β−ϕ)/ω

Ver(vk , (M1 , . . . , Mk ), (Z , R , S , T , U , V , W )): Return 1 if Q a = e (GZ , Z ) e (GR , R ) e (S , T ) ki=1 e (Gi , Mi ) Q b = e (FZ , Z ) e (FU , U ) e (V , W ) ki=1 e (Fi , Mi ) Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

16 / 23

Scheme Signing

k G2

Elements at Once

Setup: Choose a bilinear group (p , G1 , G2 , GT , e , G , H ) KeyGen: Message Space: Gk2 ∗ 2k +4 Choose secret key (α, β, γZ , δZ , γ1 , δ1 , . . . , γk , δk ) ← (Zp ) γZ γi k ∗ α Public key: GR ← G1 , GZ = GR , {Gi = GR }i =1 , a = e (GR , H ) FU ← G∗1 , FZ = FUδZ , {Fi = FUδi }ki=1 , b = e (FU , H β ) Sign(sk , (M1 , . . . , Mk )):

Z = Hζ

Choose

ζ, ρ, τ , ϕ, ω ← Z∗p ,

Q R = H ρ−γZ ζ ki=1 Mi −γi Q U = H ϕ−δZ ζ ki=1 Mi −δi

S = GR τ V = FU ω

return

T = H (α−ρ)/τ W = H (β−ϕ)/ω

Ver(vk , (M1 , . . . , Mk ), (Z , R , S , T , U , V , W )): Return 1 if Q a = e (GZ , Z ) e (GR , R ) e (S , T ) ki=1 e (Gi , Mi ) scheme is existentially unforgeable under theQ SFP assumption b = e (FZ , Z ) e (FU , U ) e (V , W ) ki=1 e (Fi , Mi )

Theorem The

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

16 / 23

Variants of the Scheme

(Z , R , S , T , U , V , W ), we can randomise (R , S , T , U , V , W ) ˜ 0 , A1 , A ˜ 1 with a = e (A0 , A ˜ 0 ) e (A1 , A ˜ 1) Replace a by random A0 , A Given

and



b

analogously

Verication key from

G1

and

G2

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements



structure preserving

CRYPTO'10

17 / 23

Variants of the Scheme

(Z , R , S , T , U , V , W ), we can randomise (R , S , T , U , V , W ) ˜ 0 , A1 , A ˜ 1 with a = e (A0 , A ˜ 0 ) e (A1 , A ˜ 1) Replace a by random A0 , A Given

and



b

analogously

Verication key from

G1

and

G2

Dual scheme for signing messages in



⇒ Gk1

combine both schemes to sign messages in

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

structure preserving

Gk1 × Gk2 1

2

CRYPTO'10

17 / 23

Variants of the Scheme

(Z , R , S , T , U , V , W ), we can randomise (R , S , T , U , V , W ) ˜ 0 , A1 , A ˜ 1 with a = e (A0 , A ˜ 0 ) e (A1 , A ˜ 1) Replace a by random A0 , A Given

and



b

analogously

Verication key from

G1

and

G2

Dual scheme for signing messages in



⇒ Gk1

combine both schemes to sign messages in

Gk1 × Gk2

Chaining signatures to sign unbounded messages

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

structure preserving

1

2



automorphic

CRYPTO'10

17 / 23

Variants of the Scheme

(Z , R , S , T , U , V , W ), we can randomise (R , S , T , U , V , W ) ˜ 0 , A1 , A ˜ 1 with a = e (A0 , A ˜ 0 ) e (A1 , A ˜ 1) Replace a by random A0 , A Given

and



b

analogously

Verication key from

G1

and

G2

Dual scheme for signing messages in



⇒ Gk1

combine both schemes to sign messages in

structure preserving

Gk1 × Gk2

Chaining signatures to sign unbounded messages

1

2



automorphic

Simulatable Signatures Signature scheme in the common reference string (CRS) model Trapdoor for CRS allows making signatures for any public key

Can use WI instead of ZK proofs, since signatures can be simulated directly

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

17 / 23

1

Commitments

2

Automorphic Signatures

3

Signatures on Vectors of Group Elements

4

Applications of Our Signatures

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

18 / 23

Round-Optimal Blind Signatures A blind signature scheme allows a message hidden from the

signer S

Round optimal: Signature issuing:

user U

to obtain a signature on a

m → U −−→ S U ←−− S . Σ

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures A blind signature scheme allows a message hidden from the

signer S

user U

to obtain a signature on a

m → U −−→ S

Round optimal: Signature issuing:

U ←−− S . Σ Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

Blind signature: proof of knowledge (PoK) of

• C

• σ



an opening of

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

C

to

m

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures A blind signature scheme allows a message hidden from the

signer S

user U

to obtain a signature on a

m → U −−→ S

Round optimal: Signature issuing:

U ←−− S . Σ Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

(Pedersen) (structure-preserving)

Blind signature: proof of knowledge (PoK) of

• C

• σ



an opening of

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

(Groth-Sahai)

C

to

m

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures

Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

Blind signature: proof of knowledge (PoK) of

• C

• σ



an opening of

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

C

to

m

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures

Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

Blind signature: proof of knowledge (PoK) of

• C Variant I

• σ



an opening of

C

to

m

Round-opt. automorphic blind signature

Message from group, user gets signature

on message

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures

Sketch of the scheme [Fis06] User makes a commitment

C

m M

to the message 

C pre-signature; User recovers σ

Signer makes  signature  σon 

on

M

Blind signature: proof of knowledge (PoK) of

• C Variant I

• σ

•an  opening of  Cto  m

Round-opt. automorphic blind signature

Message from group, user gets signature

on message

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures

Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

Blind signature: proof of knowledge (PoK) of

• C Variant I

• σ



an opening of

C

to

m

Round-opt. automorphic blind signature

Message from group, user gets signature

on message

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures

Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

Blind signature: proof of knowledge (PoK) of

• C Variant I

• σ



an opening of

Use

to

m

Round-opt. automorphic blind signature

Message from group, user gets signature

Variant II

C

on message

Universally composable round-opt. blind signature

simulatable signature

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

19 / 23

Round-Optimal Blind Signatures

Sketch of the scheme [Fis06] User makes a commitment Signer makes signature

σ

C

on

to the message

m

C

(simulatable!)

Blind signature: proof of knowledge (PoK) of

• C Variant I

• σ



an opening of

Use

to

m

Round-opt. automorphic blind signature

Message from group, user gets signature

Variant II

C

on message

Universally composable round-opt. blind signature

simulatable signature

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

19 / 23

Group Signatures A group signature scheme lets a

group manager enrol users who can then

sign on behalf of the group anonymously. The anonymity is revocable by an

opener

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

20 / 23

Group Signatures A group signature scheme lets a

group manager enrol users who can then

sign on behalf of the group anonymously. The anonymity is revocable by an

opener

Automorphic signatures enable ecient instantiation of the following (satisfying model from [BSZ05])

Group signatures with concurrent join

Opener generates CRS for proof system, keeps trapdoor Group manager (GM) generates verication key, keeps signing key

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

20 / 23

Group Signatures A group signature scheme lets a

group manager enrol users who can then

sign on behalf of the group anonymously. The anonymity is revocable by an

opener

Automorphic signatures enable ecient instantiation of the following (satisfying model from [BSZ05])

Group signatures with concurrent join

Opener generates CRS for proof system, keeps trapdoor Group manager (GM) generates verication key, keeps signing key Enrol: User creates signature key pair (uvk , usk ), GM signs uvk

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

20 / 23

Group Signatures A group signature scheme lets a

group manager enrol users who can then

sign on behalf of the group anonymously. The anonymity is revocable by an

opener

Automorphic signatures enable ecient instantiation of the following (satisfying model from [BSZ05])

Group signatures with concurrent join

Opener generates CRS for proof system, keeps trapdoor Group manager (GM) generates verication key, keeps signing key Enrol: User creates signature key pair (uvk , usk ), GM signs uvk Group signature on M: Make signature σ on M with usk , and PoK of • uvk



signature on

uvk

by GM

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

• σ

CRYPTO'10

20 / 23

Group Signatures A group signature scheme lets a

group manager enrol users who can then

sign on behalf of the group anonymously. The anonymity is revocable by an

opener

Automorphic signatures enable ecient instantiation of the following (satisfying model from [BSZ05])

Group signatures with concurrent join

Opener generates CRS for proof system, keeps trapdoor Group manager (GM) generates verication key, keeps signing key Enrol: User creates signature key pair (uvk , usk ), GM signs uvk Group signature on M: Make signature σ on M with usk , and PoK of • uvk



Open: Opener extracts

signature on

uvk

and

uvk

by GM

• σ

σ

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

20 / 23

Anonymous Proxy Signatures

Anonymous proxy signatures [FP08] Generalisation of

group signatures and proxy signatures

Users hold signature key pairs

delegate signing rights to other users Users can re-delegate and make proxy signatures anonymously Users can

Anonymity revocable by openers

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

21 / 23

Anonymous Proxy Signatures

Anonymous proxy signatures [FP08] Generalisation of

group signatures and proxy signatures

Users hold signature key pairs

delegate signing rights to other users Users can re-delegate and make proxy signatures anonymously Users can

Anonymity revocable by openers

Instantiation Automorphic signatures GS proof





delegation by signing public keys

proxy signature is PoK of delegation chain

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

21 / 23

Conclusion

Commitments First homomorphic trapdoor commitments to group elements Used them to construct more ecient schemes

Signatures First signature schemes that are fully Groth-Sahai compatible Various extensions Exemplied their usefulness Combined with Groth-Sahai proofs, structure-preserving signatures lead to modular instantiations of more complex primitives

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

22 / 23

Conclusion

Commitments First homomorphic trapdoor commitments to group elements Used them to construct more ecient schemes

Signatures First signature schemes that are fully Groth-Sahai compatible Various extensions Exemplied their usefulness Combined with Groth-Sahai proofs, structure-preserving signatures lead to modular instantiations of more complex primitives

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

22 / 23

Thank you! ^ ¨

Abe,Fuchsbauer,Groth,Haralambiev,Ohkubo ubo: Sign () and Commit to Group Elements

CRYPTO'10

23 / 23