Anca Nitulescu, Dario Fiore
in the Presence of Oracles
On the (In)security of SNARKs
École Normale Supérieure, CNRS and INRIA, Paris, France
On the (In)security of SNARK s in the Presence of Oracles Anca - - PowerPoint PPT Presentation
On the (In)security of SNARK s in the Presence of Oracles Anca Nitulescu, Dario Fiore cole Normale Suprieure, CNRS and INRIA, Paris, France Delegate NP computation m Delegate NP computation m Proof ? Arguments of knowledge Succinct
Anca Nitulescu, Dario Fiore
École Normale Supérieure, CNRS and INRIA, Paris, France
Delegate NP computation
m
m
Delegate NP computation Proof ?
Arguments of knowledge
SECURITY: PROOF OF KNOWLEDGE crs, aux crs, aux
extractor
SNARK
crs, aux crs, aux Adversary
Starting Point
Study of O-SNARKs
(m, σ) sk
Case Study Application
Proving Knowledge of Signatures m
(m, σ) (m, σ) {(m, σ)}
Case Study Application
Proving Knowledge of Signatures
∃ (m, σ) Vfy(m,σ)=1 P(m)=1 SNARK SNARK
Case Study Application
Proving Knowledge of Signatures
P(m)=1 Ver(m, σ)=1 (m, σ) SNARK
Case Study Application
Proving Knowledge of Signatures
SNARK
Case Study Application
Proving Knowledge of Signatures
(m, σ) m π
KeyGen(λ): (sk, vk) Sign(sk, m): σ Vfy(vk, m, σ): 0 / 1 Gen(λ): crs Prove(crs, y, (m, σ)): π Ver(vk, y, π): 0 / 1
Unforgeability of Σ Proof of knowledge of Π
∃ (m, σ) Vfy(vk,m,σ)=1 P(m)=1
R
P(m*)=0 / Vfy(m*, σ*)=0
Type I
(m*, σ*) SNARK (m*, σ*)
π
P(m*)=1 Vfy(m*, σ*)=1 (m*, σ*)
Type II
SNARK (m*, σ*) SNARK (m*, σ*)
π
SNARK Oracle
cheating prover
vk crs, vk crs, aux crs←$
vk
m
crs, aux
vk
m,σ
crs, aux m
vk
crs, aux
m,σ
(m, σ)
m*, σ*
(m*, σ*) P(m*)=1
m*, σ* extractor
(m*, σ*) P(m*)=1
crs, aux crs, aux
(m*, σ*) P(m*)=1
m*,σ*
Standard Proof of Knowledge
Extraction with Oracles ?
crs, aux crs, aux
(m*, σ*) P(m*)=1
Extraction?
crs, aux crs, aux
(m*, σ*) P(m*)=1
Extraction?
crs, aux
crs, aux
sk
crs, aux sk sk ?
crs, aux sk
PROTOCOLS: Tool to prove knowledge -> SNARK Main problem -> Security proofs with ORACLEs
SOLUTION: New security notion -> O-SNARK Proof of knowledge -> Extraction with ORACLEs
Σp STUDY: Impossibility -> Extraction is NOT feasible for all ORACLEs
Σp Good news: O-SNARKs exist!
crs, aux crs, aux qt
KeyGen(λ): (sk, vk) Sign(sk, m): σ =Σ(m) Vfy(vk, m, σ): 0 / 1 Gen(λ): crs Prove(crs, (h, x), w): π Ver(vk, (h, x), π): 0 / 1 Signature Scheme Σ m, σ m
SNARK Π for NP π
R (h, x), w h(w) = x
m σ =Σ(m) I
regular signing
h ← w ← {0,1}* x = h(w) II I
sampling hash preimage
m σ =Σ(m)
III II I m P(⋅,⋅)
interpreting m as a program h ← w ← {0,1}* x = h(w)
m σ =Σ(m)
P(x, w) π |π|<p(λ) III II IV I
proving knowledge of preimage
m P(⋅,⋅) m σ =Σ(m)
h ← w ← {0,1}* x = h(w)
P(x, w) π III II IV I m P(⋅,⋅) m σ =Σ(m)
h ← w ← {0,1}* x = h(w)
|π|<p(λ)
w ← {0,1}* x = h(w)
m = Prove( crs, ⋅ , ⋅ ) σ* = (σ, h, x, π) π = Prove( crs, (h, x), w )
Π
m = Prove( crs, ⋅ , ⋅ ) σ* = (σ, h, x, π) π = Prove( crs, (h, x), w )
Π
((h, x), π)
Π
π = Prove( crs, (h, x), w )
((h, x), π) Π
Σp
Random Oracle Model
Standard Model
Starting Point
Study of O-SNARKs
Σp