Download presentation
Presentation is loading. Please wait.
Published byBeatrix Little Modified over 6 years ago
1
Discrete logarithm based zero-knowledge arguments
Jens Groth University College London Based on joint works with Stephanie Bayer, Jonathan Bootle, Pyrros Chaidos, Andrea Cerulli and Christophe Petit
2
Zero-knowledge argument
Statement: ๐ฅ 1 โง ๐ฅ 2 โงยฌ ๐ฅ 3 โจ( ๐ฅ 2 โง x 4 โง ๐ฅ 5 ) Witness Completeness: Honest prover convinces verifier ๏ Zero-knowledge: Nothing but truth revealed Soundness: Statement is true Prover Verifier
3
Internet voting Encrypts vote to keep it private
Tally without decrypting individual votes Ciphertext Voter Election authorities
4
Is the encrypted vote valid?
Election fraud Encrypts 100 votes for Hwang Kyo-ahn Is the encrypted vote valid? ๋ฒ์!! Ciphertext Voter Election authorities
5
Zero-knowledge proof as solution
Zero-knowledge: Vote is secret Soundness: Vote is valid Ciphertext Zero-knowledge proof for valid vote encrypted Voter Election authorities
6
Cryptography Problems typically arise when attackers deviate from a protocol (active attack) Zero-knowledge proofs prevent deviation and give security against active attacks
7
Parameters Efficiency Security
Goal: efficient argument for NP Security parameter: ๐ Statement size: poly(๐) Communication: ๐(๐ log ๐ ) bits Efficiency Communication (bits) Proverโs computation (seconds/operations) Verifierโs computation (seconds/operations) Round complexity (number of messages) Security Setup Cryptographic assumptions
8
Agenda Sigma-protocols Techniques Goal
Based on the hardness of the discrete logarithm problem Techniques Batching many arguments into one Commitments to vectors for parallel verification Polynomial convolution to get square root complexity Interaction to reduce to logarithmic complexity Goal Arguments with ๐(๐ log ๐) bits communication for NP Security parameter ๐, statements of size poly ๐
9
Sigma-protocol for NP-relation ๐น
Completeness: Honest prover with witness always makes honest verifier accept Sigma-protocol for NP-relation ๐น Statement ๐ขโ ๐ฟ ๐
Witness ๐ค (๐ข,๐ค)โ๐
๐ ๐ฅโ๐ ๐ง ๐ ๐ข,๐,๐ฅ,๐ง โ1/0
10
Special soundness Argument of knowledge: Can extract witness from prover that has non-negligible success probability If the prover can answer two distinct challenges then possible to efficiently compute witness ๐ ๐ฅโ๐ ๐ฅโฒโ๐ ๐ง ๐งโฒ Extract ๐ข,๐,๐ฅ, ๐ฅ โฒ ,๐ง,๐งโฒ โ๐ค
11
Special honest verifier zero-knowledge
Can simulate the honest verifierโs view without the witness ๐ ๐ฅโ๐ ๐ง Simulate ๐ข,๐ฅ โ(๐,๐ง)
12
Fiat-Shamir heuristic
Statement ๐ขโ ๐ฟ ๐
๐ ๐ ๐ฅโ๐ ๐ฅ=Hash(๐ข,๐) ๐ง ๐ง Non-interactive zero-knowledge argument in the random oracle model, where Hash is modelled as random function to ๐
13
Pedersen commitment Key generation Commitment Properties
Pick a group G of prime order ๐ with random generators ๐ and โ. Commitment key ๐๐=(G,๐,๐,โ). Commitment Given ๐โ Z ๐ pick ๐โ Z ๐ and compute ๐ถ= ๐ ๐ โ ๐ The opening of the commitment is (๐,๐) Properties Perfectly hiding Computationally binding under discrete log assumption Homomorphic com ๐;๐ โ
com ๐;๐ =com(๐+๐;๐+๐ ) Argue it is perfectly hiding Verify it is homomorphic, i.e., ๐๐๐๐๐๐ก ๐;๐ โ
๐๐๐๐๐๐ก ๐ โฒ ; ๐ โฒ =๐๐๐๐๐๐ก(๐+ ๐ โฒ ;๐+ ๐ โฒ )
14
Special soundness Answers to two distinct ๐ฅโ ๐ฅ โฒ ๐ด ๐ฅ ๐ต=com ๐;๐ง ๐ด ๐ฅ โฒ ๐ต=com( ๐ โฒ ; ๐ง โฒ )
Implies ๐ด ๐ฅโ ๐ฅ โฒ =com ๐โ ๐ โฒ ;๐งโ ๐ง โฒ Giving ๐ด=com( ๐โ ๐ โฒ ๐ฅโ ๐ฅ โฒ ; ๐งโ ๐ง โฒ ๐ฅโ ๐ฅ โฒ ) Argument of knowledge Relation ๐
= ๐ด,(๐, ๐ ๐ด ) :๐ด=com(๐; ๐ ๐ด ) Sigma-protocol Special honest verifier zero-knowledge Given ๐ฅโ ๐ ๐ โ pick ๐,๐งโ ๐ ๐ and compute ๐ต=com ๐;๐ง ๐ด โ๐ฅ ๐ต=com ๐; ๐ ๐ต ๐ต ๐ฅโ ๐ ๐ โ ๐=๐๐ฅ+๐ ๐ง= ๐ ๐ด ๐ฅ+ ๐ ๐ต Accept if ๐ด ๐ฅ ๐ต=com(๐;๐ง) ๐,๐ง
15
ฮฃ-protocol for arithmetic circuit over ๐ ๐
Prove committed values respect the gates Homomorphic property ๐ค 3 = ๐ค 1 + ๐ค 2 Multiplicative relationship ๐ฃ= ๐ค 2 โ
๐ค 3 ๐ฃ ๐ค 3 Communication: ๐(๐) elements Prover computation: ๐(๐) expos Verifier computation: ๐(๐) expos ๐ค 1 ๐ค 2
16
Special soundness generalization
special soundness ๐-special soundness ๐ง 1 ๐ง 1 ๐ฅ 1 ๐ฅ 1 ๐ ๐ ๐ง 2 ๐ฅ 2 ๐ฅ 2 ๐ง 2 โฎ ๐ฅ ๐ ๐ง ๐ ๐-special soundness Given answers to ๐ distinct challenges it is possible to extract. I.e., we can run an efficient extractor Extract ๐ข,๐, ๐ฅ ๐ , ๐ง ๐ ๐=1 ๐ โ๐ค to get witness for ๐ขโ ๐ฟ ๐
17
Batch argument of knowledge
Given commitments ๐ด 1 ,โฆ, ๐ด ๐ how can we prove we know openings of all of them? ๐ด 0 =com ๐ 0 ; ๐ 0 ๐=โ ๐ ๐ ๐ฅ ๐ ๐ง=โ ๐ ๐ ๐ฅ ๐ ๐ด 0 ๐ฅโ ๐ ๐ โ Accept if โ ๐ด ๐ ๐ฅ ๐ =com(๐;๐ง) ๐,๐ง
18
๐+๐-special soundness Suppose we have accepting answers to ๐ฅ 0 ,โฆ, ๐ฅ ๐ โ ๐ด ๐ ๐ฅ ๐ ๐ =com ๐ ๐ ; ๐ง ๐ Vandermonde matrices are invertible. So for all ๐ there exist vector ๐ฃ such that ( ๐ฃ 0 ,โฆ, ๐ฃ ๐ ) ๐ฅ 0 0 โฏ ๐ฅ 0 ๐ โฎ โฑ โฎ ๐ฅ ๐ 0 โฏ ๐ฅ ๐ ๐ =(0,โฆ,0,1,0,โฆ,0) This means ๐ด ๐ = ๐ ๐ ๐ด ๐ ๐ฅ ๐ ๐ ๐ฃ ๐ =com ๐ ๐ฃ ๐ ๐ ๐ ; ๐ ๐ฃ ๐ ๐ง ๐ Th
19
Generalized Pedersen commitment
Key generation Pick a group G of prime order ๐ with random generators ๐ and ๐ 1 ,โฆ, ๐ ๐ . Commitment key ๐๐= G,๐,๐, {๐ ๐ ๐ ). Commitment Given ๐ 1 ,โฆ, ๐ ๐ โ Z ๐ pick ๐โ Z ๐ and let ๐= ๐ ๐ โ ๐ ๐ ๐ ๐ The opening of the commitment is ( ๐ 1 ,โฆ, ๐ ๐ ,๐) Properties Perfectly hiding Computationally binding under discrete log assumption Homomorphic com ๐ ;๐ โ
com ๐ ;๐ =com( ๐ + ๐ ;๐+๐ ) Argue it is perfectly hiding Verify it is homomorphic, i.e., ๐๐๐๐๐๐ก ๐;๐ โ
๐๐๐๐๐๐ก ๐ โฒ ; ๐ โฒ =๐๐๐๐๐๐ก(๐+ ๐ โฒ ;๐+ ๐ โฒ )
20
Batch argument of knowledge of vectors
Given vector commitments ๐ด 1 ,โฆ, ๐ด ๐ how can we prove we know openings of all ๐=๐๐ values? Let ๐โ๐โโ๐ to get minimal communication of 2 ๐ elements ๐ด 0 =com ๐ 0 ; ๐ 0 ๐=โ ๐ ๐ ๐ฅ ๐ ๐ง=โ ๐ ๐ ๐ฅ ๐ ๐ด 0 ๐ฅโ ๐ ๐ โ Accept if โ ๐ด ๐ ๐ฅ ๐ =com( ๐ ;๐ง) ๐ ,๐ง
21
Batch inner product argument
Given commitments ๐ด 1 , ๐ต 1 ,โฆ, ๐ด ๐ , ๐ต ๐ , ๐ถ 0 we want to give an argument of knowledge that their openings satisfy โ ๐ ๐ โ
๐ ๐ = ๐ 0 As part of the argument, the prover will get a challenge ๐ฅโ ๐ ๐ โ and open โ ๐ด ๐ ๐ฅ ๐ =com โ ๐ ๐ ๐ฅ ๐ โ ๐ต ๐ ๐ฅ โ๐ =com โ ๐ ๐ ๐ฅ โ๐ Observe โ ๐ ๐ ๐ฅ ๐ โ
โ ๐ ๐ ๐ฅ โ๐ =โ ๐ ๐ ๐ฅ ๐
22
Matrix view ๐ 1 ๐ฅ โ1 โฏ ๐ ๐ ๐ฅ โ๐ ๐ 1 โ
๐ 1 โฏ ๐ 1 โ
๐ ๐ ๐ฅ 1โ๐ โฎ โฑ โฎ ๐ ๐ โ
๐ 1 ๐ฅ ๐โ1 โฏ ๐ ๐ โ
๐ ๐ ๐ 1 ๐ฅ 1 โฎ ๐ ๐ ๐ฅ ๐ ๐ 1โ๐ ๐ฅ 1โ๐ โฎ ๐ โ1 ๐ฅ โ1 ๐ ๐โ1 ๐ฅ ๐โ1 โฏ ๐ 1 ๐ฅ ๐ 0 Can compute ๐ 1โ๐ ,โฆ, ๐ ๐โ1 using the Fast Fourier Transform in ๐ ๐๐ log ๐ =๐(๐ log ๐ ) operations
23
Batch inner product argument
Given commitments ๐ด 1 , ๐ต 1 ,โฆ, ๐ด ๐ , ๐ต ๐ , ๐ถ 0 we want to give an argument of knowledge that their openings satisfy โ ๐ ๐ โ
๐ ๐ = ๐ 0 ๐ถ ๐ =com ๐ ๐ ๐ถ 1โ๐ ,โฆ, ๐ถ ๐โ1 Accept if โ ๐ด ๐ ๐ฅ ๐ =com ๐ โ ๐ต ๐ ๐ฅ โ๐ =com ๐ โ ๐ถ ๐ ๐ฅ ๐ =com( ๐ โ
๐ ) ๐ฅโ ๐ ๐ โ ๐ =โ ๐ ๐ ๐ฅ ๐ ๐ =โ ๐ ๐ ๐ฅ โ๐ ๐ , ๐
24
Arithmetic circuit written as inner products
Commit to inputs and outputs of the ๐ multiplication gates, i.e., ๐ ๐ ๐ ๐ = ๐ ๐ Want to show all multiplication gates are respected, which is true if we have a polynomial equality โ๐ ๐ โ
๐ ๐ ๐ฆ ๐ โ โ๐ ๐ โ
๐ฆ ๐ =0 Also want to show all addition gates are respected, or more generally linear constraints are satisfied, i.e., ๐ โ
๐ผ ๐ + ๐ โ
๐ฝ ๐ + ๐ โ
๐พ ๐ = ๐ ๐ Which can also be written as a polynomial equality โ ๐ โ
๐ผ ๐ ๐ฆ ๐ +โ ๐ โ
๐ฝ ๐ ๐ฆ ๐ +โ ๐ โ
๐พ ๐ ๐ฆ ๐ โ ๐ ๐ ๐ฆ ๐ =0
25
Arithmetic product argument
With ๐=๐๐ multiplication gates we make 3๐ commitments, and then use ๐(๐+๐) communication for inner product argument Arithmetic product argument Reduction of arithmetic circuit satisfiability to inner product equation Using homomorphic properties (and something more) we get inner product equations in ๐ฆ for multiplication gates and additive constraints ๐ด 1 , ๐ต 1 , ๐ถ 1 ,โฆ, ๐ด ๐ , ๐ต ๐ , ๐ถ ๐ ๐ฆโ ๐ ๐ โ
26
The square root communication barrier
Given arithmetic circuit with ๐ gates, what is the minimal communication argument? Decompose ๐=๐๐ Commit to wires with ๐ commitments to ๐ values each ๐ถ 1 ,โฆ ๐ฅ Recursion by arguing that we know how to open commitments Seems expensive... Need ๐ values to open a commitment So seems like we have ฮฉ( ๐ ) lower bound ๐ง 1 ,โฆ
27
Changing committed values
Modify committed values by changing the commitment key! Recall a Pedersen commitment is of the form com ๐ =โ ๐ ๐ ๐ ๐ = ๐ ๐ If ๐=๐โ we can write ๐ = ๐ 1 ,โฆ, ๐ ๐ ๐ = ๐ 1 ,โฆ, ๐ ๐ and get com ๐ = ๐ ๐ ๐ ๐ =โ ๐ ๐ ๐ ๐
28
Recursive inner product argument step
Will reduce argument of knowledge of ๐ด 0 =โ ๐ ๐ ๐ ๐ ๐ต 0 =โ โ ๐ ๐ ๐ โ ๐ ๐ โ
๐ ๐ = ๐ 0 to argument of knowledge of ๐ด= ๐ ๐ ๐ต= โ ๐ ๐ โ
๐ =๐ ๐ด 1โ๐ , ๐ต 1โ๐ , ๐ 1โ๐ โฆ ๐ด ๐โ1 , ๐ต ๐โ1 , ๐ ๐โ1 ๐ฅโ ๐ ๐ โ
29
Matrix view ๐ 1 ๐ฅ โ1 โฏ ๐ ๐ ๐ฅ โ๐ โ 1 ๐ 1 โฏ โ 1 ๐ ๐ ๐ฅ 1โ๐ โฎ โฑ โฎ โ ๐ ๐ 1 ๐ฅ ๐โ1 โฏ โ ๐ ๐ ๐ โ 1 ๐ฅ 1 โฎ โ ๐ ๐ฅ ๐ ๐ต 1โ๐ ๐ฅ 1โ๐ โฎ ๐ต โ1 ๐ฅ โ1 ๐ต ๐โ1 ๐ฅ ๐โ1 โฏ ๐ต 1 ๐ฅ ๐ต 0 We have ๐ต=โ ๐ต ๐ ๐ฅ ๐ = โ โ ๐ ๐ฅ ๐ โ ๐ ๐ ๐ฅ โ๐ = โ ๐ Similarly ๐ด=โ ๐ด ๐ ๐ฅ โ๐ = โ ๐ ๐ ๐ฅ โ๐ โ ๐ ๐ ๐ฅ ๐ = ๐ ๐
30
Soundness of recursive step
Like in the previous product argument when ๐ โ
๐ =โ ๐ ๐ ๐ฅ ๐ โ
โ ๐ ๐ ๐ฅ โ๐ =โ ๐ ๐ ๐ฅ ๐ then this means with overwhelming probability โ ๐ ๐ โ
๐ ๐ = ๐ 0 ๐ง 1 ๐ง 1 ๐ฅ 1 ๐ง 2 ๐ ๐ง 2 ๐ ๐ฅ 2 โฎ โฎ โฎ ๐ฅ ๐ ๐ง ๐ ๐ง ๐ ๐โspecial soundness tree-special soundness
31
Efficiency Implementation in Python using Danezisโ petlib library
Previous work Rounds Prover Verifier Comm. Cramer-Damgรฅrd 1997 3 6N expo 11N elem Groth 2009 7 6N/log N expo O(N) mult 16โN elem 2 log N + 5 9โN elem Seo 2011 5 37โN elem This work 4โN elem 2 log N + 1 12N expo 4N expo 6 log N elem Implementation in Python using Danezisโ petlib library
32
Summary Sigma-protocols Techniques Minimal communication arguments
Based on Pedersen commitments Hardness of the discrete logarithm problem Techniques Batching many arguments into one Commitments to vectors for parallel verification Polynomial convolution to get square root complexity Interaction to reduce to logarithmic complexity Minimal communication arguments Arguments with ๐(๐ log ๐) bits communication for NP Security parameter ๐, statements of size poly ๐
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.