Presentation is loading. Please wait.

Presentation is loading. Please wait.

Discrete logarithm based zero-knowledge arguments

Similar presentations


Presentation on theme: "Discrete logarithm based zero-knowledge arguments"โ€” Presentation transcript:

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 ๐œ†


Download ppt "Discrete logarithm based zero-knowledge arguments"

Similar presentations


Ads by Google