groth-sahai proof system - blazycontents 1 introduction 2 groth-sahai proof system non-interactive...

74
Groth-Sahai proof system Olivier Blazy ´ Ecole normale sup´ erieure Jan. 21st 2011 O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 1 / 38

Upload: others

Post on 11-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai proof system

Olivier Blazy

Ecole normale superieure

Jan. 21st 2011

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 1 / 38

Page 2: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Contents

1 Introduction

2 Groth-Sahai proof systemNon-Interactive Zero-Knowledge proofsBilinear mapsGroth-Ostrovsky-SahaiGroth-Sahai (2008)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 2 / 38

Page 3: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Zero-Knowledge Proof Systems

Introduced in 1985 by Goldwasser, Micali and Rackoff.

Reveal nothing other than the validity of assertion being proven

Used in many cryptographic protocols

Anonymous credentialsAnonymous signaturesOnline voting. . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 3 / 38

Page 4: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Zero-Knowledge Proof Systems

Introduced in 1985 by Goldwasser, Micali and Rackoff.

Reveal nothing other than the validity of assertion being proven

Used in many cryptographic protocols

Anonymous credentialsAnonymous signaturesOnline voting. . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 3 / 38

Page 5: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Zero-Knowledge Proof Systems

Introduced in 1985 by Goldwasser, Micali and Rackoff.

Reveal nothing other than the validity of assertion being proven

Used in many cryptographic protocols

Anonymous credentialsAnonymous signaturesOnline voting. . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 3 / 38

Page 6: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Zero-Knowledge Interactive Proof

Alice Bob

interactive method for one party to prove to another that a statement S istrue, without revealing anything other than the veracity of S.

1 Completeness: if S is true, the honest verifier will be convinced of this fact

2 Soundness: if S is false, no cheating prover can convince the honest verifierthat it is true

3 Zero-knowledge: if S is true, no cheating verifier learns anything other thanthis fact.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 4 / 38

Page 7: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Zero-Knowledge Interactive Proof

Alice Bob

interactive method for one party to prove to another that a statement S istrue, without revealing anything other than the veracity of S.

1 Completeness: if S is true, the honest verifier will be convinced of this fact

2 Soundness: if S is false, no cheating prover can convince the honest verifierthat it is true

3 Zero-knowledge: if S is true, no cheating verifier learns anything other thanthis fact.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 4 / 38

Page 8: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Non-Interactive Zero-Knowledge Proof

Alice Bob

non-interactive method for one party to prove to another that a statement Sis true, without revealing anything other than the veracity of S.

1 Completeness: S is true verifier will be convinced of this fact

2 Soundness: S is false no cheating prover can convince the verifier that Sis true

3 Zero-knowledge: S is true no cheating verifier learns anything other thanthis fact.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 5 / 38

Page 9: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Non-Interactive Witness-Indistinguishable Proof

Alice Bob

non-interactive method for one party to prove to another that a statement Sis true, without revealing which witness was used.

1 Completeness: S is true verifier will be convinced of this fact

2 Soundness: S is false no cheating prover can convince the verifier that Sis true

3 Witness indistinguishability: S is true no cheating verifier candistinguish between two provers that use different witnesses.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 6 / 38

Page 10: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

History of NIZK Proofs

Inefficient NIZK

Blum-Feldman-Micali, 1988.

...

De Santis-Di Crescenzo-Persiano, 2002.

Alternative: Fiat-Shamir heuristic, 1986: interactive ZK proof NIZKBut there are examples of insecure Fiat-Shamir transformation

Groth-Ostrovsky-Sahai, 2006.

Groth-Sahai, 2008.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 7 / 38

Page 11: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

History of NIZK Proofs

Inefficient NIZK

Blum-Feldman-Micali, 1988.

...

De Santis-Di Crescenzo-Persiano, 2002.

Alternative: Fiat-Shamir heuristic, 1986: interactive ZK proof NIZKBut there are examples of insecure Fiat-Shamir transformation

Groth-Ostrovsky-Sahai, 2006.

Groth-Sahai, 2008.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 7 / 38

Page 12: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

History of NIZK Proofs

Inefficient NIZK

Blum-Feldman-Micali, 1988.

...

De Santis-Di Crescenzo-Persiano, 2002.

Alternative: Fiat-Shamir heuristic, 1986: interactive ZK proof NIZKBut there are examples of insecure Fiat-Shamir transformation

Groth-Ostrovsky-Sahai, 2006.

Groth-Sahai, 2008.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 7 / 38

Page 13: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

History of NIZK Proofs

Inefficient NIZK

Blum-Feldman-Micali, 1988.

...

De Santis-Di Crescenzo-Persiano, 2002.

Alternative: Fiat-Shamir heuristic, 1986: interactive ZK proof NIZKBut there are examples of insecure Fiat-Shamir transformation

Groth-Ostrovsky-Sahai, 2006.

Groth-Sahai, 2008.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 7 / 38

Page 14: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Applications of NIZK Proofs

Fancy signature schemes

group signaturesring signaturestraceable signatures. . .

Efficient non-interactive proof of correctness of shuffle

Non-interactive anonymous credentials

CCA-2-secure encryption schemes

Identification

E-voting

E-cash

. . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 8 / 38

Page 15: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Composite order bilinear structure: What ?

(e,G,GT , g , n) bilinear structure:

G, GT multiplicative groups of order n = pq

n = RSA integer

〈g〉 = G

e : G×G→ GT

〈e(g , g)〉 = GTe(g a, gb) = e(g , g)ab, a, b ∈ Z

deciding group membership,

group operations,

bilinear map

efficiently computable.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 9 / 38

Page 16: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Composite order bilinear structure: Why ?

1 Deciding Diffie-Hellman tuples: given (g , g a, gb, g c) ∈ G4

c = ab ⇐⇒ e(g a, gb) = e(g , g c)

2 If h ∈ Gq:∀v ∈ G, e(h, v)q = 1

e(g ahb, g)q = e(g , g)aq

Applications: “Somewhat homomorphic” encryption, Traitor tracing,Signatures, Attribute-based encryption, Fully secure HIBE, . . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 10 / 38

Page 17: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Composite order bilinear structure: Why ?

1 Deciding Diffie-Hellman tuples: given (g , g a, gb, g c) ∈ G4

c = ab ⇐⇒ e(g a, gb) = e(g , g c)

2 If h ∈ Gq:∀v ∈ G, e(h, v)q = 1

e(g ahb, g)q = e(g , g)aq

Applications: “Somewhat homomorphic” encryption, Traitor tracing,Signatures, Attribute-based encryption, Fully secure HIBE, . . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 10 / 38

Page 18: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Composite order bilinear structure: Why ?

1 Deciding Diffie-Hellman tuples: given (g , g a, gb, g c) ∈ G4

c = ab ⇐⇒ e(g a, gb) = e(g , g c)

2 If h ∈ Gq:∀v ∈ G, e(h, v)q = 1

e(g ahb, g)q = e(g , g)aq

Applications: “Somewhat homomorphic” encryption, Traitor tracing,Signatures, Attribute-based encryption, Fully secure HIBE, . . .

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 10 / 38

Page 19: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Boneh-Goh-Nissim Encryption Scheme

Public key: (e,G,GT , n) bilinear structure with n = pqg ∈ G, h ∈ Gq.

Secret key: p, q

Encryption: c = gmhr (r$← Zn)

Decryption: cq = (gmhr )q = gmqhqr = (gq)m (+ DL)

IND-CPA-secure under the:

Subgroup Membership Assumption

Hard to distinguish h ∈ Gq from random h of order n

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 11 / 38

Page 20: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Boneh-Goh-Nissim Commitment Scheme

Public key: (e,G,GT , n = pq) bilinear structureg ∈ G, h ∈ Gq.

Commitment: c = gmhr (r$← Zn)

Perfectly binding: unique m mod p

Computationally hiding: indistinguishable from h of order n

Somewhat homomorphic properties: (g ahr ) · (gbhs) = g a+bhr+s

e(g ahr , gbhs) = e(g a, gb)e(hr , gb)e(g a, hs)e(hr , hs)

= e(g , g)abe(h, g as+rbhrs)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 12 / 38

Page 21: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Ostrovsky-Sahai: NIZK Proof for Circuit SAT

Groth, Ostrovsky and Sahai (2006)

Perfect completeness, perfect soundness, computational zero-knowledge for NPCommon reference string: O(k) bitsProof: O(|C |k) bits

Circuit-SAT is NP-complete

w1

w2

w3

w4

1

Idea:

Commit wi using BGN encryptionProve the validity using homomorphic properties

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 13 / 38

Page 22: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

NIZK Proof for Circuit SAT

gw1hr1 = c1

gw2hr2 = c2

gw3hr3 = c3

c4 = gw4hr4

g1

Prove wi ∈ {0, 1} for i ∈ {1, 2, 3, 4}

Prove w4 = ¬(w1 ∧ w2)

Prove 1 = ¬(w3 ∧ w4)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 14 / 38

Page 23: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Proof for c Containing 0 or 1

w mod p ∈ {0, 1} ⇐⇒ w(w − 1) = 0 mod p

For c = gwhr we have

e(c , cg−1) = e(gwhr , gw−1hr )

= e(gw , gw−1)e(hr , gw−1)e(gw , hr )e(hr , hr )

= e(g , g)w(w−1)e(h, (g2w−1hr︸ ︷︷ ︸π

)r )

π = g2w−1hr = proof that c contains 0 or 1 modp.(c detemines w uniquely modp since ord(h) = q)

Randomizable proof !

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 15 / 38

Page 24: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Proof for c Containing 0 or 1

w mod p ∈ {0, 1} ⇐⇒ w(w − 1) = 0 mod p

For c = gwhr we have

e(c , cg−1) = e(gwhr , gw−1hr )

= e(gw , gw−1)e(hr , gw−1)e(gw , hr )e(hr , hr )

= e(g , g)w(w−1)e(h, (g2w−1hr︸ ︷︷ ︸π

)r )

π = g2w−1hr = proof that c contains 0 or 1 modp.(c detemines w uniquely modp since ord(h) = q)

Randomizable proof !

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 15 / 38

Page 25: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

A Simple Observation

b0 b1 b2 b0 + b1 + 2b2 − 2

0 0 0 −2

0 0 1 0

0 1 0 −1

0 1 1 1

1 0 0 −1

1 0 0 −1

1 0 1 1

1 1 0 0

1 1 1 2

b2 = ¬(b0 ∧ b1) ⇐⇒ b0 + b1 + 2b2 − 2 ∈ {0, 1}

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 16 / 38

Page 26: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

A Simple Observation

b0 b1 b2 b0 + b1 + 2b2 − 2

0 0 0 −2

0 0 1 0

0 1 0 −1

0 1 1 1

1 0 0 −1

1 0 0 −1

1 0 1 1

1 1 0 0

1 1 1 2

b2 = ¬(b0 ∧ b1) ⇐⇒ b0 + b1 + 2b2 − 2 ∈ {0, 1}

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 16 / 38

Page 27: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Proof for NAND-gate

gw1hr1 = c1

gw2hr2 = c2

gw3hr3 = c3

c4 = gw4hr4

g1

Given c1, c2 and c4 commitments for bits w1, w2, w4

Wish to prove w4 = ¬(w1 ∧ w2).i.e. w1 + w2 + 2w4 − 2 ∈ {0, 1}

We have

c1c2c24g−2 = (gw0hr0 ) · (gw1hr1 ) · (gw4hr4 )2g−2

= gw0+w1+2w4−2hr0+r1+2r4

Prove that c1c2c24g−2 contains 0 or 1

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 17 / 38

Page 28: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

NIZK Proof for Circuit SAT

gw1hr1 = c1

gw2hr2 = c2

gw3hr3 = c3

c4 = gw4hr4

g1

Prove wi ∈ {0, 1} for i ∈ {1, 2, 3, 4} → 2k bits

Prove w4 = ¬(w1 ∧ w2) → k bits

Prove 1 = ¬(w3 ∧ w4) → k bits

CRS size: 3k bits

Proof size: (2|W |+ |C |)k bits

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 18 / 38

Page 29: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Ostrowsky-Sahai is ZK

Subgroup Membership Assumption

Hard to distinguish h ∈ G of order q from random h of order n

Simulation

simulated CRS

h of order n by choosing g = hτ

the simulation trapdoor is τ

perfectly hiding trapdoor commitments

g1hr1 = c1

g1hr2 = c2

g1hr3 = c3

c4 = g1hr4

g1

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 19 / 38

Page 30: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Ostrowsky-Sahai is ZK

Subgroup Membership Assumption

Hard to distinguish h ∈ G of order q from random h of order n

Simulation

simulated CRS

h of order n by choosing g = hτ

the simulation trapdoor is τ

perfectly hiding trapdoor commitments

g1hr1 = c1

g1hr2 = c2

g1hr3 = c3

c4 = g1hr4

g1

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 19 / 38

Page 31: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Ostrowsky-Sahai is ZK

Subgroup Membership Assumption

Hard to distinguish h ∈ G of order q from random h of order n

Simulation

simulated CRS

h of order n by choosing g = hτ

the simulation trapdoor is τ

perfectly hiding trapdoor commitments

g1hr1 = c1

g1hr2 = c2

g1hr3 = c3

c4 = g1hr4

g1

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 19 / 38

Page 32: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Ostrowsky-Sahai is ZK

Witness-indistinguishable 0/1-proof

c1 = g1hr1

π1 = (ghr1 )r1 is the proof that c1 contains 1

c1 = g1hr1 = g0ghr1 = g0hτ+r1

π0 = (g−1hτ+r1 )τ+r1 is the proof that c1 contains 0

π0 = (g−1hτ+r1 )τ+r1 = (g−1hτ )τ+r1 (hr )r+τ = (hr+τ )r = (g1hr )r = π1

Witness-indistinguishable NAND-proof

We have

c1c2c24g−2 = (g1hr1 ) · (g1hr2 ) · (g1hr4 )2g−2

= g2hr0+r1+2r4

= g1hτ+r1+r2+2r4

Computational ZK → Subgroup membership assumption

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 20 / 38

Page 33: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, computational zero-knowledge for NP

algebraiclanguages

Idea:

group elements

Commit bits using BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: O(|C|k) bits

O(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 34: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-////////////Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, computational zero-knowledge for NP

algebraiclanguages

Idea:

group elements

Commit bits using BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: O(|C|k) bits

O(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 35: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-////////////Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, /////////////////computational/////////////////////zero-knowledge for NP

algebraiclanguages

Idea:

group elements

Commit bits using BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: O(|C|k) bits

O(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 36: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-////////////Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, /////////////////computational/////////////////////zero-knowledge for ////NPalgebraiclanguages

Idea:

group elements

Commit bits using BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: O(|C|k) bits

O(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 37: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-////////////Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, /////////////////computational/////////////////////zero-knowledge for ////NPalgebraiclanguages

Idea: group elements

Commit/////bits using BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: O(|C|k) bits

O(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 38: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-////////////Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, /////////////////computational/////////////////////zero-knowledge for ////NPalgebraiclanguages

Idea: group elements

Commit/////bits using //////BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: O(|C|k) bits

O(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 39: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-////////////Ostrovsky-Sahai: Summary

witness-indistinguishability

Perfect completeness and soundness, /////////////////computational/////////////////////zero-knowledge for ////NPalgebraiclanguages

Idea: group elements

Commit/////bits using //////BGN encryptionProve the validity using homomorphic properties

Plug the commitments ~c in the equations and provide additionnal groupelement ~π to check the validity

e(gw , gwg−1) = 1 e(c, cg−1) = e(h, π)

Common reference string: O(k) bits

Proof: /////////O(|C|k) bitsO(|E |k)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 21 / 38

Page 40: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Symmetric bilinear structure

(e,G,GT , g , p) bilinear structure:

G, GT multiplicative groups of order p

p = prime integer

〈g〉 = G

e : G×G→ GT

〈e(g , g)〉 = GT

e(g a, gb) = e(g , g)ab, a, b ∈ Z

deciding group membership,

group operations,

bilinear map

efficiently computable.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 22 / 38

Page 41: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Boneh-Boyen-Shacham Encryption Scheme

Public key: (e,G,GT , p)g , u = g x , v = g y ∈ G

Secret key: x , y

Encryption: (c1, c2, c3) = (uα, vβ ,mgα+β) (α, β$← Zp)

Decryption: c3/(c1/x1 c

1/y2 ) = m

IND-CPA-secure under the:

Decision Linear Assumption

given (u, v , g , uα, vβ), Hard to distinguish gα+β from random

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 23 / 38

Page 42: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Boneh-Boyen-Shacham Commitment Scheme

Public key: (e,G,GT , p)g , u, v ∈ G

Commitment: (c1, c2, c3) = (uα, vβ ,mgα+β) (α, β$← Zp)

Perfectly binding: unique m ∈ GComputationally hiding: indistinguishable from random g

Addition: (c1, c2, c3) · (c ′1, c ′2, c ′3) = (uα+α′, vβ+β′

,mgα+α′+β+β′)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 24 / 38

Page 43: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Asymmetric bilinear structure

(e,G1,G2,GT , g1, g2, p) bilinear structure:

G1, G2, GT multiplicative groups of order p

p = prime integer

〈gi 〉 = Gi

e : G1 ×G2 → GT

〈e(g1, g2)〉 = GT

e(g a1 , g

b2 ) = e(g1, g2)ab, a, b ∈ Z

deciding group membership,

group operations,

bilinear map

efficiently computable.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 25 / 38

Page 44: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

ElGamal Encryption Scheme

Public key: (e,G1,GT , p)g1, h1 = g y

1 ∈ G1

Secret key: y

Encryption: (c1, c2) = (gα1 ,mhα1 ) (α$← Zp)

Decryption: c2/cy1 = m

IND-CPA-secure under the:

Decisional Diffie Hellman

given (g1, gα1 , g

β1 ), Hard to distinguish gαβ1 from random

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 26 / 38

Page 45: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

ElGamal Commitment Scheme

Public key: (e,G1,GT , p)g1, h1 ∈ G1

Commitment: (c1, c2) = (gα1 ,mhα1 ) (α$← Zp)

Perfectly binding: unique m ∈ G1

Computationally hiding: indistinguishable from random g1

Addition: (c1, c2) · (c ′1, c ′2) = (gα+α′

1 ,mhα+α′

1 )

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 27 / 38

Page 46: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System

Groth-Sahai Proof System

Pairing product equation (PPE): for variables X1, . . . ,Xn ∈ G

(E ) :n∏

i=1

e(Ai ,Xi )n∏

i=1

n∏j=1

e(Xi ,Xj)γi,j = tT

determined by Ai ∈ G, γi,j ∈ Zp and tT ∈ GT .

Groth-Sahai WI proofs that elements in G that were committed to satisfyPPE

Assumption DLIN SXDH SDVariables 3 2 1

PPE 9 (2,2) 1(Linear) 3 2 1

Verification 12n + 27 5m + 3n + 16 n + 1

O. B., G. Fuchsbauer, M.Izabachene, A. Jambert,H. Sibert, D. VergnaudBatch Groth-Sahai.ACNS 2010

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 28 / 38

Page 47: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System

Groth-Sahai Proof System

Pairing product equation (PPE): for variables X1, . . . ,Xn ∈ G

(E ) :n∏

i=1

e(Ai ,Xi )n∏

i=1

n∏j=1

e(Xi ,Xj)γi,j = tT

determined by Ai ∈ G, γi,j ∈ Zp and tT ∈ GT .

Groth-Sahai WI proofs that elements in G that were committed to satisfyPPE

Assumption DLIN SXDH SDVariables 3 2 1

PPE 9 (2,2) 1(Linear) 3 2 1

Verification 12n + 27 5m + 3n + 16 n + 1

O. B., G. Fuchsbauer, M.Izabachene, A. Jambert,H. Sibert, D. VergnaudBatch Groth-Sahai.ACNS 2010

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 28 / 38

Page 48: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System

Groth-Sahai Proof System

Pairing product equation (PPE): for variables X1, . . . ,Xn ∈ G

(E ) :n∏

i=1

e(Ai ,Xi )n∏

i=1

n∏j=1

e(Xi ,Xj)γi,j = tT

determined by Ai ∈ G, γi,j ∈ Zp and tT ∈ GT .

Groth-Sahai WI proofs that elements in G that were committed to satisfyPPE

Assumption DLIN SXDH SDVariables 3 2 1

PPE 9 (2,2) 1(Linear) 3 2 1

Verification 3n + 6 m + 2n + 8 n + 1

O. B., G. Fuchsbauer, M.Izabachene, A. Jambert,H. Sibert, D. VergnaudBatch Groth-Sahai.ACNS 2010

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 28 / 38

Page 49: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: NIWI

(E ) :n∏

i=1

e(Ai ,Xi )n∏

i=1

n∏j=1

e(Xi ,Xj)γi,j = tT

Setup on input the bilinear group output a commitment key ck

Com on input ck, X ∈ G, randomness ρ output commitment ~cX to X

Prove on input ck, (Xi , ρi )i=1,...,n and (E ) output a proof φ

Verify on input ck, ~cXi , (E ) and φ output 0 or 1

Properties:

correctness honestly generated proofs are accepted by Verify

soundness ExtSetup outputs (ck, ek) s.t. given ~cXi and φ s.t.

Verify(ck, ~cXi ,E , π) = 1 then Extract(ek, ~cXi ) returns ~X ′i that satisfies (E )

witness-indistinguishability WISetup outputs ck∗ indist. from ck s.t.

Com produces statistically hiding commitmentsGiven (Xi , ρi ), (X ′i , ρ

′i ) s.t. Com(ck∗, ~Xi , ρi ) = Com(ck∗, ~Xi , ρi ) and ~Xi and ~Xi

satisfy E then Prove(ck∗, ~Xi , ρi ) ≡ Prove(ck∗, ~Xi , ρi )

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 29 / 38

Page 50: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: NIWI

(E ) :n∏

i=1

e(Ai ,Xi )n∏

i=1

n∏j=1

e(Xi ,Xj)γi,j = tT

Setup on input the bilinear group output a commitment key ck

Com on input ck, X ∈ G, randomness ρ output commitment ~cX to X

Prove on input ck, (Xi , ρi )i=1,...,n and (E ) output a proof φ

Verify on input ck, ~cXi , (E ) and φ output 0 or 1

Properties:

correctness honestly generated proofs are accepted by Verify

soundness ExtSetup outputs (ck, ek) s.t. given ~cXi and φ s.t.

Verify(ck, ~cXi ,E , π) = 1 then Extract(ek, ~cXi ) returns ~X ′i that satisfies (E )

witness-indistinguishability WISetup outputs ck∗ indist. from ck s.t.

Com produces statistically hiding commitmentsGiven (Xi , ρi ), (X ′i , ρ

′i ) s.t. Com(ck∗, ~Xi , ρi ) = Com(ck∗, ~Xi , ρi ) and ~Xi and ~Xi

satisfy E then Prove(ck∗, ~Xi , ρi ) ≡ Prove(ck∗, ~Xi , ρi )

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 29 / 38

Page 51: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: NIWI

(E ) :n∏

i=1

e(Ai ,Xi )n∏

i=1

n∏j=1

e(Xi ,Xj)γi,j = tT

Setup on input the bilinear group output a commitment key ck

Com on input ck, X ∈ G, randomness ρ output commitment ~cX to X

Prove on input ck, (Xi , ρi )i=1,...,n and (E ) output a proof φ

Verify on input ck, ~cXi , (E ) and φ output 0 or 1

Properties:

correctness honestly generated proofs are accepted by Verify

soundness ExtSetup outputs (ck, ek) s.t. given ~cXi and φ s.t.

Verify(ck, ~cXi ,E , π) = 1 then Extract(ek, ~cXi ) returns ~X ′i that satisfies (E )

witness-indistinguishability WISetup outputs ck∗ indist. from ck s.t.

Com produces statistically hiding commitmentsGiven (Xi , ρi ), (X ′i , ρ

′i ) s.t. Com(ck∗, ~Xi , ρi ) = Com(ck∗, ~Xi , ρi ) and ~Xi and ~Xi

satisfy E then Prove(ck∗, ~Xi , ρi ) ≡ Prove(ck∗, ~Xi , ρi )

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 29 / 38

Page 52: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~A • ~X + ~X • Γ ~X = tT

Pairing product equation θ : 9 elements

Γ = 0, linear θ : 3 elements

Proof : ~φ = S>i(~A) + S>(Γ + Γ>)i( ~X ) + S>ΓS~u + rand ~u.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 30 / 38

Page 53: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~A • ~X = tT

Pairing product equation θ : 9 elements

Γ = 0, linear θ : 3 elements

Proof : ~φ = S>i(~A).

π = R>~A

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 30 / 38

Page 54: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~a • ~Y + ~x • ~B + ~x • Γ~Y = T

Multi-scalar equation θ : 9 elements

x = 0, linear θ : 3 elements in Zp

Y = 0, linear θ : 2 elements in G

Proof : ~φ = R>i(~B) + R>Γi(~Y ) + S>i ′(~a) + S>Γ>i(~x) + R>ΓS~u + rand ~u.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 31 / 38

Page 55: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~a • ~Y = T

Multi-scalar equation θ : 9 elements

x = 0, linear θ : 3 elements in Zp

Y = 0, linear θ : 2 elements in G

Proof : ~φ = S>i ′(~a).

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 31 / 38

Page 56: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~x • ~B = T

Multi-scalar equation θ : 9 elements

x = 0, linear θ : 3 elements in Zp

Y = 0, linear θ : 2 elements in G

Proof : ~φ = R>i(~B).

π = R>~B

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 31 / 38

Page 57: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~a • ~x + ~x • Γ~x = t

Quadratic equation θ : 6 elements

Γ = 0, linear θ : 2 elements in Zp

Proof : ~φ = R>i ′(~b) + R>(Γ + Γ>)i ′(~x) + R>ΓR~u + rand ~u.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 32 / 38

Page 58: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Several subcases

(E ) : ~a • ~x = t

Quadratic equation θ : 6 elements

Γ = 0, linear θ : 2 elements in Zp

Proof : ~φ = R>i ′(~b).

π = R>~b

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 32 / 38

Page 59: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: DLin

(E ) : e(X , g x) = 1T

Setup ck = ((u1,1, 1, g), (1, u2,2, g), (u3,1, u3,2, u3,3)) ∈ (G3)3

u1,1, u2,2$← G and λ, µ

$← Z∗pu3 = uλ1 � uµ2 = (u3,1 = uλ1,1, u3,2 = uµ2,2, u3,3 = gλ+µ)

Com ~cY = (us11,1 · u

s33,1, u

s22,2 · u

s33,2,Y · g s1+s2 · us3

3,3).

Prove φ = (g s1x , g s2x , g s3x)>

Verify i(~A) • ~cY?= ~u • φ

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 33 / 38

Page 60: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: DLin

(E ) : e(X , g x) = 1T

Setup ck = (u1,u2,u3).

Com ~cY = (1, 1,Y )�us11 �us2

2 �us33 = (us1

1,1 ·us33,1, u

s22,2 ·u

s33,2,Y ·g s1+s2 ·us3

3,3).

Prove φ = (g s1x , g s2x , g s3x)>

Verify i(~A) • ~cY?= ~u • φ

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 33 / 38

Page 61: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: DLin

(E ) : e(X , g x) = 1T

Setup ck = (u1,u2,u3).

Com ~cY = (us11,1 · u

s33,1, u

s22,2 · u

s33,2,Y · g s1+s2 · us3

3,3).

Prove φ = S>~A = (g s1x , g s2x , g s3x)>

Verify i(~A) • ~cY?= ~u • φ

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 33 / 38

Page 62: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: DLin

(E ) : e(X , g x) = 1T

Setup ck = (u1,u2,u3).

Com ~cY = (us11,1 · u

s33,1, u

s22,2 · u

s33,2,Y · g s1+s2 · us3

3,3).

Prove φ = (g s1x , g s2x , g s3x)>

Verify i(~A) • ~cY?= ~u • φ

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 33 / 38

Page 63: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: DLin

(E ) : e(X , g x) = 1T

Setup ck = (u1,u2,u3).

Com ~cY = (us11,1 · u

s33,1, u

s22,2 · u

s33,2,Y · g s1+s2 · us3

3,3).

Prove φ = (g s1x , g s2x , g s3x)>

Verify i(~A) • ~cY?= ~u • φ

Properties:

Pairing Product Equation

Linear.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 33 / 38

Page 64: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~A • ~Y + ~X • ~B + ~X • Γ~Y = tT

Pairing product equation θ : 2* 4 elements~X = 0, linear θ : 2 elements in G1

~Y = 0, linear θ : 2 elements in G2

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 34 / 38

Page 65: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~A • ~Y = tT

Pairing product equation θ : 2* 4 elements~X = 0, linear θ : 2 elements in G1

~Y = 0, linear θ : 2 elements in G2

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 34 / 38

Page 66: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~X • ~B = tT

Pairing product equation θ : 2* 4 elements~X = 0, linear θ : 2 elements in G1

~Y = 0, linear θ : 2 elements in G2

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 34 / 38

Page 67: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~A • ~y + ~X • ~b + ~X • Γ~y = T1

Multi-scalar equation in G1 θ : 2 elements in G1, 4 in G2

~X = 0, linear θ : 1 element in G1

~y = 0, linear θ : 2 elements in Zp

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 35 / 38

Page 68: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~A • ~y = T1

Multi-scalar equation in G1 θ : 2 elements in G1, 4 in G2

~X = 0, linear θ : 1 element in G1

~y = 0, linear θ : 2 elements in Zp

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 35 / 38

Page 69: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~X • ~b = T1

Multi-scalar equation in G1 θ : 2 elements in G1, 4 in G2

~X = 0, linear θ : 1 element in G1

~y = 0, linear θ : 2 elements in Zp

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 35 / 38

Page 70: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~a • ~y + ~x • ~b + ~x • Γ~y = t

Quadratic equation θ : 2 elements in G1, 2 in G2

~x = 0, linear θ : 2 elements in Zp

~y = 0, linear θ : 2 elements in Zp

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 36 / 38

Page 71: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~a • ~y = t

Quadratic equation θ : 2 elements in G1, 2 in G2

~x = 0, linear θ : 2 elements in Zp

~y = 0, linear θ : 2 elements in Zp

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 36 / 38

Page 72: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

New Subcases with SXDH

(E ) : ~x • ~b = t

Quadratic equation θ : 2 elements in G1, 2 in G2

~x = 0, linear θ : 2 elements in Zp

~y = 0, linear θ : 2 elements in Zp

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 36 / 38

Page 73: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Groth-Sahai Proof System: NIZK

such equations are not known to always have NIZK proofs

auxiliary variables and equations have to be introduced.

If tT =∏n′

j=1 e(gj , hj) for known g1, . . . , gn′ , h1, . . . , hn′ ∈ G, the simulatorcan prove that

n∏i=1

e(Ai ,Xi ) ·n∏

i=1

·n∏

j=1

e(Xi ,Xj)aij =

n′∏j=1

e(gj ,Yj)

and that introduced variables Y1, . . . ,Yn′ satisfy the linear equations Yj = hj .

size of NIZK proofs not constant.

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 37 / 38

Page 74: Groth-Sahai proof system - BlazyContents 1 Introduction 2 Groth-Sahai proof system Non-Interactive Zero-Knowledge proofs Bilinear maps Groth-Ostrovsky-Sahai Groth-Sahai (2008) O. Blazy

Conclusion

Groth-Sahai framework for NIWI/NIZK proofs

Applications

Non-frameable group signaturesEfficient (offline) e-cash systemGroup signatures with VLRFair blind signatures

Ongoing work

(Non-interactive) Receipt-Free E-voting(Round-optimal) Blind Signatures (under classical assumption)

O. Blazy (ENS) Groth-Sahai proof system Jan. 21st 2011 38 / 38