On the (In)security of SNARK s in the Presence of Oracles Anca - - PowerPoint PPT Presentation

on the in security of snark s
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Anca Nitulescu, Dario Fiore

in the Presence of Oracles

On the (In)security of SNARKs

École Normale Supérieure, CNRS and INRIA, Paris, France

slide-2
SLIDE 2

Delegate NP computation

m

slide-3
SLIDE 3

m

Delegate NP computation Proof ?

slide-4
SLIDE 4

Arguments of knowledge

slide-5
SLIDE 5

Efficiency Succinctness Non - Interactivity Succinct Non-Interactive Arguments

  • f Knowledge
slide-6
SLIDE 6

SECURITY: PROOF OF KNOWLEDGE crs, aux crs, aux

slide-7
SLIDE 7

Non-Black-Box Extraction

extractor

SNARK

crs, aux crs, aux Adversary

slide-8
SLIDE 8

Overview

Starting Point

  • Protocols with SNARKs
  • Security proofs: settings where extraction is problematic
  • Need of new security notion: O-SNARK

Study of O-SNARKs

  • Impossibility result
  • Some “restrictive” instantiations from classical SNARKs
  • Applications where O-SNARK is useful
slide-9
SLIDE 9

(m, σ) sk

Case Study Application

Proving Knowledge of Signatures m

slide-10
SLIDE 10

(m, σ) (m, σ) {(m, σ)}

Case Study Application

Proving Knowledge of Signatures

slide-11
SLIDE 11

∃ (m, σ) Vfy(m,σ)=1 P(m)=1 SNARK SNARK

Case Study Application

Proving Knowledge of Signatures

slide-12
SLIDE 12

P(m)=1 Ver(m, σ)=1 (m, σ) SNARK

Case Study Application

Proving Knowledge of Signatures

slide-13
SLIDE 13

Security Proof ?

SNARK

Case Study Application

Proving Knowledge of Signatures

slide-14
SLIDE 14

(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 Π

Security Proof

∃ (m, σ) Vfy(vk,m,σ)=1 P(m)=1

R

slide-15
SLIDE 15

P(m*)=0 / Vfy(m*, σ*)=0

Type I

(m*, σ*) SNARK (m*, σ*)

π

Security Proof

Breaks proof of knowledge of Π

slide-16
SLIDE 16

P(m*)=1 Vfy(m*, σ*)=1 (m*, σ*)

Type II

SNARK (m*, σ*) SNARK (m*, σ*)

π

Forgery on Σ!

Security Proof

slide-17
SLIDE 17

Σ- Forger

SNARK Oracle

cheating prover

Security Proof

slide-18
SLIDE 18

Σ

vk crs, vk crs, aux crs←$

Π Security Proof

slide-19
SLIDE 19

Σ

vk

Π

m

m

crs, aux

Security Proof

slide-20
SLIDE 20

Σ

vk

Π

m,σ

crs, aux m

Security Proof

slide-21
SLIDE 21

Σ

vk

Π

crs, aux

m,σ

(m, σ)

Security Proof

slide-22
SLIDE 22

m*, σ*

SNARK

(m*, σ*) P(m*)=1

Security Proof

slide-23
SLIDE 23

m*, σ* extractor

Forgery ! SNARK

(m*, σ*) P(m*)=1

Security Proof

slide-24
SLIDE 24

crs, aux crs, aux

SNARK

(m*, σ*) P(m*)=1

m*,σ*

Standard Proof of Knowledge

Extraction with Oracles ?

slide-25
SLIDE 25

crs, aux crs, aux

SNARK

(m*, σ*) P(m*)=1

?

Extraction?

slide-26
SLIDE 26

crs, aux crs, aux

SNARK

(m*, σ*) P(m*)=1

Extraction?

slide-27
SLIDE 27

crs, aux

m Non-Black-Box Extraction

slide-28
SLIDE 28

crs, aux

m Non-Black-Box Extraction

sk

slide-29
SLIDE 29

Σ- Forger

crs, aux sk sk ?

Non-Black-Box Extraction

crs, aux sk

m sk

slide-30
SLIDE 30

PROTOCOLS: Tool to prove knowledge -> SNARK Main problem -> Security proofs with ORACLEs

Our Contributions

slide-31
SLIDE 31
  • SNARK

SOLUTION: New security notion -> O-SNARK Proof of knowledge -> Extraction with ORACLEs

Our Contributions

slide-32
SLIDE 32
  • SNARK

Σp STUDY: Impossibility -> Extraction is NOT feasible for all ORACLEs

Our Contributions

slide-33
SLIDE 33
  • SNARK

Σp Good news: O-SNARKs exist!

  • > constructions
  • > applications

Our Contributions

slide-34
SLIDE 34

O-SNARK Definition

crs, aux crs, aux qt

slide-35
SLIDE 35

Impossibility

Theorem

slide-36
SLIDE 36

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

slide-37
SLIDE 37

m σ =Σ(m) I

Σp counterexample signature scheme

regular signing

slide-38
SLIDE 38

h ← w ← {0,1}* x = h(w) II I

sampling hash preimage

m σ =Σ(m)

Σp counterexample signature scheme

slide-39
SLIDE 39

III II I m P(⋅,⋅)

interpreting m as a program h ← w ← {0,1}* x = h(w)

m σ =Σ(m)

Σp counterexample signature scheme

slide-40
SLIDE 40

P(x, w) π |π|<p(λ) III II IV I

proving knowledge of preimage

m P(⋅,⋅) m σ =Σ(m)

h ← w ← {0,1}* x = h(w)

Σp counterexample signature scheme

slide-41
SLIDE 41

P(x, w) π III II IV I m P(⋅,⋅) m σ =Σ(m)

h ← w ← {0,1}* x = h(w)

Σp counterexample signature scheme

|π|<p(λ)

slide-42
SLIDE 42

m → σ*

Σp counterexample signature scheme

slide-43
SLIDE 43

m → σ*

σ σ ← Σ(m) Σ

Σp counterexample signature scheme

slide-44
SLIDE 44

σ h h ←

m → σ*

Σp counterexample signature scheme

slide-45
SLIDE 45

σ x h

w ← {0,1}* x = h(w)

m → σ*

Σp counterexample signature scheme

slide-46
SLIDE 46

σ π h x

m → σ*

P

Σp counterexample signature scheme

slide-47
SLIDE 47

σ π h x

σ*

Σp counterexample signature scheme

slide-48
SLIDE 48

m = Prove( crs, ⋅ , ⋅ ) σ* = (σ, h, x, π) π = Prove( crs, (h, x), w )

query answer

Π

Non-Existence of Extractors for OΣp

slide-49
SLIDE 49

m = Prove( crs, ⋅ , ⋅ ) σ* = (σ, h, x, π) π = Prove( crs, (h, x), w )

query answer

Π

((h, x), π)

O-SNARK Adversary

slide-50
SLIDE 50

m

Π

query answer Target Collision Resistance Adversary

slide-51
SLIDE 51

π = Prove( crs, (h, x), w )

((h, x), π) Π

Target Collision Resistance Adversary

slide-52
SLIDE 52

Non-Existence of Extractors for OΣp Target Collision on h

slide-53
SLIDE 53
  • Overcome the impossibility?
  • O-SNARKs do not exist for all Oracles

Σp

  • “Break” the adaptive power of the adversary

Existence of O-SNARK

slide-54
SLIDE 54

Existence of O-SNARK

Random Oracle Model

  • Micali’s CS proofs are O-SNARKs in ROM
  • Hash & Sign Oracles allow O-SNARKs

Standard Model

  • Signing oracles with polynomial message space
  • Non-Adaptive O-SNARKs: queries declared in advance
slide-55
SLIDE 55
  • Succinct Functional Signatures [BGI14]
  • Homomorphic Signatures [BF11]
  • SNARKs on Authenticated Data [BBFR15]

Applications of O-SNARK

slide-56
SLIDE 56
  • Artificial counterexamples: Find “more natural” ones?
  • For what classes of signature oracles O-SNARKs exist?
  • Find other “benign” Oracles that allow O-SNARKs?

Open Questions

slide-57
SLIDE 57

Starting Point

  • Protocols with SNARKs
  • Security proofs: settings where NO extraction
  • New security notion: O-SNARK

Study of O-SNARKs

  • Impossibility result for Σp
  • Some “restrictive” instantiations from SNARKs
  • Applications where O-SNARK is useful
  • SNARK

Σp

Summary

slide-58
SLIDE 58

Thank you