Download presentation
Presentation is loading. Please wait.
Published byΞΟ ΟΞΟΟΞ· ΞΞ·ΟΟΞΏΟΞ¬ΞΊΞ·Ο Modified over 5 years ago
1
Jens Groth and Mary Maller University College London
Snarky Signatures: Minimal Signatures of Knowledge from Simulation-Extractable SNARKs Jens Groth and Mary Maller University College London TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAAAAA
2
Digital signature ππ,π π β π
key Public key ππ OK Message π Signature π
sEUF-CMA security: Adversary sees signatures π π on adaptively chosen messages π π , cannot forge valid message-signature pair (π,π) except by copying earlier pair ( π π , π π ) Signer Verifier
3
Schnorr signatures ππ,π π β π
key Public key ππ Message π Signature π
Here is a proof that I know the secret key π π associated with ππ and I want to sign message π Knowledges soundness: Really knows π π Zero-knowledge: Does not disclose enough about π π to enable others to sign messages Signer Verifier
4
Signatures of knowledge
π,π€ β π
NP Instance πβ πΏ π
Message π Signature π Signer Verifier Here is a proof that I know a witness π€ for πβ πΏ π
and I want to sign message π
5
Signature of knowledge algorithms
Relation generator πΉ 1 π βπ
Security parameter π NP-relations π
of pairs (π,π€) Setup π
: Generate public parameters ππ Sign(ππ,π,π€,π): Given π,π€ βπ
return signature of knowledge π on π Vfy ππ,π,π,π : Return 1 (accept) or 0 (reject)
6
Correctness π,π€ βπ
Instance π OK Message π Signature π
For all πβπ΅,π
βπΉ 1 π , π,π€ βπ
,πβ 0,1 β Pr ππβSetup π
;πβSign ππ,π,π€,π :Vfy ππ,π,π,π =1 =1
7
What you prove Standard signatures Signatures of knowledge
Public key ππ Secret key π π Example ππ= πΊ,π π π=π₯ such that π= πΊ π₯ π₯ 1 β§ π₯ 2 β§Β¬ π₯ 3 β¨( π₯ 2 β§ x 4 β§ π₯ 5 ) SAT 1 Hamiltonian cycle Circuit SAT Randomly chosen keys ππ,π π βKeyGen 1 π Often used repeatedly Arbitrary statements Two instances π,πβ² may be related, say, π€ β² =π€+1
8
Simulatability Damned, I did not learn the witness π,π€ βπ
Instance π
Message π Signature π For all πβπ,π
βπΉ 1 π and all adversaries π΄ selecting π,π€ βπ
Prβ‘[ ππ,π βSimSetup π
; π,π€,π βπ΄ ππ ;πβSimSign π,π,π :π΄ π =1] = Pr ππβSetup π
; π,π€,π βπ΄ ππ ;πβSign ππ,π,π€,π :π΄ π =1
9
I donβt know π€, but maybe I can cheat
Simulation-extractability Non-black-box extractor because we want succinctness! I donβt know π€, but maybe I can cheat Instance π Message π Signature π For all PPT adversaries π΄ there is a PPT extractor π π΄ s.t. Pr π
βπΉ 1 π ; ππ,π βSimSetup π
; π,π,π β π΄ SimSign π,β
,β
ππ ; π€β π π΄ tran script π΄ :Vfy ππ,π,π,π =1 β§ π,π,π βπβ§ π,π€ βπ
β0
10
Non-interactive zero-knowledge argument
π,π€ βπ
Common reference string OK Instance π Proof ο° Prover Verifier Zero-knowledge: Nothing but truth revealed Soundness: Statement is true
11
NIZK argument algorithms
Relation generator πΉ 1 π βπ
Security parameter π NP-relations π
of pairs (π,π€) Setup π
: Generate common reference string πππ Prove(πππ ,π,π€): Given π,π€ βπ
return proof π Vfy πππ ,π,π : Return 1 (accept) or 0 (reject)
12
Completeness π,π€ βπ
OK Common reference string Instance π Proof π
For all πβπ΅,π
βπΉ 1 π , π,π€ βπ
Pr πππ βSetup π
;πβProve πππ ,π,π€ :Vfy πππ ,π,π =1 =1
13
Zero-knowledge Damned, I did not learn the witness π,π€ βπ
Common reference string Instance π Proof π For all πβπ,π
βπΉ 1 π and all adversaries π΄ selecting π,π€ βπ
Prβ‘[ πππ ,π βSimSetup π
; π,π€ βπ΄(πππ );πβSimProve π,π :π΄ π =1] = Pr πππ βSetup π
; π,π€ βπ΄ πππ ;πβProve πππ ,π,π€ :π΄ π =1
14
I donβt know π€, but maybe I can cheat
Simulation-extractability I donβt know π€, but maybe I can cheat Common reference string Instance π Proof π For all PPT adversaries π΄ there is a PPT extractor π π΄ s.t. Pr π
βπΉ 1 π ; πππ ,π βSimSetup π
; π,π β π΄ SimProve π,β
πππ ; π€β π π΄ tran script π΄ :Vfy πππ ,π,π =0 or π,π βπ or π,π€ βπ
β1
15
Signatures of knowledge imply simulation-extractable NIZK arguments
Completeness follows from correctness Zero-knowledge follows from simulatability Simulation-extractability follows from simulation-extractability ZSetup π
Return πππ =ππβSSetup(π
) ZProve(πππ ,π,π€) Set π=0 Return π=πβSSign(πππ ,π,π€,π) ZVfy πππ ,π,π Return SVfy πππ ,π,π,π
16
Simulation-extractable NIZK arguments and CRHFs imply signatures of knowledge
Hash-function π» πΎ : 0,1 β β 0,1 π Define π
β² = π β² ,π€ : π β² = β,π ββ 0,1 π π,π€ βπ
Correctness from completeness Simulatability from zero-knowledge Simulation-extractability from collision-resistance and simulation-extractability SSetup π
Pick hash-function key πΎβ 0,1 β(π) Run πππ βZSetup(π
) Return ππ=(πΎ,πππ ) SSign(ππ,π,π€,π) Set π β² = π» πΎ π ,π Return π=πβZProve(πππ ,πβ²,π€) SVfy πππ ,π,π,π Return ZVfy πππ ,πβ²,π
17
Our contribution SE-NIZK argument Efficiency
Perfect completeness Perfect zero-knowledge Simulation-extractable XPKE and Poly assumptions Efficiency Asymmetric (Type III) pairings 3 group element proofs Low computation SE-SNARK Simulation-extractable Succinct Non-interactive Argument of Knowledge
18
Example corresponds to quadratic equation π 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 instances ( π 1 ,β¦, π β ) and witnesses ( π β+1 ,β¦, π π ) Arithmetic circuit π 2 π 4 π 1 π 3
19
Set of squaring constraints
Go from π equations over π variables up to 2π equations over π+π variables Consider a set of quadratic equations β π π π’ π β
β π π π£ π =β π π π€ π over a field π π with constants π’ π , π£ π , π€ π and variables π 0 =1,π= π 1 ,β¦, π β ,π€=( π β+1 ,β¦, π π ) We can use the equality π+π 2 = πβπ 2 +4ππ to rewrite them as a set of squaring equations β π π ( π’ π + π£ π ) 2 = π β² +4β π π π€ π β π π ( π’ π β π£ π ) 2 =π β²
20
Polynomial rewriting Consider π squaring equations over π variables β π π π’ ππ 2 =β π π π€ ππ π=1,β¦,π Pick distinct π 1 ,β¦, π π β π π Let π’ 0 π ,β¦, π’ π π and π€ 0 π ,β¦, π€ π (π) be degree πβ1 polynomials such that π’ π π π = π’ ππ π€ π π π = π€ ππ Key observation β π π π’ π π π 2 =β π π π€ π π π π=1,β¦,π Define π‘ π =β πβ π π Key observation can be rewritten as β π π π’ π π 2 =β π π π€ π π mod π‘(π)
21
Square arithmetic programs
Square arithmetic program described by Prime π, integers 1β€ββ€π and 1β€π Degree π polys π’ 0 π ,β¦, π’ π π , π€ 0 π ,β¦, π€ π π ,π‘(π) Square arithmetic program relation π
= π,π€ π 0 =1 , π= π 1 ,β¦, π β β π π β π€= π β+1 ,β¦, π π β π π πββ+1 β π π π’ π π 2 =β π π π€ π π mod π‘ π
22
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 multiplications, pairing Asymmetric bilinear groups (Type III): No efficiently computable isomorphism between πΊ 1 and πΊ 2
23
SE-SNARK CRS size: π+2π πΊ 1 ,π πΊ 2 Proof size: 2 πΊ 1 , 1 πΊ 2
Prover: π+2πββ πΈ 1 ,π πΈ 2 Verifier: β πΈ 1 , 5 π SE-SNARK Setup π
βπππ πΊβ πΊ 1 β ,π»β πΊ 2 β ,πΌ,π½,πΎ,π₯β π π β such that π‘ π₯ β 0 πππ = π
, πΊ πΌ , πΊ π½ , πΊ πΎπ‘ π₯ , πΊ πΎπ‘ π₯ 2 , πΊ πΌ+π½ πΎπ‘ π₯ , πΊ πΎ π₯ π , π» πΎ π₯ π , πΊ πΎ 2 π‘ π₯ π₯ π π=1 πβ1 πΊ πΎ π€ π π₯ + πΌ+π½ π’ π π₯ π=0 β , πΊ πΎ 2 π€ π π₯ + πΌ+π½ πΎ π’ π π₯ π=β+1 π ,π», π» π½ , π» πΎπ‘ π₯ Prove πππ ,π,π€ βπ=(π΄,π΅,πΆ) πβ π π π΄= πΊ πΎ β π π π’ π π₯ +ππ‘ π₯ π΅= π» πΎ β π π π’ π π₯ +ππ‘ π₯ πΆ= πΊ π>β π π ( πΎ 2 π€ π π₯ + πΌ+π½ πΎ π’ π (π₯) + π 2 πΎ 2 π‘ π₯ 2 +π πΌ+π½ πΎπ‘ π₯ β π₯ +2πβ π π π’ π π₯ Vfy πππ ,π,π β0/1 Return 1 if and only if π π΄, π» πΎ =π( πΊ πΎ ,π΅) and π π΄ πΊ πΌ ,π΅ π» π½ =π πΊ πΌ , π» π½ π πΊ πβ€β π π πΎ π€ π π₯ + πΌ+π½ π’ π π₯ , π» πΎ π(πΆ,π»)
24
Assumptions Computational Polynomial Assumption
See paper Extended Power Knowledge of Exponent Assump. For all PPT π΄ there is PPT π π΄ s.t. Pr ππ= π, πΊ 1 , πΊ 2 , πΊ π ,π,πΊ,π» βGen 1 π ;πβ π π π πΊ π , π» π β π΄ π πΊ,π 1 β
, π π»,π 2 β
ππ ;πΌβ π π΄ (transcrip t π΄ ) π=π πππ πβ β π π β π (π) : β0 where on π-variate polynomials π π or β π π πΊ,π 1 π π π returns πΊ π π π and π π»,π 2 β π π returns π» β π π
25
Efficiency Lower bounds
Construction Proof size Prover Verifier Eq. [BCTV14] (zk-SNARK) 7 πΊ 1 , 1 πΊ 2 6π+π πΈ 1 , π πΈ 2 β πΈ 1 , 12 π 5 [Groth16] (zk-SNARK) 2 πΊ 1 , 1 πΊ 2 π+3π πΈ 1 , π πΈ 2 β πΈ 1 , 3 π 1 This work (SE-SNARK) π+4π πΈ 1 , 2π πΈ 2 β πΈ 1 , 5 π 2 Arithmetic circuits with π wires, π gates, instance size β (ββͺπ<π) Group element πΊ, exponentiation πΈ, pairing π Lower bounds [Groth16]: Pairing based zk-SNARKs cannot have 1 group element proofs This work: Pairing based SE-SNARKs cannot have 2 group element proofs or just 1 verification equation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.