Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linear-Time Zero-Knowledge Proofs for Arithmetic Circuit Satisfiability Jens Groth University College London Joint work with Jonathan Bootle, Andrea Cerulli,

Similar presentations


Presentation on theme: "Linear-Time Zero-Knowledge Proofs for Arithmetic Circuit Satisfiability Jens Groth University College London Joint work with Jonathan Bootle, Andrea Cerulli,"โ€” Presentation transcript:

1 Linear-Time Zero-Knowledge Proofs for Arithmetic Circuit Satisfiability
Jens Groth University College London Joint work with Jonathan Bootle, Andrea Cerulli, Essam Ghadafi and Mohammad Hajiabadi to appear at Asiacrypt 2017

2 ๏ƒ– Zero-knowledge proof Statement: Witness
๐‘ฅ 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 1,000 votes for Macron 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 Communication (bits)
Proverโ€™s computation (seconds/operations) Verifierโ€™s computation (seconds/operations) Round complexity (number of messages) Security Setup Cryptographic assumptions

8 Arithmetic circuit satisfiability
Circuit with fan-in 2 multiplication and addition gates over a finite field ๐‘ญ Statement specifies circuit and constants Witness consists of wire assignments such that all gates satisfied 5 7 2

9 Zero-knowledge proof for arithmetic circuits
Arithmetic circuit and constants Public coin setup and challenges Satisfying assignment Perfect completeness: Honest prover convinces verifier ๏ƒ– Statistical special honest verifier zero-knowledge: Nothing but truth revealed Computational soundness: Statement is true Prover Verifier

10 Efficiency Arithmetic circuit and constants
Security parameter: ๐œ† Field size: ๐‘ญ = ๐œ† ๐œ” 1 Number of gates: ๐‘= ๐œ† ๐‘‚ 1 Efficiency Arithmetic circuit and constants Prover computation: ๐‘‚(๐‘) multiplications in ๐‘ญ Verifier computation: ๐‘‚(๐‘) additions in ๐‘ญ Communication: poly ๐œ† ๐‘ elements in ๐‘ญ Rounds: ๐‘‚( log log ๐‘)

11 Strategy Reformulate arithmetic circuit satisfiability as set of conditions over matrices of field elements Prove each of the constraints in an ideal linear commitment model Compile the ideal linear commitment model to the standard model using error-correcting codes and collision-resistant hash functions

12 Organize gate inputs and outputs as matrices
Organize left inputs, right inputs and outputs of addition gates into matrices ๐ด,๐ต,๐ถโˆˆ ๐น ๐‘š ๐ด ร—๐‘˜ such that if the gates are satisfied ๐ด+๐ต=๐ถ Organize left inputs, right inputs and outputs of multiplication gates into matrices ๐ท,๐ธ,๐นโˆˆ ๐น ๐‘š ๐‘€ ร—๐‘˜ such that if the gates are satisfied ๐ทโˆ˜๐ธ=๐น where โˆ˜ is the entry-wise product Moreover, sort the gates such that constants appear in full rows of these matrices, e.g., ๐ด= ๐‘Ž 11 ๐‘Ž 12 ๐‘Ž ๐‘Ž 31 ๐‘Ž 32 ๐‘Ž ๐ต= ๐‘ 21 ๐‘ 22 ๐‘ 23 ๐‘ 31 ๐‘ 32 ๐‘ โ€ฆ

13 Arithmetic circuit specification
Public parameters specify ๐‘๐‘=(๐‘ญ,๐‘˜) A statement is given by ๐‘ข= ๐‘š ๐ด , ๐‘š ๐ต ,๐œ‹, ๐’– ๐‘– ๐‘–โˆˆ๐‘† ๐‘† is the set of rows of constants ๐’– ๐‘– ๐œ‹ describes the wiring of the circuit A witness ๐‘ค is a matrix of input and output values ๐‘‰= ๐ด ๐ต ๐ถ ๐ท ๐ธ ๐น = ๐’— โ‹ฎ ๐’— 3 ๐‘š ๐ด +3 ๐‘š ๐ต โˆˆ ๐‘ญ 3 ๐‘š ๐ด +3 ๐‘š ๐‘€ ร—๐‘˜

14 Wiring of the circuit Consider the additions and multiplications ๐‘ฃ 1,1 ๐‘ฃ 1,2 ๐‘ฃ 1,3 ๐‘ฃ 2,1 ๐‘ฃ 2,2 ๐‘ฃ 2,3 ๐‘ฃ 3,1 ๐‘ฃ 3,2 ๐‘ฃ 3, ๐‘ฃ 4,1 ๐‘ฃ 4,2 ๐‘ฃ 4,3 ๐‘ฃ 5,1 ๐‘ฃ 5,2 ๐‘ฃ 5,3 ๐‘ฃ 6,1 ๐‘ฃ 6,2 ๐‘ฃ 6,3 = ๐‘ฃ 7,1 ๐‘ฃ 7,2 ๐‘ฃ 7,3 ๐‘ฃ 8,1 ๐‘ฃ 8,2 ๐‘ฃ 8,3 ๐‘ฃ 9,1 ๐‘ฃ 9,2 ๐‘ฃ 9, ๐‘ฃ 10,1 ๐‘ฃ 10,2 ๐‘ฃ 10,3 ๐‘ฃ 11,1 ๐‘ฃ 11,2 ๐‘ฃ 11,3 โˆ˜ ๐‘ฃ 12,1 ๐‘ฃ 12,2 ๐‘ฃ 12,3 ๐‘ฃ 13,1 ๐‘ฃ 13,2 ๐‘ฃ 13,3 = ๐‘ฃ 14,1 ๐‘ฃ 14,2 ๐‘ฃ 14,3 ๐‘ฃ 15,1 ๐‘ฃ 15,2 ๐‘ฃ 15,3 The wiring is specified by a permutation ๐œ‹โˆˆ ฮฃ 3 ๐‘š ๐ด +3 ๐‘š ๐ต ร— ๐‘˜ with cycles through sets of indices on the same wire. For instance ๐œ‹ 9,2 =(5,2), ๐œ‹ 5,2 = 11,1 , ๐œ‹ 11,1 =(9,2) ๐‘ฃ 5,2 ๐‘ฃ 11,1 ๐‘ฃ 9,2

15 Witness satisfying circuit
For arithmetic circuit specified by ๐‘ข= ๐‘š ๐ด , ๐‘š ๐ต ,๐œ‹, ๐’– ๐‘– ๐‘–โˆˆ๐‘† The witness ๐‘‰= ๐’— ๐’Š ๐‘–=1 3 ๐‘š ๐ด +3 ๐‘š ๐ต satisfies the arithmetic circuit if and only if Constants are correct, ๐’— ๐‘– = ๐’– ๐‘– for all ๐‘–โˆˆ๐‘† Addition gates are satisfied, ๐ด+๐ต=๐ถ Multiplication gates are satisfied, ๐ทโˆ˜๐ธ=๐น Values respect the wiring of the circuit, ๐‘ฃ ๐œ‹ ๐‘–,๐‘— = ๐‘ฃ ๐‘–,๐‘— for all ๐‘–โˆˆ[3 ๐‘š ๐ด +3 ๐‘š ๐ต ] and ๐‘—โˆˆ[๐‘˜]

16 Ideal linear commitment model
๐’— ๐‘– ๐‘–=1 ๐‘š 1 ๐‘š 1 ๐‘ฅ ๐’— ๐‘– ๐‘–= ๐‘š ๐‘š 1 + ๐‘š 2 ๐‘š 2 ๐’’ ๐‘–=1 ๐‘š 1 + ๐‘š 2 ๐‘ž ๐‘– ๐’— ๐‘–

17 Arithmetic circuit satisfiability in the ideal linear commitment model
Statement ๐‘ข=( ๐‘š ๐ด , ๐‘š ๐ต ,๐œ‹, ๐‘ข ๐‘– ๐‘–โˆˆ๐‘† ) ๐‘‰ ๐‘‰ 3 ๐‘š ๐ด +3 ๐‘š ๐ต ๐‘‰โ€ฒ ๐‘šโ€ฒ โ‹ฎ ๐‘„ Proofs ๐‘‰ satisfies ๐ด+๐ต=๐ถ ๐ทโˆ˜๐ธ=๐น ๐’— ๐‘– = ๐’– ๐‘– ๐‘ฃ ๐œ‹ ๐‘–,๐‘— = ๐‘ฃ ๐‘–,๐‘— ๐‘„ ๐‘‰ ๐‘‰โ€ฒ โ‹ฎ

18 Addition proof in ideal linear commitment model
Statement ๐‘ข=( ๐‘š ๐ด , ๐ด , ๐ต ,[๐ถ]) ๐ด,๐ต,๐ถ ๐ด,๐ต,๐ถ 3 ๐‘š ๐ด ๐’’ ๐’“ Verifier picks ๐‘ฅโ†๐‘ญ Sets ๐’™=(๐‘ฅ,โ€ฆ, ๐‘ฅ ๐‘š ๐ด ) and ๐’’= ๐’™,๐’™,โˆ’๐’™ Gets response ๐’“=๐’™๐ด+๐’™๐ตโˆ’๐’™๐ถ Accepts if and only if ๐’“=๐ŸŽ

19 Linear error-correcting code
Encoding function ๐ธ ๐ถ : ๐‘ญ ๐‘˜ โ†’ ๐‘ญ ๐‘› 1,4,0 โ†ฆ 3,1,4,2,0,5 1,4,1 โ†ฆ(3,0,0,2,3,5) โ€ฆ Linear minimum distance (hamming) Linearity ๐ธ ๐ถ ๐’— 1 + ๐›ผ๐ธ ๐ถ ๐’— 2 = ๐ธ ๐ถ ๐’— 1 +๐›ผ ๐’— 2 1,4,0 + 1,4,1 = 2,8,1 โ†ฆ(6,1,4,4,3,10) Linear-time computable Example: Druk-Ishai 2014

20 From ideal to real linear commitments
๐‘‰= ๐‘ฃ 1,1 โ‹ฏ ๐‘ฃ 1,๐‘˜ โ‹ฑ ๐‘ฃ ๐‘š,1 โ‹ฏ ๐‘ฃ ๐‘š,๐‘˜ ๐ธ= ๐‘’ 1,1 โ‹ฏ ๐‘’ 1,๐‘› โ‹ฑ ๐‘’ ๐‘š,1 โ‹ฏ ๐‘’ ๐‘š,๐‘› ๐ธ ๐ถ โ„Ž โ„Ž 1 =โ„Ž ๐ธ 1 ,โ‹ฏ, โ„Ž ๐‘› =โ„Ž( ๐ธ ๐‘› ) ๐‘š, โ„Ž 1 ,โ€ฆ, โ„Ž ๐‘› ๐’’ ๐’’๐‘‰

21 From ideal to real linear commitments
๐‘‰= ๐‘ฃ 1,1 โ‹ฏ ๐‘ฃ 1,๐‘˜ โ‹ฑ ๐‘ฃ ๐‘š,1 โ‹ฏ ๐‘ฃ ๐‘š,๐‘˜ ๐ธ= ๐‘’ 1,1 โ‹ฏ ๐‘’ 1,๐‘› โ‹ฑ ๐‘’ ๐‘š,1 โ‹ฏ ๐‘’ ๐‘š,๐‘› ๐ธ ๐ถ โ„Ž โ„Ž 1 =โ„Ž ๐ธ 1 ,โ‹ฏ, โ„Ž ๐‘› =โ„Ž( ๐ธ ๐‘› ) ๐’’๐‘‰ { ๐‘— 1 ,โ€ฆ, ๐‘— ๐œ† } ๐ธ ๐‘— 1 ,โ€ฆ, ๐ธ ๐‘— ๐œ†

22 From ideal to real linear commitments
๐‘‰= ๐‘ฃ 1,1 โ‹ฏ ๐‘ฃ 1,๐‘˜ โ‹ฑ ๐‘ฃ ๐‘š,1 โ‹ฏ ๐‘ฃ ๐‘š,๐‘˜ ๐ธ= ๐‘’ 1,1 โ‹ฏ ๐‘’ 1,๐‘› โ‹ฑ ๐‘’ ๐‘š,1 โ‹ฏ ๐‘’ ๐‘š,๐‘› ๐ธ ๐ถ ๐’’ ๐’’ ๐ธ ๐ถ ๐’’๐‘‰ ๐‘’ 1 =๐’’ ๐ธ 1 ,โ€ฆ, ๐‘’ ๐‘› =๐’’ ๐ธ ๐‘› Verifier spot checks ๐œ† columns with ๐ธ ๐ถ (๐’’๐‘‰) Code has high minimum distance, so cheating caught ๐‘— ๐‘— โ€ฆ

23 Linear commitments with zero-knowledge
Randomized encoding Exposure resilient ๐‘‰= ๐‘ฃ 1,1 โ‹ฏ ๐‘ฃ 1,๐‘˜ โ‹ฑ ๐‘ฃ ๐‘š,1 โ‹ฏ ๐‘ฃ ๐‘š,๐‘˜ ๐ธ= ๐‘’ 1,1 โ‹ฏ ๐‘’ 1,2๐‘› โ‹ฑ ๐‘’ ๐‘š,1 โ‹ฏ ๐‘’ ๐‘š,2๐‘› ๐ธ ๐ถ โ€ฆ ๐‘ ๐‘— =commit ๐ธ ๐‘— ; ๐‘Ÿ ๐‘— โ€ฆ ๐‘š, ๐‘ 1 ,โ€ฆ, ๐‘ 2๐‘› Commitments can be constructed from hash functions ๐’’ ๐’’๐‘‰

24 Efficiency and security
Arguments Proofs Perfect completeness Computational soundness - assuming binding commits Statistical SHVZK Using [AHIKV17] commits Prover ๐‘‚(๐‘) multiplications Verifier ๐‘‚ ๐‘ additions Communication poly ๐œ† ๐‘ Rounds ๐‘‚( log log ๐‘) Perfect completeness Statistical soundness Computational SHVZK - assuming hiding commits Using [IKOS08] commits Prover ๐‘‚(๐‘) multiplications Verifier ๐‘‚ ๐‘ additions Communication ๐‘‚(๐‘) elements Rounds ๐‘‚( log log ๐‘)


Download ppt "Linear-Time Zero-Knowledge Proofs for Arithmetic Circuit Satisfiability Jens Groth University College London Joint work with Jonathan Bootle, Andrea Cerulli,"

Similar presentations


Ads by Google