pairing-based non-interactive proofs jens groth university college london joint work with rafail...

129
Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters

Upload: homer-fletcher

Post on 11-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Pairing-Based Non-interactive Proofs

Jens Groth

University College London

Joint work with Rafail Ostrovsky and Amit Sahai

Thanks also to Brent Waters

Page 2: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Motivation

Alice Bob

Why does Bob want to know my password,

bank statement, etc.?

Did Alice honestly follow the protocol?Show me all your inputs!

No!

Page 3: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

History

• Goldwasser, Micali and Rackoff introduced interactive zero-knowledge proofs in 1985

• First the paper was rejected a couple of times• ...then they won the Gödel award for it

Page 4: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Interactive proof

Prover Verifier

Statement OK, statement is true

Page 5: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Statements

• Mathematical theorem: 2+2=4• Identification: I am me!• Verification: I followed the protocol• Anything: X belongs to NP-language L

Page 6: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Interactive proof

Prover Verifier

Statement: xL OK, xL

Witness w (x,w) RL

Page 7: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Zero-knowledge and witness indistinguishability

Prover Verifier

Statement: xL OK, xL

Witness w (x,w) RL

Zero-knowledge:Verifier learns statement is

true, but nothing else

Witness-indistinguishable: Verifier does not learn which witness Prover has in mind

Page 8: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Zero-knowledge proofs in multi-party computation

Function: f

Input: x Input: y

Output: f(x,y)

I don’t trust you!Did you follow the

protocol?

Yes, I followed the protocol, but my input

is secret!

ZK proof

OK, she followed the protocol

Page 9: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

History

• Goldwasser, Micali and Rackoff introduced interactive zero-knowledge proofs in 1985

• Many actions are non-interactive– Signature– Encryption– ...

Page 10: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Non-interactive proofs

Prover Verifier

Statement: xL OK, xL

Witness w (x,w) RL

Proof

Page 11: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Non-interactive zero-knowledge (NIZK) proofs

• Completeness– Can prove a true statement

• Soundness– Cannot prove false statement

• Zero-knowledge– Proof reveals nothing (except truth of statement)

Page 12: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proofs only for trivial languages (BPP)

Sketch of proof:

Decision algorithm for x in L:• Learn nothing from proof = can simulate proof• If xL: ZK and complete so verifier algorithm accepts• If xL: Sound so verifier algorithm rejects

Page 13: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

History

• Goldwasser, Micali and Rackoff introduced interactive zero-knowledge proofs in 1985

• Many actions are non-interactive– Signature– Encryption– ...

• Blum, Feldman and Micali introduced non-interactive zero-knowledge proofs in the common reference string model in 1986

Page 14: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Common reference string

• Key generation algorithm K– Uniformly at random

– Specific distribution

• Trusted generation– Trusted party

– Secure multi-party computation

– Multi-string model where t-out-of-n are trusted

0110110101000101110100101

Page 15: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

CRS: 01101010101010101

NIZK and NIWI proofs

Prover Verifier

Statement: xL OK, xL

Witness w (x,w) RL

NIZK:Verifier learns statement is

true, but nothing else

NIWI: Verifier does not learn which witness Prover has in mind

Proof

Page 16: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Defining NIZK proofs

• NP language L: xL if is witness w so (x,w)RL

• NIZK proof consists of three probabilistic polynomial time algorithms (K,P,V)

• K(1k): Generates common reference string σ• P(σ,x,w): Generates a proof • V(σ,x,): Verifies the proof (outputs 1 or 0)

Page 17: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Completeness

Perfect completeness: Pr[Accept] = 1

P(σ,x,w) → V(σ,x,) →Accept/reject

K(1k)Common reference string σ

Statement xL

Witness wso (x,w)R

Page 18: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Soundness

Perfect soundness: Adv: Pr[Reject] = 1

Computational soundness: poly-time Adv: Pr[Reject] 1

V(σ,x,) →Accept/reject

K(1k)Common reference string σ

Statement xL

Page 19: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Witness indistinguishability

Perfect witness-indistinguish.: Adv: Pr[Guess = b] = ½

Computational WI: poly-time Adv: Pr[Guess = b] ½

P(σ,x,wb) →

K(1k)Common reference string σ

Statement xL

Witnesses w0,w1 (x,w0),(x,w1)RL

b{0,1}

Guess{0,1}

Page 20: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Zero-knowledge

Perfect ZK: Pr[Adv →1|Real ] = Pr[Adv→1|Simulation]Computational ZK: poly-time Adv: Pr[Adv →1|Real ] Pr[Adv→1|Simulation]

P(σ,x,w) →

K(1k) → σ

0/1(x,w) RL

S2(σ,,x) →

S1(1k) → σ

0/1(x,w) RL

Page 21: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Trade-off

• Perfect soundness and perfect zero-knowledge only possible for trivial languages– Sketch of proof:

• Perfect ZK implies real common reference string and simulated common reference string has same probability distribution

• To decide whether x in L simulate common reference string, simulate proof, run verifier on simulated proof

• If xL: By perfect ZK and completeness verifier accepts• If xL: By perfect soundness verifier rejects

• Choice:– Perfect soundness and computational zero-knowledge– Computational soundness and perfect zero-knowledge

Page 22: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

The world in 2005

• Much research in NIZK proofs– Blum-Feldman-Micali 88– Damgård 92– Feige-Lapidot-Shamir 99– Kilian-Petrank 98– De Santis-Di Crescenzo-Persiano 02

• Inefficient

• Alternatives– Fiat-Shamir heuristic transforms interactive zero-knowledge proof

into non-interactive scheme, however, there are examples of insecure Fiat-Shamir transformation

– Designated verifier proofs such as Damgård, Fazio, Nicolosi 05, however, the verification is not public

Page 23: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Applications

• Public-key encryption• Mix-nets for anonymous broadcast• Internet voting• Group signatures• Ring signatures• Identification• Verifying outsourced computation• ...

Page 24: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Practice

Circuit SAT Practical statements

Inefficient

Efficient

Kilian-Petrank 98

Groth-Ostrovsky-Sahai 06

Groth 06

Groth-Sahai 08

1 GB

1 KB

Statement: Here is a ciphertext and a document. The ciphertext contains a digital signature on the document.

Page 25: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Known for all

of NP?

Computational

zero-knowledge

Perfectzero-knowledge

(everlasting privacy)

Interactive proof

Non-interactive

proof ?

Yes[Goldreich-

Micali-Wigderson

1986]

Yes[Brassard-Crepeau

1986]

Yes[Blum-

Feldman-Micali 1988]

Yes[G-

Ostrovsky-Sahai 2006]

Page 26: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

CRS-free proofs for all

of NP?Zero-

knowledgeWitness-

indistinguishability

Interactive proofs

Non-interactive proof ?

4 rounds 2 rounds

Impossible Yes

Page 27: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Goals

• Efficient NIZK and NIWI proofs• Perfect zero-knowledge

– Computational soundness

• Eliminating the common reference string– NIWI proofs (non-interactive zaps)

• New techniques from pairing based cryptography

Page 28: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Groth-Ostrovsky-Sahai 06

• NIZK proof for Circuit SAT• Perfect completeness, perfect soundness,

computational zero-knowledge• Common reference string size: O(k) bits• Proof size: O(|C|k) bits

Page 29: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Composite order bilinear group

• Gen(1k) generates (p,q,G,GT,e,g)

• G, GT finite cyclic groups of order n=pq

• G has generator g

• Pairing e: G G → GT

– e(g,g) generates GT

– e(ga,gb) = e(g,g)ab

• Deciding group membership, group operations, and bilinear pairing efficiently computable

Page 30: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Elliptic curves

Page 31: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Becoming familiar with the pairing

• Pairing e: G G → GT

– g generates G and has order n=pq

– e(g,g) generates GT

– e(ga,gb) = e(g,g)ab implies e(u,v)=e(v,u) and e(ux,v)=e(u,v)x=e(u,vx)

• Questions with answers:

e(ux,vy)e(uz,w) = e(u,vxywz)

e(u,vx)e(vy,u) = e(u,vx+y)

e(u-x,v)e(u,v)-1e(u-1,vy)z = e(u,v-1-x-yz)

If uq=1 then e(u,v)q=e(uq,v)=e(1,v)=e(g0,v)=e(g,v)0=1

If e(g,v)=e(h,u) then h=gx and v=ux (if ord(h)=n)

Page 32: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Subgroup decision problem

• Given hG decide whether h has order q or order n

• Subgroup decision assumption:

poly-time Adv:

Pr[ (p,q,G,GT,e,g)←Gen(1k); h ← G* : Adv(n,G,GT,e,g,h)=1]

Pr[ (p,q,G,GT,e,g)←Gen(1k); h ← Gq*: Adv(n,G,GT,e,g,h)=1]

Page 33: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

BGN encryption [Boneh-Goh-Nissim 05]

Public key: g, h G h order q

Secret key: p, q n=pq

Encryption: c = gahr r ← Zn

Decryption: cq = (gahr)q = gqahqr = (gq)a

IND-CPA secure: Without secret key, ciphertext does not reveal poly-time computable information about plaintext.

Sketch of proof: By subgroup decision assumption public key looks the same as if h had order n. But if h had order n, ciphertext would have no information about the plaintext a.

Page 34: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

BGN Commitment

Public key: g, h G h order q

Commitment: gahr r ← Zn

Perfectly binding: Unique a mod p

Computationally hiding: Indistinguishable from h order n

Addition: (gahr)(gbhs) = ga+bhr+s

Multiplication: e(gahr,gbhs)

= e(ga,gb) e(hr,gb) e(ga,hs) e(hr,hs)

= e(g,g)ab e(h,gas+rbhrs)

Page 35: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proof for Circuit SAT

1

w1

w4

w3w2

Circuit SAT is NP complete

NAND

NAND

Page 36: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proof for Circuit SAT g1

c1 := gw1hr1

c2 := gw2hr2

c4 := gw4hr4

c3 := gw3hr3

Prove w1 {0,1}

Prove w2 {0,1}

Prove w3 {0,1}

Prove w4 {0,1}

Prove w4 = (w1w2)

Prove 1 = (w4w3)

NAND

NAND

Page 37: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Proof for c containing 0 or 1

Write c = gwhr (unique w mod p since h has order q)

e(c,g-1c) = 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)

Proof := (g2w-1hr)r

Verifier checks: e(c,g-1c) = e(h,) → e(g,g)w(w-1) e(h,(g2w-1hr)r) = e(h,)

→ w = 0 or w = 1 (mod p)

Page 38: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Observation

b2 = (b0b1)

if and only if

b0 + b1 + 2b2 - 2 {0,1}

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 1 1

1 1 0 0

1 1 1 2

Page 39: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Proof for NAND-gate

Given c0, c1, c2 containing bits b0, b1, b2

wish to prove b2 = (b0b1)

b2 = (b0b1) if b0 + b1 + 2b2 - 2 {0,1}

c0c1c22g-2 = (gb0hr0)(gb1hr1)(gb2hr2)2g-2

= gb0+b1+2b2-2hr0+r1+2r2

Prove c0c1c22g-2 contains 0 or 1

Page 40: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proof for Circuit SAT g1

c1 := gw1hr1

c2 := gw2hr2

c4 := gw4hr4

c3 := gw3hr3

Prove w1 {0,1}

Prove w2 {0,1}

Prove w3 {0,1}

Prove w4 {0,1}

Prove w4 = (w1w2)

Prove 1 = (w4w3)

NAND

NAND

CRS = (n,G,GT,e,g,h)CRS size 3kProof size (2|W|+|C|)k

Page 41: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Zero-Knowledge

Subgroup decision assumption:

It is hard to distinguish random h of order q from random h of order n

Simulated common reference string

h order n by choosing g = h ← Zn*

The simulation trapdoor is

Commitments are now perfectly hiding trapdoor commitments

g0hr = g1hr-

Page 42: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Simulation g1

c1 := g1hr1

c2 := g1hr2

c4 := g1hr4

c3 := g1hr3

Simulate proofs for

w1 {0,1}

w2 {0,1}

w3 {0,1}

w4 {0,1}

Simulate proofs for

w4 = (w1w2)

1 = (w4w3)

NAND

NAND

Page 43: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Witness-indistinguishable 0/1-proof

Write c = g1hr (possible since we committed this way)

e(c,g-1c) = e(g1hr,g0hr)= e(h,(g1hr)r)

Proof := (g1hr)r

Verifier checks: e(c,g-1c) = e(h,)

Perfect witness-indistinguishable when h has order n since there is unique satisfying equation, no matter whether c contains 0 or 1

Page 44: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Witness-indistinguishability

Write c = g0hr+ (possible since we know trapdoor )

e(c,g-1c) = e(g0hr+,g-1hr+)= e(h,(g-1hr+)r+)

Proof := (g-1hr+)r+ = (g-1h)r+ (hr+)r= (g1hr)r

Verifier checks: e(c,g-1c) = e(h,)

Perfect witness-indistinguishable since both the witness (1,r) and the witness (0,r+) lead to exactly the same proof

Page 45: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Witness-indistinguishable NAND-proof

Given c0, c1, c2 containing wish to simulate proof for b2 = (b0b1) (simulator committed to b0=b1=b2=1)

b2 = (b0b1) if b0 + b1 + 2b2 - 2 {0,1}

c0c1c22g-2 = (g1hr0)(g1hr1)(g1hr2)2g-2

= g2hr0+r1+2r2

= g1h+r0+r1+2r2

Proof for c0c1c22g-2 containing 0 or 1

Page 46: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Zero-knowledge

Sketch of proof:

Pr[Adv→1|Real proof]

Pr[Adv→1|Real proof on h with order n]

= Pr[Adv→1|Hybrid proof where h has order n and commitments to 1 trapdoor opened to witness and then real proofs]

= Pr[Adv→1|Hybrid proof where h has order n and commitments to 1 and trapdoor opening

when making 0/1-proofs]

= Pr[Adv→1|Simulated proof]

Page 47: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Composable zero-knowledge

• Real common reference stringcomputationally indistinguishable fromsimulated common reference string

• Real proof on simulated common reference stringperfectly indistinguishable fromsimulated proof on simulated common reference string

Page 48: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proof for Circuit SAT

• Commit to all wires wi as ci := gwihri

• For each i prove ci contains 0 or 1

• For each NAND-gate prove c0c1c22g-2 contains 0

or 1• Total size: 2|W|+|C| group elements

• Perfect completeness, perfect soundness, composable zero-knowledge

• Also, perfect proof of knowledgecq = (gwhr)q = (gwq)(hrq) = (gq)w(hq)r = (gq)w

Page 49: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Known for all

of NP?

Computational

zero-knowledge

Perfectzero-knowledge

(everlasting privacy)

Interactive proof

Non-interactive

proof ?

Yes[Goldreich-

Micali-Wigderson

1986]

Yes[Brassard-Crepeau

1986]

Yes[Blum-

Feldman-Micali 1988]

Yes(as we

shall see now)

Page 50: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Perfect zero-knowledge

• Instead of h with order q, use h with order n

• Easy to verify that we have perfect completeness• As argued earlier we have perfect zero-knowledge• What about soundness?

Page 51: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

”Natural” computational soundness fails

• Natural way to prove soundness fails• Start with h of order n and Adv that produces false

statement and valid proof• Switch to h of order q, which Adv cannot

distinguish from order n. Here Adv cannot produce false statement and valid proof

• Problem: Consider the statement ”h has order q”

Page 52: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Adaptive co-soundness

Computational co-soundness: poly-time Adv: Pr[Reject] ≈ 1

C, wco

Proof

K(1k)Common reference string

wco witness for C unsatisfiable

Page 53: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Computational co-soundness

Sketch of proof:• Imagine poly-time Adv could break co-soundness.

I.e., after seeing CRS = (n,G,GT,e,g,h) where h has order n, Adv produces valid (C,wco,).

• By subgroup decision assumption approximately same success probability for Adv producing valid (C,wco,) when h has order q.

• But wco guarantees C is unsatisfiable and when h has order q the perfect soundness guarantees C is satisfiable.

Page 54: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Co-soundness the ”right” definition

• Abe-Fehr 07 show that impossible to achieve ”natural” soundness definition with standard direct black-box methods

• In many scenarios a co-witness exists. – Consider for instance verifiable encryption, where the

secret key can be a co-NP witness for false statement

• Computational co-soundness sufficient for constructing universally composable NIZK proofs

Page 55: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Perfect NIZK argument for Circuit SAT

• Common reference string with h of order n

• Commit to all wires wi as ci := gwihri

• For each i prove ci contains 0 or 1

• For each NAND-gate prove c0c1c22g-2 contains 0

or 1• Total size: 2|W|+|C| group elements• Perfect completeness, computational co-

soundness, perfect zero-knowledge

Page 56: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Groth-Ostrovsky-Sahai 06

• NIZK proof for Circuit SAT• Perfect binding key:

– Perfect completeness– Perfect soundness– Computational zero-knowledge

• Perfect hiding key:– Perfect completeness– Computational co-soundness– Perfect zero-knowledge

= (n,G,GT,e,g,h)where ord(h) = q

= (n,G,GT,e,g,h)where ord(h) = n

?

Page 57: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Non-interactive proofs in the plain model

• NIZK proofs rely on trusted setup of common reference string.

• What if no such setup exists?• Well, NIZK proofs do not exist in the plain model.• OK, how much privacy can we get in plain model?• NIWI proofs do exist in the plain model!

Page 58: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

CRS-free proofs for all

of NP?Zero-

knowledgeWitness-

indistinguishability

Interactive proofs

Non-interactive proofs

?

4 rounds 2 rounds

Impossible Yes

Page 59: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Intuition

• Naive idea: Let the prover choose the CRS.• Bad idea: The prover can just pick a simulation CRS.• Better idea: Let the prover choose two related CRS’s

– One CRS perfect sound, the other CRS perfect ZK– Verifiable that at least one is perfectly sound– Verifier cannot tell which one is sound

Page 60: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIWI proof in plain model

• Statement: C• Proof:

(0,1,0) Krelated(1k)0 P(0,C,w)1 P(1,C,w)

The proof is = (0,1,0,1)

• Verification:Check (0,1) related so at least one is soundCheck (0,C,0) is valid proofCheck (1,C,1) is valid proof

Page 61: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Security

• NIWI proof in the plain model has perfect completeness, perfect soundness and computational witness-indistinguishability

• Perfect completeness:– Perfect completeness of NIZK proofs and perfectly

complete related CRS generation.

• Perfect soundness:– Related CRS generation implies at least one NIZK proof

has perfect soundness

Page 62: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Computational witness-indistinguishability

{C,w0,w1}k poly-time Adv:

Pr[b{0,1} ; P(1k,C,wb) : Adv(C,w0,w1,)=1] ½

• Equivalently

Pr[(0,1,0,1) P(1k,C,w0): Adv(C,w0,w1,)=1]

Pr[(0,1,0,1) P(1k,C,w1): Adv(C,w0,w1,)=1]

Page 63: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Witness-indistinguishability

Given circuit C and two witnesses w0, w1

• Generate 0 perfect ZK and 1 perfect sound

NIZK proof using w0 on 0 NIZK proof using w0 on 1

Simulate proof on 0 NIZK proof using w0 on 1

NIZK proof using w1 on 0 NIZK proof using w0 on 1

• Switch to 0 perfect sound and 1 perfect ZK

NIZK proof using w1 on 0 Simulate proof on 1

NIZK proof using w1 on 0 NIZK proof using w1 on 1

• Switch back to 0 perfect ZK and 1 perfect sound

Adversary knows C,w0,w1

and sees (0,1,0,1)

Page 64: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Verifiability of common reference string

• All that is left is to construct related common reference strings such that guarantee that one is sound and we get NIWI proofs in the plain model!

• How?– Does h have order q?– Is n even a product of two primes?

• Use NIZK proof based on prime order groups.

Page 65: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Prime order bilinear group

• Gen(1k) generates (p,G,GT,e,g)

• G, GT finite cyclic groups of prime order p

• Generator g for G

• Pairing e: G G → GT

– e(g,g) generates GT

– e(ga,gb) = e(g,g)ab

• Deciding group membership, group operations, and bilinear pairing efficiently computable

• Publicly verifiable that is valid bilinear group

Page 66: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Decision Linear assumption

• The DLIN problem is to distinguish (f,h,g,fr,hs,gr+s) from (f,h,g,fr,hs,R)

• The DLIN assumption for Gen: poly-time Adv:

Pr[(p,G,GT,e,g)Gen(1k) ; f,h G* ; r,s,tZp :Adv(p,G,GT,e,f,h,g,fr,hs,gr+s)=1]

Pr[(p,G,GT,e,g)Gen(1k) ; f,h G* ; r,s,tZp :Adv(p,G,GT,e,f,h,g,fr,hs,gt)=1]

Page 67: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Linear encryption [Boneh-Boyen-Shacham 04]

• Public key: f,h,g f,h,gG*

• Secret key: x,y f=gx, h=gy

• Encryption: (u,v,w) = (fr,hs,gr+sm) r,sZp

• Decryption:m = wu-1/xv-1/y

• IND-CPA security: The ciphertext contains no poly-time computable information about plaintext

• Sketch of proof: Look at public key and ciphertext(f,h,g,fr,hs,gr+sm) (f,h,g,fr,hs,gtm) = (f,h,g,fr,hs,R)

Page 68: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Commitments from Linear encryption

• Public key: (n,G,GT,e,f,h,g,u,v,w)

• Commitment: (uafr,vahs,wagr+s) r,sZp

• Additively homomorphic:

commit(a;r,s) commit(b;R,S)

= (uafr,vahs,wagr+s) (ubfR,vbhS,wbgR+S)

= (ua+bfr+R,va+bhs+S,wa+bgr+R+s+S)

= commit(a+b;r+S,s+S)

Page 69: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Binding and hiding keys

• Perfectly binding key: (u,v,w) = (fR,hS,gR+S+T)

(uafr,vahr,wagr+s) = (fRa+r,hSa+s,g(R+S)a+(r+s)gTa)

• Perfectly hiding key: (u,v,w) = (fR,hS,gR+S)

(u1fr,v1hs,w1gr+s) = (u0fr+R,v0hs+S,w0gr+R+s+S)

• Hard to distinguish perfect binding keys from perfect hiding keys by the DLIN assumption

Page 70: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Related keys

• Relation: 0 = (u,v,w) and 1 = (u,v,wg)

• Either 0 = (fR,hS,gR+S) and 1 = (fR,hS,gR+S+1)

or0 = (fR,hS,gR+S-1) and 1 = (fR,hS,gR+S)

or0 = (fR,hS,gR+S+T) and 1 = (fR,hS,gR+S+T+1)

• Verifiable that at least one perfectly binding key• Hard to tell which of the keys is perfectly hiding

Page 71: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proof for Circuit SAT

• NIZK proof in common reference string model, which is perfectly complete, perfectly sound and composable zero-knowledge.

• Efficient: 9|w|+6|C| group elements• Observe: Prime order group elements may be

smaller than composite order group elements, so may be more efficient than composite order proof

Page 72: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proof for Circuit SAT (u1,v1,w1)

c1 commit(w1)

c2 commit(w2)

c4 commit(w4)

c3 commit(w3)

Prove w1 {0,1}

Prove w2 {0,1}

Prove w3 {0,1}

Prove w4 {0,1}

Prove w4 = (w1w2)

Prove 1 = (w4w3)

NAND

NAND

Page 73: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Observation

b2 = (b0b1)

if and only if

b0 + b1 + 2b2 - 2 {0,1}

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 1 1

1 1 0 0

1 1 1 2

Page 74: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Proof for NAND-gate

Given c0, c1, c2 containing bits b0, b1, b2

wish to prove b2 = (b0b1)

b2 = (b0b1) if b0 + b1 + 2b2 - 2 {0,1}

Additively homomorphic commitments so

c0c1c22commit(-2) = commit(b0+b1+2b2-2)

Prove c0c1c22g-2 contains 0 or 1

Page 75: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Proof for 0-commitment

• Commitment to 0:

(u0fr,v0hs,w0gr+s) = (fr,hs,gr+s)

• Proof for (c1,c2,c3) = (fr,hs,gt) satisfying t=r+s mod p

(1,2) = (Zr, Zs) for known Z≠1

• Verification:

e(Z,c1)=e(f,1) e(Z,c2)=e(h,2) e(Z,c3)=e(g,12)

Page 76: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Proof for 0/1-commitment

• Commitment (c1,c2,c3) of the form (uafr,vahr,wagr+s) with a{0,1}

• Idea: – Show (c1,c2,c3) or (u-1c1,v-1c2,w-1c3) contains 0

– Do this by showing a(a-1)=0 mod p

• Problem: We do not have a pairing G3 G3 ???• Solution: Build one!

Page 77: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Meta-pairing

To avoid notational clutter define(A,B,C) = (c1,c2,c3) and (X,Y,Z)=(u-1c1,v-1c2,w-1c3)

Look at map E:G3 G3 GT9

e(A,X) e(A,Y) e(A,Z)

e(B,X) e(B,Y) e(B,Z)

e(C,X) e(C,Y) e(C,Z)

Page 78: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Naive proof if a=0

Suppose (A,B,C)=(fr,hs,gr+s)

e(f,Xr) e(f,Yr) e(f,Zr)

e(h,Xs) e(h,Ys) e(h,Zs)

e(g,Xr+s) e(g,Yr+s) e(g,Zr+s)

Give proof = (Xr,Xs,Yr,Ys,Zr,Zs)

Page 79: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Naive proof if a=1

Suppose (X,Y,Z)=(fr,hs,gr+s)

e(f,Ar) e(h,As) e(g,Ar+s)

e(f,Br) e(h,Bs) e(g,Br+s)

e(f,Cr) e(h,Cs) e(g,Cr+s)

Give proof = (Ar,As,Br,Bs,Cr,Cs)

Page 80: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Problem

• Easy to see whether proof verifies down the columns (a=0) or across the rows (a=1) so not witness-indistinguishable

• This was not a problem in the composite order case because the proof (a single group element) was symmetric.

• Ok, so let us try with a symmetric meta-pairing

Page 81: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Meta-pairing II

Try the symmetric map E:G3 G3 GT6

e(A,X)e(X,A) e(A,Y)e(X,B) e(A,Z)e(X,C)

e(B,X)e(Y,A) e(B,Y)e(Y,B) e(B,Z)e(Y,C)

e(C,X)e(Z,A) e(C,Y)e(Z,B) e(C,Z)e(Z,C)

Page 82: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Less naive proof if a=0

If (A,B,C)=(fr,hs,gr+s) and (X,Y,Z)=(u-1fr,v-1hs,w-1gr+s)

e(f,Xr)e(Xr,f) e(f,Yr)e(Xs,h) e(f,Z)e(Xr+s,g)

e(h,Xs)e(Yr,f) e(h,Ys)e(Ys,h) e(f,Z)e(Yr+s,g)

e(g,Xr+s)e(Zr,f) e(g,Yr+s)e(Zs,h) e(f,Zr+s)e(Zr+s,g)

Give proof = (Xr,Xs,Yr,Ys,Zr,Zs)

Page 83: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Less naive proof if a=1

If (A,B,C)=(u1fr,v1hs,w1gr+s) and (X,Y,Z)=(fr,hs,gr+s)

e(Ar,f)e(f,Ar) e(As,h)e(f,Br) e(Ar+s,g)e(f,Cr)

e(Br,f)e(h,As) e(Bs,h)e(h,Bs) e(Br+s,g)e(h,Cs)

e(Cr,f)e(g,Ar+s) e(Cs,h)e(g,Br+s) e(Cr+s,g)e(g,Cr+s)

Give proof = (Ar,As,Br,Bs,Cr,Cs)

Page 84: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Verification

Statement: (A,B,C) and (X,Y,Z)=(u-1A,v-1B,w-1C)

Proof: = (1,2,3,4,5,6)

Verification: Check that E((A,B,C),(X,Y,Z)) equals

e(f,1)e(f,1) e(h,2)e(f,3) e(g,12)e(f,5)

e(f,3)e(h,2) e(h,4)e(h,4) e(g,34)e(h,6)

e(f,5)e(g,12) e(h,6)e(g,34) e(g,56)e(g,56)

Page 85: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Witness-indistinguishable?

Consider a perfectly hiding key with (u,v,w)=(fR,hS,gR+S).

We have two different witnesses because (A,B,C)=(fR+r,hS+s,gR+S+r+s) and (X,Y,Z)=(fr,hs,gr+s)

The proofs are verified in the same way. Are they witness-indistinguishable?

= (XR+r,XS+s,YR+r,YS+s,ZR+r,ZS+s) = (Ar,As,Br,Bs,Cr,Cs)

Well, 1 = fr(R+r), 4 = hs(S+s), 56 = g(r+s)(R+S+r+s)

But, 2 = fr(S+s) or 2 = f(R+r)s

Which can be tested e(h,2)=e(B,X) or e(h,2)=e(A,Y)

Page 86: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Verification

Statement: (A,B,C) and (X,Y,Z)=(u-1A,v-1B,w-1C)

Proof: = (1,2,3,4,5,6)

Verification: Check that E((A,B,C),(X,Y,Z)) equals

e(f,1)e(f,1) e(h,2)e(f,3) e(g,12)e(f,5)

- e(h,4)e(h,4) e(g,34)e(h,6)

- - e(g,56)e(g,56)

Page 87: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Verification

Statement: (A,B,C) and (X,Y,Z)=(u-1A,v-1B,w-1C)

Randomized proof: = (1,ft2,h-t3,4,g-t5,gt6)

Verification: Check that E((A,B,C),(X,Y,Z)) equals

e(f,1)e(f,1) e(h,ft2)e(f,h-t3) e(g,ft12)e(f,g-t5)

- e(h,4)e(h,4) e(g,h-t34)e(h,gt6)

- - e(g,56)e(g,56)

Page 88: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Perfect witness-indistinguishability

• e(A,X)e(X,A) = e(f,1)e(f,1) unique 1

• e(B,Y)e(Y,B) = e(h,4)e(h,4) unique 4

• e(C,Z)e(Z,C) = e(g,56)e(g,56) unique 56

• e(B,Z)e(C,Y) = e(g,34)e(h,6)

• e(A,Z)e(C,X) = e(g,12)e(f,5)

• e(A,Y)e(B,X) = e(h,2)e(f,3)

• Randomization chooses 6 at random by setting 6 gt6 and then everything else is determined

• So either type of witness yields a uniformly random proof satisfying the above equations

Page 89: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Perfect soundness

• Write the commitments as (A,B,C) = (fa,hb,gc) and (X,Y,Z) = (fx,hy,gz)

• The verification equations imply (modulo p)

a(x+y-z) + (x+y-z)a = d1+d3-d5

b(x+y-z) + (x+y-z)b = d2+d4-d6

c(x+y-z) + (x+y-z)c = d1+d2+d3+d4-d5-d6

Giving us

(a+b-c)(x+y-z) + (x+y-z)(a+b-c) = 0

Implying (a+b-c)(x+y-z)=0 so

c=a+b or z=x+y

Page 90: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Choosing two common reference strings

Generate bilinear group (p, G, GT, e, g)

Choose x,y ← Zp*, R,S ← Zp and set

f = gx, h = gy, u = fR, v = hS, w = gR+S

Output two public keys

(p, G, GT, e, f, h, g, u, v, w)

(p, G, GT, e, f, h, g, u, v, wg)

At least one must be perfectly binding, but by decisional linear assumption hard to tell which one

Page 91: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIWI proof in plain model

• Statement: C• Proof:

(0,1) Krelated(1k)0 P(0,C,w)1 P(1,C,w)

The proof is = (0,1,0,1)

• Verification:Check (0,1) related so at least one is soundCheck (0,C,0) is valid proofCheck (1,C,1) is valid proof

•Perfect completeness•Perfect soundness•Computational witness-indistinguishability

Page 92: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Groth-Ostrovsky-Sahai 06

• NIZK proof for Circuit SAT• Perfect binding key:

– Perfect completeness– Perfect soundness– Computational zero-knowledge

• Perfect hiding key:– Perfect completeness– Computational co-soundness– Perfect zero-knowledge

= (n,G,GT,e,g,h)where ord(h) = q

= (n,G,GT,e,g,h)where ord(h) = n

?

Page 93: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Efficiency problems with non-interactive zero-knowledge proofs

• Non-interactive proofs for general NP-complete language such as Circuit SAT. Any practical statement such as ”the ciphertext c contains a signature on this message m” must go through a size-increasing NP-reduction.

Page 94: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

A brief history of non-interactive zero-knowledge proofs continued

Circuit SAT Practical statements

Inefficient

Efficient

Kilian-Petrank 98

Groth-Ostrovsky-Sahai 06

Groth 06

Groth-Sahai 08Coming next

Page 95: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Our goal

• We want high efficiency. Practical non-interactive proofs!

• We want non-interactive proofs for statements arising in practice such as ”the ciphertext c contains a signature on m”. No NP-reduction!

Page 96: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Constructions in bilinear groups

a,c G , b,d Zn

t = b+yd (mod n)

tG = xyayct

tT = e(tG,ctGb)

Page 97: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Non-interactive cryptographic proofs for correctness of constructions

t = b+yd (mod n)

tG = xyayct

tT = e(tG,ctGb)

Are the constructions correct? I do not know

your secret x, y.

Proof

Yes, here is a proof.

Page 98: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Cryptographic constructions

• Constructions can be built from– public exponents and public group elements– secret exponents and secret group elements

• Using any of the bilinear group operations– Addition and multiplication of exponents– Multiplication of elements in G– Bilinear map e

– Multiplication in GT

• Our goal: Non-interactive cryptographic proofs for correctness of a set of bilinear group constructions (soundness holds for the order p subgroups of G and Zn)

Page 99: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Examples of statements we can prove

• Here is a ciphertext c and a signature s. They have been constructed such that s is a signature on the secret plaintext.

• Here are three commitments A,B and C to secret exponents a,b and c. They have been constructed such that c=ab mod p.

Page 100: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Applications of efficient NIWI and NIZK proofs

• Constant size group signaturesBoyen-Waters 07 (independently of our work)Groth 07

• Sub-linear size ring signaturesChandran-Groth-Sahai 07

• Non-interactive NIZK proof for correctness of shuffleGroth-Lu 07

• Non-interactive anonymous credentialsBelienky-Chase-Kohlweiss-Lysyanskaya 08

• …

Page 101: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

• Variables• Pairing product equations

• Multi-scalar multiplication equations in G

• Quadratic equations in Zn

Quadratic equations in the bilinear group

tT =mY

i=1

e(xi ;ai ) ¢mY

i=1

mY

j =1

e(xi ;xj )° i j

tG =mY

i=1

xi bi ¢nY

j =1

ayjj ¢mY

i=1

nY

j =1

x° i j yji

t =nX

i=1

biyi +nX

i=1

nX

j =1

°i j yiyj

xi 2 G;yj 2 Zn

Page 102: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Efficient NIWI and NIZK proofs for bilinear groups

• Statement S = (eq1,...,eqN) quadratic bilinear group equations

• Efficient NIWI proofs for satisfiability of all equations in S

• Efficient NIZK proofs for satisfiability of all equations in S if all tT=1

• Common reference string 3k bits• Each variable and each equation costs k bits

Each equation constant cost independent of number of public constants and secret variables. NIWI and NIZK proofs can have sub-linear size compared with statement!

Page 103: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Commitment to group elements

• Common reference string: (n,G,GT,e,g,h)– Real common reference string: h order q

– Simulation common reference string: g = h with Zn*

• Commitment to xiG: ci = xihri ri ← Zn*

• Commitment to yjZn*:dj = gyjhsj sj← Zn*

• Real CRS: Perfect binding in order p subgroups• Simulation CRS: Perfect hiding commitments

– Perfect trapdoor for exponents: g0hs = gyhs-y

Page 104: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Homomorphic properties

• Commitments are homomorphic– cicj = (xihri) (xjhrj) = xixjhri+ri

– didj = (gyihsi) (gyjhsj) = gyi+yjhsi+sj

• Pairing commitments– e(ci,cj) = e(xihri,xjhrj) = e(xi,xj) e(h,xi

rjxjrihrirj)

– e(ci,dj) = e(xihri,gyjhsj) = e(xiyj,g) e(h,xi

sjgyjrihrisj)

– e(di,dj) = e(gyihsi,gyjhsj) = e(g,g)yiyj e(h,gyjsi+yisjhrisj)

Page 105: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Quadratic equation in Zn

t =nX

i=1

biyi +nX

i=1

nX

j =1

°i j yiyj

e(g;g)¡ t ¢nY

i=1

e(g;di )bi ¢nY

i=1

nY

j =1

e(di ;dj )° i j

= e(g;g)¡ t ¢nY

i=1

[e(g;g)bi yi e(g;hbi si )]¢nY

i=1

nY

j =1

[e(g;g)° i j yi yj e(h;gyi sj +yj si hsi sj )° i j )]

= e(g;g)¡ t+

P n

i =1bi yi+

P n

i =1

P n

j =1° i j yi yj e(h;g

P n

i =1bi yi +

P n

i =1

P n

j =1° i j (yi sj +yj si )h

P n

i =1° i j si sj )

Page 106: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

• NIWI proof:

• Verifying the NIWI proof:

• Perfect completeness• Perfect soundness modulo p when h has order q• Perfect witness-indistinguishability when h has order n

Quadratic equation in Zn

¼=gP n

i =1bi yi +

P n

i =1

P n

j =1° i j (yi sj +yj si )h

P n

i =1° i j si sj

e(g;g)¡ t ¢Q n

i=1e(g;di )bi ¢

Q ni=1

Q nj =1e(di ;dj )

° i j =e(h;¼)

Page 107: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Multi-exponentiation equation

tG =mY

i=1

xbii ¢nY

j =1

ayjj ¢mY

i=1

nY

j =1

x° i j yji

e(t¡ 1G ;g) ¢mY

i=1

e(ci ;g)bi ¢nY

j =1

e(aj ;dj ) ¢mY

i=1

nY

j =1

e(ci ;dj )° i j

= e(t¡ 1G ¢mY

i=1

xbii ¢nY

j =1

ayjj ¢mY

i=1

nY

j =1

x° i j yji ;g)

¢e(h;gP m

i =1bi r i+

P m

i =1

P n

j =1r i yj ¢h

P m

i =1

P n

j =1° i j r i sj ¢

nY

j =1

asjj ¢mY

i=1

nY

j =1

x° i j sji )

Page 108: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

• NIWI proof:

• Verifying the NIWI proof:

• Perfect completeness• Perfect soundness in order p subgroup when h has order q• Perfect witness-indistinguishability when h has order n

Multiexponentiation equation

¼=gP m

i =1bi r i +

P m

i =1

P n

j =1r i yj ¢h

P m

i =1

P n

j =1° i j r i sj ¢

nY

j =1

asjj ¢mY

i=1

nY

j =1

x° i j sji

e(t¡ 1G ;g) ¢mY

i=1

e(ci ;g)bi ¢nY

j =1

e(aj ;dj ) ¢mY

i=1

nY

j =1

e(ci ;dj )° i j =e(h;¼)

Page 109: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Pairing product equation

tT =mY

i=1

e(xi ;ai ) ¢mY

i=1

mY

j =1

e(xi ;xj )° i j

t¡ 1T ¢mY

i=1

e(ci ;ai ) ¢mY

i=1

mY

j =1

e(ci ;cj )° i j

= t¡ 1T ¢mY

i=1

e(xi ;ai ) ¢mY

i=1

mY

j =1

e(xi ;xj )° i j ¢e(h;hP m

i =1

P m

j =1° i j r i r j ¢

mY

i=1

ar ii ¢mY

i=1

mY

j =1

x° i j r j +° j i r ji )

Page 110: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

• NIWI proof:

• Verifying the NIWI proof:

• Perfect completeness• Perfect soundness in order p subgroup when h has order q• Perfect witness-indistinguishability when h has order n

Pairing product equation

¼=hP m

i =1

P m

j =1° i j r i r j ¢

mY

i=1

ar ii ¢mY

i=1

mY

j =1

x° i j r j +° j i r ji

t¡ 1T ¢mY

i=1

e(ci ;ai ) ¢mY

i=1

mY

j =1

e(ci ;cj )° i j = e(h;¼)

Page 111: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Full NIWI proof for a set of equations

• Commit to each variable in G

• Commit to each variable in Zn

• Make NIWI proof for each quadratic equation• Make NIWI proof for each multi-expo. equation• Make NIWI proof for each pairing product equation

• Commitments and proofs each cost 1 group element

Page 112: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Properties of the NIWI proof

• Two types of common reference string– Real CRS: h has order q– Simulation CRS: h has order n– Real and simulation strings computationally indistinguishable

• Perfect completeness on both types of strings• Perfect soundness in order p subgroups on real CRS

– Commitments perfectly binding and equation proofs perfectly sound

• Perfect witness-indistinguishability on simulation CRS– Commitments perfectly hiding so can contain any valid witness– The equation proofs are perfectly witness-indistinguishable, so do

not reveal anything about which witness is inside commitments

Page 113: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

NIZK proofs

• Is our NIWI proof zero-knowledge?• Problem: The simulator may not know a witness

• Answer:If all pairing product equations have tT=1, then the proof is perfect zero-knowledge on a simulation CRS where h has order n

Page 114: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Simulation common reference string

• The simulated CRS is set up so g = h

• The simulation trapdoor is • We can now make perfectly hiding trapdoor

commitmentsc = gyhs = g0hs+y

• A particular case isg = g1h0 = g0h

Page 115: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Quadratic equations in Zn

• We verify

• Interpret g as a commitment to 1• The verification now corresponds to the equation

• On a real CRS, h has order q, so commitments are perfectly binding and we have soundness modulo p

• On a simulation CRS, we can commit to 0 for all exponents and trapdoor-open the commitment g to 0. This gives a satisfying witness for the equation, so we can simulate the proof.

0= ¡ t ¢1+nX

i=1

biyi +nX

i=1

nX

j =1

°i j yiyj

e(g;g)¡ t ¢Q n

i=1e(g;di )bi ¢

Q ni=1

Q nj =1e(di ;dj )

° i j =e(h;¼)

Page 116: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Multi-exponentiation equations

• We verify

• Interpret g as a commitment to 1• The verification now corresponds to the equation

• On a real CRS, h has order q, so commitments are perfectly binding in the order p subgroup and we have soundness in the order p subgroup

• On a simulation CRS, we commit to xi=1 and y_i=0 and trapdoor open the commitment g to 0. This gives us a satisfying witness so we can simulate the proof.

e(t¡ 1G ;g) ¢mY

i=1

e(ci ;g)bi ¢nY

j =1

e(aj ;dj ) ¢mY

i=1

nY

j =1

e(ci ;dj )° i j =e(h;¼)

1= (t¡ 1G )1mY

i=1

xbii ¢nY

j =1

ayjj ¢mY

i=1

nY

j =1

x° i j yji

Page 117: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Pairing product equations

• We restrict to pairing product equations with tT=1

• This means (x1=1,...,xm=1) is a satisfying witness

Page 118: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Perfect zero-knowledge

• For all three types of equations, we use witness xi=1 and yj=0, so the three types of simulation fit together

• The perfect witness-indistinguishability of the NIWI proof implies perfect zero-knowledge; the real witness cannot be distinguished from the witness we get when trapdoor opening g to 0

Page 119: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Generalizing to other bilinear groups

• G1, G2, GT finite cyclic groups of order n

• g1 generates G1, g2 generates G2

• e: G1 G2 → GT

– e(g1,g2) generates GT

– e(g1a,g2

b) = e(g1,g2)ab

• Deciding membership, group operations, bilinear map efficiently computable

Prime order or composite order

G1 = G2 or G1 ≠ G2

Many possible assumptions: Subgroup Decision, Symmetric External Diffie-Hellman, Decison Linear, ...

Page 120: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Size of NIWI and NIZK proofs

Cost of each variable/equation

Subgroup Decision

Symmetric External DH

Decision Linear

Variable in G1, G2 or Zn

1 2 3

Pairing product(NIZK all tT = 1)

1 8 9

Multiscalar mult. 1 6 9

Quadratic in Zn 1 4 6

Each equation constant cost. Cost independent of number of public constants and secret variables. NIWI proofs can have sub-linear size compared statement!

Page 121: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Bilinear groups as bilinear modules

• View bilinear groups as special cases of modules with a bilinear map

• Commutative ring R• R-modules A1, A2, AT

• Bilinear map f: A1 A2 → AT

• Map to another set of R-modules B1, B2, BT

• Bilinear map F: B1 B2 → BT

Page 122: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Bilinear groups as bilinear modules

• Make commitments to xiA1, yiA2 in B1, B2, BT

• Homomorphic properties carry over to B1, B2, BT

A1 £ A2 ! AT

f¶1 #" p1 ¶2 #" p2 ¶T #" pT

B1 £ B2 ! BT

F

Page 123: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Example: Multi-exponentiation equations

G £ Zn ! G# # exp #

¶1(xi ) = xi ¶2(yi ) = gyi ¶T (tG ) = e(tG ;g)# # #G £ G ! GT

e

Page 124: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Generality continued

• All four types of bilinear group equations can be seen as example of quadratic equations over modules with bilinear map

• The assumptions Subgroup Decision, Symmetric External Diffie-Hellman, Decision Linear, etc., can be interpreted as assumptions in modules with bilinear map as well

Page 125: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Summary

• Practical:– Efficient NIWI and NIZK proofs for practical statements

arising in pairing-based cryptography

• Theoretical:– Perfect zero-knowledge– Witness-indistinguishability in the plain model

• Upcoming: – Quasi-linear size NIZK proofs without pairings– NIZK arguments with smaller size than circuit

Page 126: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Context

Trapdoor permutations: |C| polylog |C| k + poly(k)

Naccache-Stern: |C| polylog |C| + poly(k)

Bilinear groups: |C| k

Fully homomorphic crypto: |w| poly(k)

Bilinear groups + KEA: |C|2/3 k

Random oracle model: polylog |C| k

Page 127: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Open problems

• Even more efficient NIZK proofs• Efficient post-quantum NIZK proofs• NIZK proofs from one-way functions• Non-interactive witness-hiding proofs in plain model• Construct cryptographically useful modules with

bilinear map that are not based on bilinear groups• Continuous NIZK arguments

Page 128: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

References

• Chapman et al.: Life of Brian. BBC 1979.• Groth, Sahai: Efficient Non-interactive Proofs for Bilinear

Groups. EUROCRYPT 2008.• Groth, Sahai, Ostrovsky: New Techniques for Non-

interactive Zero-Knowledge. EWSCS 2010.• Lipmaa: Collected works. Springer 1998 -• Rhinehart: The Dice Man. HarperCollins 1971.• Tolkien: Lord of the Rings. Allen and Unwin 1954-1955.• Zhang: Fuzzy Private Matching and Privacy Preserving

Information Retrieval. UCL MSc thesis 2008.

Page 129: Pairing-Based Non-interactive Proofs Jens Groth University College London Joint work with Rafail Ostrovsky and Amit Sahai Thanks also to Brent Waters TexPoint

Thanks

?

Any (more) questions?