Presentation is loading. Please wait.

Presentation is loading. Please wait.

On the Size of Pairing-based Non-interactive Arguments

Similar presentations


Presentation on theme: "On the Size of Pairing-based Non-interactive Arguments"β€” Presentation transcript:

1 On the Size of Pairing-based Non-interactive Arguments
Jens Groth University College London TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAAAAA

2 Non-interactive zero-knowledge argument
Common reference string Statement: πœ™βˆˆ 𝐿 𝑅 πœ™,𝑀 βˆˆπ‘… OK Proof:  Prover Verifier Zero-knowledge: Nothing but truth revealed Soundness: Statement is true

3 Statements Statements are πœ™βˆˆπΏ for a given NP-language 𝐿
π‘₯ 1 ∧ π‘₯ 2 ∧¬ π‘₯ 3 ∨( π‘₯ 2 ∧ x 4 ∧ π‘₯ 5 ) SAT 1 Plaintext is signature on… Hamiltonian Circuit SAT Statements are πœ™βˆˆπΏ for a given NP-language 𝐿 Prover knows witness 𝑀 such that πœ™,𝑀 ∈ 𝑅 𝐿 But wants to keep the witness secret!

4 Applications NIZK arguments guarantee protocol compliance (soundness) Yet they also preserve confidentiality (zero-knowledge)

5 Our contribution NIZK argument Efficiency
Perfect completeness Perfect zero-knowledge Computational soundness Generic group model Efficiency Asymmetric (Type III) pairings 3 group element proofs Low computation zk-SNARK Succinct Non-interactive Argument of Knowledge

6 Our contribution Lower bound
Look at pairing-based non-interactive arguments Not necessarily zero-knowledge A few restrictions on the type of argument Common for all known pairing-based SNARKs NIZK arguments cannot have 1 element proofs For asymmetric (Type III) pairings Open question whether 2 elements is possible

7 Prime order bilinear groups
Gen( 1 π‘˜ ) generates (𝑝, 𝐺 1 , 𝐺 2 , 𝐺 𝑇 ,𝑒,𝑔,β„Ž) 𝐺 1 , 𝐺 2 , 𝐺 𝑇 finite cyclic groups of prime order 𝑝 generated by 𝑔,β„Ž and 𝑒(𝑔,β„Ž) Bilinear map 𝑒 𝑔 π‘Ž , β„Ž 𝑏 =𝑒 𝑔,β„Ž π‘Žπ‘ Generic group operations efficiently computable Deciding group membership, group operations, pairing Symmetric bilinear groups (Type I): 𝐺 1 = 𝐺 2 and 𝑔=β„Ž Asymmetric bilinear groups (Type III): No efficiently computable isomorphism between 𝐺 1 and 𝐺 2

8 Additive notation Given bilinear group (𝑝, 𝐺 1 , 𝐺 2 , 𝐺 𝑇 ,𝑒,𝑔,β„Ž) define π‘Ž 1 = 𝑔 π‘Ž 𝑏 2 = β„Ž 𝑏 𝑐 𝑇 =𝑒 𝑔,β„Ž 𝑐 and use additive notation for group operations π‘Ž βˆ— + 𝑏 βˆ— = π‘Ž+𝑏 βˆ— π‘Ž 𝑏 βˆ— = π‘Žπ‘ βˆ— The generators can now be written , , 1 𝑇 Define dot products using linear algebra notation π‘Ž βˆ— β‹… 𝑏 = π‘Ž β‹… 𝑏 βˆ— π‘Ž 1 β‹… 𝑏 2 = π‘Ž β‹… 𝑏 𝑇 And for matrix multiplication 𝑀 π‘Ž βˆ— = 𝑀 π‘Ž βˆ— In general in this talk scalars and computation in 𝑭 𝑝

9 SNARK preview Common reference string 𝜎=( 𝜎 1 1 , 𝜎 2 2 )
Efficiency Proof size: 2 𝐺 1 , 1 𝐺 2 Prover: π‘š+3𝑛 𝐸 1 ,𝑛 𝐸 2 Verifier: β„“ 𝐸 1 +3𝑃 SNARK preview Common reference string 𝜎=( 𝜎 , 𝜎 ) 𝜎 1 = 𝛼,𝛽,𝛿, π‘₯ 𝑖 , π‘₯ 𝑖 𝑑 π‘₯ 𝛿 , 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛾 𝑖≀ℓ , 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛿 𝑖>β„“ 𝜎 2 = 𝛽,𝛾,𝛿, π‘₯ 𝑖 Prover creates πœ‹=( 𝐴 1 , 𝐢 1 , 𝐡 2 ) 𝐴=𝛼+βˆ‘ π‘Ž 𝑖 𝑒 𝑖 π‘₯ +π‘Ÿπ›Ώ 𝐡=𝛽+βˆ‘ π‘Ž 𝑖 𝑣 𝑖 (π‘₯)+𝑠𝛿 𝐢= 𝑖>β„“ π‘Ž 𝑖 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛿 + β„Ž π‘₯ 𝑑(π‘₯) 𝛿 +𝐴𝑠+π‘Ÿπ΅βˆ’π‘Ÿπ‘ π›Ώ Verifier accepts if 𝐴 1 β‹… 𝐡 2 = 𝛼 1 β‹… 𝛽 2 + 𝑖=0 β„“ π‘Ž 𝑖 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛾 1 β‹… 𝛾 𝐢 1 β‹… 𝛿 2

10 Write as quadratic equation over 𝑭 𝑝 π‘Ž 1 + π‘Ž 3 β‹… π‘Ž 3 = π‘Ž 2
In general arithmetic circuit can be written as a set of equations of the form βˆ‘ π‘Ž 𝑖 𝑒 𝑖 β‹…βˆ‘ π‘Ž 𝑖 𝑣 𝑖 =βˆ‘ π‘Ž 𝑖 𝑀 𝑖 over variables π‘Ž 1 ,…, π‘Ž π‘š and by convention π‘Ž 0 =1 Arithmetic circuit defines an NP-language with statements ( π‘Ž 1 ,…, π‘Ž β„“ ) and witnesses ( π‘Ž β„“+1 ,…, π‘Ž π‘š ) Arithmetic circuit π‘Ž 2 π‘Ž 1 π‘Ž 3

11 Rewriting the circuit as polynomial equations
Consider an equation βˆ‘ π‘Ž 𝑖 𝑒 𝑖 β‹…βˆ‘ π‘Ž 𝑖 𝑣 𝑖 =βˆ‘ π‘Ž 𝑖 𝑀 𝑖 Let 𝑒 𝑖 π‘₯ , 𝑣 𝑖 π‘₯ , 𝑀 𝑖 (π‘₯) be polynomials such that 𝑒 𝑖 π‘Ÿ = 𝑒 𝑖 𝑣 𝑖 π‘Ÿ = 𝑣 𝑖 𝑀 𝑖 π‘Ÿ = 𝑀 𝑖 Then equation satisfied if βˆ‘ π‘Ž 𝑖 𝑒 𝑖 π‘₯ β‹…βˆ‘ π‘Ž 𝑖 𝑣 𝑖 π‘₯ β‰‘βˆ‘ π‘Ž 𝑖 𝑀 𝑖 π‘₯ mod (π‘₯βˆ’π‘Ÿ) Pick degree π‘›βˆ’1 polynomials 𝑒 𝑖 π‘₯ , 𝑣 𝑖 π‘₯ , 𝑀 𝑖 (π‘₯) such that this holds for all equations, using distinct π‘Ÿ 1 ,…, π‘Ÿ 𝑛 for the 𝑛 equations in the circuit Values π‘Ž 0 ,…, π‘Ž π‘š satisfy all equations if βˆ‘ π‘Ž 𝑖 𝑒 𝑖 π‘₯ β‹…βˆ‘ π‘Ž 𝑖 𝑣 𝑖 π‘₯ β‰‘βˆ‘ π‘Ž 𝑖 𝑀 𝑖 π‘₯ mod ∏(π‘₯βˆ’ π‘Ÿ 𝑗 )

12 Quadratic arithmetic program
A quadratic arithmetic program over 𝒁 𝑝 consists of polynomials 𝑒 𝑖 π‘₯ , 𝑣 𝑖 π‘₯ , 𝑀 𝑖 π‘₯ ,𝑑 π‘₯ ∈ 𝒁 𝑝 π‘₯ It defines an NP-relation with Constant π‘Ž 0 =1 Statements ( π‘Ž 1 ,…, π‘Ž β„“ ) Witnesses ( π‘Ž β„“+1 ,…, π‘Ž π‘š ) Satisfying for some polynomial β„Ž(π‘₯) that βˆ‘ π‘Ž 𝑖 𝑒 𝑖 π‘₯ β‹…βˆ‘ π‘Ž 𝑖 𝑣 𝑖 π‘₯ =βˆ‘ π‘Ž 𝑖 𝑀 𝑖 π‘₯ +β„Ž(π‘₯)𝑑(π‘₯)

13 SNARK for QAPs Common reference string 𝜎=( 𝜎 1 1 , 𝜎 2 2 )
Zero-knowledge Simulator given 𝜏=(𝛼,𝛽,𝛾,𝛿,π‘₯) Pick random 𝐴,𝐡← 𝒁 𝑝 Compute 𝐢= π΄π΅βˆ’π›Όπ›½βˆ’ 𝑖≀ℓ π‘Ž 𝑖 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛿 Return simulated proof πœ‹=( 𝐴 1 , 𝐢 1 , 𝐡 2 ) SNARK for QAPs Common reference string 𝜎=( 𝜎 , 𝜎 ) 𝜎 1 = 𝛼,𝛽,𝛿, π‘₯ 𝑖 , π‘₯ 𝑖 𝑑 π‘₯ 𝛿 , 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛾 𝑖≀ℓ , 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛿 𝑖>β„“ 𝜎 2 = 𝛽,𝛾,𝛿, π‘₯ 𝑖 Prover creates πœ‹=( 𝐴 1 , 𝐢 1 , 𝐡 2 ) 𝐴=𝛼+βˆ‘ π‘Ž 𝑖 𝑒 𝑖 π‘₯ +π‘Ÿπ›Ώ 𝐡=𝛽+βˆ‘ π‘Ž 𝑖 𝑣 𝑖 (π‘₯)+𝑠𝛿 𝐢= 𝑖>β„“ π‘Ž 𝑖 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛿 + β„Ž π‘₯ 𝑑(π‘₯) 𝛿 +𝐴𝑠+π‘Ÿπ΅βˆ’π‘Ÿπ‘ π›Ώ Verifier accepts if 𝐴 1 β‹… 𝐡 2 = 𝛼 1 β‹… 𝛽 2 + 𝑖=0 β„“ π‘Ž 𝑖 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛾 1 β‹… 𝛾 𝐢 1 β‹… 𝛿 2 Completeness Proof of form 𝐴,𝐢 1 = Ξ  𝜎 𝐡 2 = Ξ  𝜎 computable from witness ( π‘Ž β„“+1 ,…, π‘Ž π‘š ) satisfies verification

14 Generic group model Captures attacks using generic group operations
Necessary for security Not necessarily sufficient for security [Fischlin00,Dent02] In practice GGM holds up well Modelled by random bijections β‹… 𝑖 : 𝒁 𝑝 β†’ 𝐺 𝑖 𝜎 , 𝜎 π‘Ž 𝑏 1 ?  π‘Ž+𝑏 1

15 Knowledge soundness Theorem Proof outline
Disclosure-free For any linear equality test of group elements in CRS either Very likely true Very likely false So answers are trivial and adversary learns nothing Theorem In the generic group model adversary can only construct valid proof if she knows witness Proof outline Generic group adversary must pick (πœ™, 𝐴 1 , 𝐢 1 , 𝐡 2 ) where 𝐴 1 , 𝐢 1 linear combinations of elements in 𝜎 and 𝐡 2 linear combination of elements in 𝜎 Adversary cannot learn non-trivial information about common reference string using generic group operations, so linear combinations chosen independently of 𝜎 1 , 𝜎 2 Careful analysis show independently chosen linear combinations are unlikely to satisfy verification equation over the random 𝛼, 𝛽,𝛾,𝛿,π‘₯∈ 𝒁 𝑝 used to construct 𝜎 1 , 𝜎 2

16 Analysis Common reference string 𝜎=( 𝜎 1 1 , 𝜎 2 2 )
𝜎 1 = 𝛼,𝛽,𝛿, π‘₯ 𝑖 , π‘₯ 𝑖 𝑑 π‘₯ 𝛿 , 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛾 𝑖≀ℓ , 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛿 𝑖>β„“ 𝜎 2 = 𝛽,𝛾,𝛿, π‘₯ 𝑖 Adversary can choose linear combinations 𝐴 1 = π‘Ž β‹… 𝜎 𝐢 2 = 𝑐 β‹… 𝜎 𝐡 2 = 𝑏 β‹… 𝜎 with π‘Ž , 𝑏 , 𝑐 chosen independently of 𝛼,𝛽,𝛾,𝛿,π‘₯ The verification equation is a polynomial identity in 𝛼,𝛽,𝛾,𝛿,π‘₯ π‘Ž β‹… 𝜎 𝑏 β‹… 𝜎 2 =𝛼𝛽+ 𝑖=0 β„“ π‘Ž 𝑖 (𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ ) +( 𝑐 β‹… 𝜎 1 )𝛿 Coefficient analysis End up with proof, where 𝐴,𝐡,𝐢 are constructed exactly like a real proof, except 𝐴,𝐡 may be in randomized form 𝐴 π‘Ÿ , 𝐡 1 π‘Ÿ . The witness π‘Ž β„“+1 ,…, π‘Ž π‘š can now be read directly from the coefficients in 𝑐 Coefficient analysis Look at coefficients of 𝛿 2 π‘Ž 𝛿 β‹… 𝑏 𝛿 = 𝑐 𝛿 Look at coefficients of 𝛼𝛽 π‘Ž 𝛼 β‹… 𝑏 𝛽 =1 Etc., etc., ...

17 Efficiency Circuits with π‘š wires, 𝑛 gates, statement size β„“ (β„“β‰ͺ𝑛<π‘š)
Arithmetic circuits Proof size Prover Verifier Equations [PGHR13] (symmetric) 8 𝐺 7π‘š+𝑛 𝐸 β„“ 𝐸, 11 𝑃 5 This work (symmetric) 3 𝐺 π‘š+3𝑛 𝐸 β„“ 𝐸, 3 𝑃 1 [BCTV14] 7 𝐺 1 , 1 𝐺 2 6π‘š+𝑛 𝐸 1 , π‘š 𝐸 2 β„“ 𝐸 1 , 12 𝑃 This work 2 𝐺 1 , 1 𝐺 2 π‘š+3𝑛 𝐸 1 , 𝑛 𝐸 2 β„“ 𝐸 1 , 3 𝑃 Boolean circuits [DFGK14] 3 𝐺 1 , 1 𝐺 2 π‘š+𝑛 𝐸 1 β„“ 𝑀 1 , 6 𝑃 3 𝑛 𝐸 1 β„“ 𝑀 1 , 3 𝑃 Circuits with π‘š wires, 𝑛 gates, statement size β„“ (β„“β‰ͺ𝑛<π‘š) Group element 𝐺, exponentiation 𝐸, pairing 𝑃, multiplication 𝑀 Efficiency gain 1. Generic group model instead of knowledge of exponent assumption 2. Carefully crafted verification equations

18 Libsnark implementation
Take any C program P with output y Statement: There exists x such that P(x)=y Generate NIZK proof that output y is correct Proof size: 200B Speedup: factor 4-5 Performance gain for two reasons Libsnark has short CRS. Uses recursive construction of SNARKs. This gives two sources of improvement 1) Faster computation 2) Smaller proofs, which means less work in recursion

19 } } } } Fully succinct SNARKs πœ‹ 1 πœ‹ 2 πœ‹ πœ‹ 3
SNARKs for correct execution of part of trace SNARKs that there are SNARKs for correct execution SNARKs that there are SNARKs that there are SNARKs for correct execution Execution } πœ‹ 1 } } πœ‹ 2 πœ‹ } πœ‹ 3 Small CRS SNARKs for small statements Short common reference string

20 PCD-friendly elliptic curves in libsnark
SNARKs work over elliptic curve groups with pairings, i.e., 𝐺 1 =𝐸 𝑭 π‘ž of size #𝐸( 𝑭 π‘ž )=𝑝 Verifying the SNARK requires operations over 𝑭 π‘ž Writing verification as an 𝑭 𝑝 -arithmetic circuit requires expensive modulus switching from π‘ž to 𝑝 Solution is to use two friendly curves #𝐸( 𝑭 π‘ž )=𝑝 #𝐸′( 𝑭 𝑝 )=π‘ž SNARKs over ( 𝐺 1 , 𝐺 2 , 𝐺 𝑇 ,𝑒) about SNARKs over ( 𝐺 1 β€² , 𝐺 2 β€² , 𝐺 𝑇 β€² , 𝑒 β€² ) and vice versa 𝐴 1 β‹… 𝐡 2 = 𝛼 1 β‹… 𝛽 2 + 𝑖=0 β„“ π‘Ž 𝑖 𝛽 𝑒 𝑖 π‘₯ +𝛼 𝑣 𝑖 π‘₯ + 𝑀 𝑖 π‘₯ 𝛾 1 β‹… 𝛾 𝐢 1 β‹… 𝛿 2

21 Pairing-based SNARK NP-relation 𝑅 with statements πœ™ and witnesses 𝑀
Common reference string Generate 𝜎 1 , 𝜎 2 ,𝜏 ←Setup 𝑅 Let common reference be (𝑅, 𝜎 , 𝜎 ) Proof Ξ  1 , Ξ  2 ←ProofMatrix(𝑅,πœ™,𝑀) πœ‹= πœ‹ , πœ‹ =( Ξ  𝜎 , Ξ  𝜎 ) Verification 𝑇 1 ,…, 𝑇 πœ‚ ←Test(𝑅,πœ™) Accept the proof πœ‹ if and only if for all 𝑇 1 ,…, 𝑇 πœ‚ 𝜎 πœ‹ β‹… 𝑇 𝑖 𝜎 πœ‹ = 0 𝑇 Generic group operations

22 Lower bound Consider relation with hard decisional problem Theorem
πœ™,𝑀 ←Yes(𝑅) samples πœ™,𝑀 βˆˆπ‘… πœ™β†No(𝑅) samples πœ™βˆ‰ 𝐿 𝑅 Hard to distinguish if πœ™ sampled by Yes or No Theorem Pairing-based SNARKs in Type III bilinear groups for relations with hard decisional problems have at least 2 group elements in the proofs Intuitively because single element proofs give linear verification equations Can generalize to rule out any linear verification tests with proof elements in 𝐺 1 , 𝐺 2 and 𝐺 𝑇

23 Single element impossible
Consider wlog πœ‹= πœ‹ 𝑇 𝜎 2 and for simplicity single verification equation 𝜎 1 ⋅𝐴 𝜎 2 = 𝜎 1 β‹… 𝑏 πœ‹ Construct 𝐴(𝑅,πœ™) that decides if πœ™βˆˆ 𝐿 𝑅 or πœ™βˆ‰ 𝐿 𝑅 πœ™ 1 , 𝑀 1 ,…, πœ™ 𝑁 , 𝑀 𝑁 ←Yes(𝑅) πœ‹ 𝑖 ←ProofMatrix(𝑅, πœ™ 𝑖 , 𝑀 𝑖 ) ( 𝐴 𝑖 , 𝑏 𝑖 )←Test(𝑅, πœ™ 𝑖 ) Define vector space 𝑉 generated by 𝐴 1 , 𝑏 1 πœ‹ 1 𝑇 ,…, 𝐴 𝑁 , 𝑏 𝑁 πœ‹ 𝑁 𝑇 𝐴, 𝑏 ←Test(𝑅,πœ™) Try to solve for πœ‹ such that 𝐴, 𝑏 πœ‹ 𝑇 βˆˆπ‘‰ If solution found return Yes else return No If πœ™,𝑀 ←Yes 𝑅 and 𝑁 large enough, probably 𝐴, 𝑏 πœ‹ 𝑇 βˆˆπ‘‰ By completeness 𝜎 1 β‹… 𝐴 𝑖 𝜎 2 = 𝜎 1 β‹… 𝑏 πœ‹ 𝑖 𝑇 𝜎 2

24 Summary NIZK argument for arithmetic circuit satisfiability
Perfect completeness Perfect zero-knowledge Computational knowledge soundness Proof in generic group model Proof size of 3 group elements Computationally efficient Lower bound Pairing-based non-interactive arguments using Type III pairings must have at least 2 group elements


Download ppt "On the Size of Pairing-based Non-interactive Arguments"

Similar presentations


Ads by Google