Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

22
Efficient Zero-Knowledge Proof Systems Jens Groth University College London

Transcript of Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Page 1: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Efficient Zero-Knowledge Proof Systems

Jens Groth

University College London

Page 2: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

• 3-move proof systems

• Complete• Special soundness• Special honest verifier zero-knowledge

𝑧𝑐← {0,1 }𝜆

Σ-protocols

𝑎

Public coin: Random challenge, verifier does not store private information about challenge

Page 3: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Special soundness

• Given two accepting transcripts and for a statement with the same initial message , but two different challenges it is possible to compute witness such that

• Exercise– Argue special soundness implies soundness

Page 4: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Special soundness is a form of proof of knowledge

• Proof of knowledge– Not just that the statement is true, but that the prover

“knows” the witness

• Defined through extraction– The prover “knows” the witness if we can extract the

witness from the prover

• Extraction through rewinding– Consider prover in the state after the initial message

has been sent. Rewind it many times to this state giving it different challenges. Once we have answers to two different challenges, we can extract the witness

Page 5: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Honest verifier zero-knowledge

ZK

HVZK

Page 6: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Special honest verifier zero-knowledge

• There is a simulator that given the statement and the challenge can simulate the initial message and answer such that they look like a real transcript– Typically this is done by first selecting the answer and

then computing the initial message – The simulator’s advantage allowing it to make a

convincing transcript like a real prover even though it does not have the witness is that it can compute the transcript in reverse order

Page 7: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Equivalence of discrete logarithms

• Assume setup describing a group of prime order with generator

• Relation

• Exercise: Prove it is complete, special sound and SHVZK

𝑧𝑐←Z𝑝𝑎 ,𝑏𝑟←Z𝑝

𝑧=𝑐𝑤+𝑟Accept if

Page 8: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Σ-protocol for arithmetic circuit over

𝑣

𝑤1 𝑤2

𝑤3

Prove hidden values respect the gates

Multiple Σ-protocols can be composed with each other using the same challenge

Page 9: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Non-interactive commitment

• Key generation returns commitment key • Commitment algorithm commits to by picking

randomness and computing • Opening consists of which allows recipient to

check that

𝑚 ,𝑟

𝑐Hiding does not reveal

Binding Sender can only open in one way

Page 10: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Pedersen commitments

• Key generation– Pick a group of prime order with random generators and

. Key .• Commitment

– Given pick and compute

• The opening of the commitment is • Exercise

– Argue it is perfectly hiding– Verify it is homomorphic, i.e.,

Page 11: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

ElGamal type commitments

• Key generation– Pick a group of prime order with random generators and

. Key .• Commitment

– Given pick and compute

• The opening of the commitment is • Exercise

– Argue it is perfectly binding– Verify it is homomorphic

Page 12: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Addition gates

• Consider a gate saying • Given commitments

and compute the commitment to as

which by the homomorphic property of the commitment scheme automatically gives a verifiable commitment to

Page 13: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Multiplication gates

• Statement: • Prover’s witness: satisfying

𝑓 , 𝑧1 ,𝑧 2𝑥←Z𝑝𝑎 ,𝑏𝑑 ,𝑠 ,𝑡←Z𝑝

𝑓 =𝑥𝑤1+𝑑Accept if

Page 14: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Σ-protocol for arithmetic circuit

Pedersen commitments• Computational special

soundness• Perfect special honest

verifier zero-knowledge• Communication

– 1 group element per committed value

– 2 group elements and 3 field elements per multiplication gate

– Addition gates for free

ElGamal commitments• Statistical special

soundness• Comp. special honest

verifier zero-knowledge• Communication

– 2 groups elements per committed value

– 4 group elements and 3 field elements per multiplication gate

– Addition gates for free

Page 15: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Σ-protocol for arithmetic circuit over

𝑣

𝑤1 𝑤2

𝑤3

Prove hidden values respect the gates

Communication: O(|C|) commitmentsProver computation: O(|C|) exponentiationsVerifier computation: O(|C|) exponentiations

Page 16: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

How efficient can arguments be?

• Zero-knowledge proofs in general have linear or superlinear communication in witness size– Unless SAT-solving has sublinear complexity

• Zero-knowledge arguments can have sublinear communication– Kilian 1992 gave a sublinear zero-knowledge argument

for NP-complete language• Commit to a probabilistically checkable proof using a hash-tree• Verifier makes queries to probabilistically checkable proof• Answer queries from verifier by revealing paths in hash-tree

Page 17: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Knowledge of opening of commitment to 0

• Assume setup with commitment key • Relation • Question

– If it is the Pedersen commitment scheme it is trivial that there exists an opening of , so what is the purpose of the Σ-protocol?

• Answer– To prove knowledge of the opening

Page 18: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Σ-protocol for commitment to 0

• Relation

• Complete: • Special soundness:

and implies so witness

• SHVZK: Given simulate

𝑧𝑥←Z𝑝

𝑐0𝑟0←Z𝑝𝑧=𝑥𝑟+𝑟 0 Accept if

Page 19: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Batch-proof for commitments containing 0

• Assume setup with commitment key

𝑧𝑥←Z𝑝

𝑐0𝑟0←Z𝑝

𝑧=∑𝑖=0

𝑛

𝑥 𝑖𝑟 𝑖 Accept if

Statement:

Communication: O(1) elementsProver: O(n) multiplicationsVerifier: O(n) exponentiations

Page 20: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Generalized Pedersen commitment

• Commitment key: • Commitment: Pick and compute

• Computationally binding– Cannot find for same

• Perfectly hiding– For all we get random group element

Page 21: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Generalized Pedersen commitment

• Commitment: • Length-reducing

– Single group element even for large vectors

• Homomorphic

• Length-reducing + homomorphic– Parallel verifiable computation on hidden data

Page 22: Efficient Zero-Knowledge Proof Systems Jens Groth University College London.

Cost for N-gate arithmetic circuit

• Standard argument– O(N) elements– O(N) verifier expos– O(N) prover expos– 3 rounds

• Batch argument– O(N) elements– O(N) verifier mults– O(N) prover expos– 7 rounds

𝑣