Succinct Malleable NIZKs and an Application to Compact Shuffles - - PowerPoint PPT Presentation

succinct malleable nizks and an application to compact
SMART_READER_LITE
LIVE PREVIEW

Succinct Malleable NIZKs and an Application to Compact Shuffles - - PowerPoint PPT Presentation

Succinct Malleable NIZKs and an Application to Compact Shuffles Melissa Chase (MSR Redmond) Markulf Kohlweiss (MSR Cambridge) Anna Lysyanskaya (Brown University) Sarah Meiklejohn (UC San Diego) 1 Proofs of proofs 2 Proofs of proofs Suppose


slide-1
SLIDE 1

Succinct Malleable NIZKs and an Application to Compact Shuffles

Melissa Chase (MSR Redmond) Markulf Kohlweiss (MSR Cambridge) Anna Lysyanskaya (Brown University) Sarah Meiklejohn (UC San Diego)

1

slide-2
SLIDE 2

Proofs of proofs

2

slide-3
SLIDE 3

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit

Proofs of proofs

2

slide-4
SLIDE 4

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit

Proofs of proofs

2

slide-5
SLIDE 5

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit

Proofs of proofs

2

π1 π2

slide-6
SLIDE 6

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit

Proofs of proofs

2

π1 π2

slide-7
SLIDE 7

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2

Proofs of proofs

2

π1 π2

slide-8
SLIDE 8

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2

Proofs of proofs

2

π1 π2

slide-9
SLIDE 9

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2 But this reveals π1 and π2; Charlie could know Alice formed proofs!

Proofs of proofs

2

π1 π2

slide-10
SLIDE 10

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2 But this reveals π1 and π2; Charlie could know Alice formed proofs!

Proofs of proofs

2

slide-11
SLIDE 11

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2 But this reveals π1 and π2; Charlie could know Alice formed proofs! Next solution: prove knowledge of π1 and π2 (“meta-proof” [dSY90])

Proofs of proofs

2

slide-12
SLIDE 12

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2 But this reveals π1 and π2; Charlie could know Alice formed proofs! Next solution: prove knowledge of π1 and π2 (“meta-proof” [dSY90])

Proofs of proofs

2

π′ π1 π2

slide-13
SLIDE 13

Suppose Alice gives Bob a proof π1 that an encrypted value b1 is a bit (0 or 1), and a proof π2 that another encrypted value b2 is a bit To prove b1⋅b2 is a bit: just pass Charlie π1 and π2 But this reveals π1 and π2; Charlie could know Alice formed proofs! Next solution: prove knowledge of π1 and π2 (“meta-proof” [dSY90]) But this proof is big; reveals that Bob didn’t form original proofs!

Proofs of proofs

2

π′ π1 π2

slide-14
SLIDE 14

SNARGs and malleable proofs

3

slide-15
SLIDE 15

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

SNARGs and malleable proofs

3

slide-16
SLIDE 16

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

SNARGs and malleable proofs

3

π1 π2

slide-17
SLIDE 17

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

SNARGs and malleable proofs

3

π′ π1 π2 π1 π2

slide-18
SLIDE 18

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

SNARGs and malleable proofs

3

π′ π1 π2

π1 π2

slide-19
SLIDE 19

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

But what is π′ even proving? What Bob really wants is a malleable proof: take proofs π1 for b1 and π2 for b2 and “maul” them to form a proof for b1⋅b2

SNARGs and malleable proofs

3

π′ π1 π2

π1 π2

slide-20
SLIDE 20

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

But what is π′ even proving? What Bob really wants is a malleable proof: take proofs π1 for b1 and π2 for b2 and “maul” them to form a proof for b1⋅b2 Then if he proves knowledge of π1 and π2, but also of a transformation T such that b1⋅b2 = T(b1,b2), does this suffice as a proof for b1⋅b2?

SNARGs and malleable proofs

3

π′ π1 π2

π1 π2

slide-21
SLIDE 21

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

But what is π′ even proving? What Bob really wants is a malleable proof: take proofs π1 for b1 and π2 for b2 and “maul” them to form a proof for b1⋅b2 Then if he proves knowledge of π1 and π2, but also of a transformation T such that b1⋅b2 = T(b1,b2), does this suffice as a proof for b1⋅b2?

SNARGs and malleable proofs

3

π′ π1 π2

π1 π2 π1 π2 π′ π1 π2 T

slide-22
SLIDE 22

If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π1 and π2 could in fact be the same size!

But what is π′ even proving? What Bob really wants is a malleable proof: take proofs π1 for b1 and π2 for b2 and “maul” them to form a proof for b1⋅b2 Then if he proves knowledge of π1 and π2, but also of a transformation T such that b1⋅b2 = T(b1,b2), does this suffice as a proof for b1⋅b2?

SNARGs and malleable proofs

3

π′ π1 π2

π1 π2 π1 π2

π′ π1 π2 T

slide-23
SLIDE 23

Why use SNARGs for malleable proofs?

4

slide-24
SLIDE 24

Why use SNARGs for malleable proofs?

4

At Eurocrypt 2012 [CKLM12], we defined notions of malleability and controlled malleability for proofs; called them cm-NIZKs

slide-25
SLIDE 25

Why use SNARGs for malleable proofs?

4

At Eurocrypt 2012 [CKLM12], we defined notions of malleability and controlled malleability for proofs; called them cm-NIZKs To actually achieve malleability, our construction was fundamentally based on Groth-Sahai proofs [GS08]

slide-26
SLIDE 26

Why use SNARGs for malleable proofs?

4

At Eurocrypt 2012 [CKLM12], we defined notions of malleability and controlled malleability for proofs; called them cm-NIZKs To actually achieve malleability, our construction was fundamentally based on Groth-Sahai proofs [GS08] Essentially observed certain malleability properties and built off of those; restricted to transformations supported by GS proofs

slide-27
SLIDE 27

Why use SNARGs for malleable proofs?

4

At Eurocrypt 2012 [CKLM12], we defined notions of malleability and controlled malleability for proofs; called them cm-NIZKs To actually achieve malleability, our construction was fundamentally based on Groth-Sahai proofs [GS08] Essentially observed certain malleability properties and built off of those; restricted to transformations supported by GS proofs Natural open question: can we build malleability ourselves? If so, what kind of malleability can we hope to achieve?

slide-28
SLIDE 28

Why use SNARGs for malleable proofs?

4

At Eurocrypt 2012 [CKLM12], we defined notions of malleability and controlled malleability for proofs; called them cm-NIZKs To actually achieve malleability, our construction was fundamentally based on Groth-Sahai proofs [GS08] Essentially observed certain malleability properties and built off of those; restricted to transformations supported by GS proofs Natural open question: can we build malleability ourselves? If so, what kind of malleability can we hope to achieve? This would potentially allow for more applications (e.g., CM-CCA encryption)

slide-29
SLIDE 29

Our contributions

5

slide-30
SLIDE 30

To get all the way from a SNARG to a cm-NIZK, proceed in three stages

Our contributions

5

slide-31
SLIDE 31

To get all the way from a SNARG to a cm-NIZK, proceed in three stages

Our contributions

5

malleable SNARG First, built malleability into SNARGs according to our intuition

slide-32
SLIDE 32

To get all the way from a SNARG to a cm-NIZK, proceed in three stages

Our contributions

5

malleable SNARG malleable NIWIPoK First, built malleability into SNARGs according to our intuition Next, boost from weird SNARG extraction to regular extractability

slide-33
SLIDE 33

To get all the way from a SNARG to a cm-NIZK, proceed in three stages

Our contributions

5

malleable SNARG malleable NIWIPoK cm-NIZK First, built malleability into SNARGs according to our intuition Next, boost from weird SNARG extraction to regular extractability Finally, plug this into a modified version of our original cm-NIZK construction

slide-34
SLIDE 34

To get all the way from a SNARG to a cm-NIZK, proceed in three stages The end result? A fully generic cm-NIZK with a much wider range of malleability (all t-tiered transformations) than previously supported, that is easier to “plug in” to applications

Our contributions

5

malleable SNARG malleable NIWIPoK cm-NIZK First, built malleability into SNARGs according to our intuition Next, boost from weird SNARG extraction to regular extractability Finally, plug this into a modified version of our original cm-NIZK construction

slide-35
SLIDE 35

Outline

6

slide-36
SLIDE 36

Outline

6

Definitions

slide-37
SLIDE 37

Outline

6

Definitions SNARGs to cm-NIZKs

slide-38
SLIDE 38

Outline

6

Definitions SNARGs to cm-NIZKs Applying the cm-NIZK

slide-39
SLIDE 39

Outline

6

Definitions SNARGs to cm-NIZKs Applying the cm-NIZK Conclusions

slide-40
SLIDE 40

Outline

6

Definitions SNARGs to cm-NIZKs Applying the cm-NIZK Conclusions Definitions

Malleable proofs SNARGs t-tiered transformations

slide-41
SLIDE 41

Malleability for proofs [CKLM12]

7

slide-42
SLIDE 42

Malleability for proofs [CKLM12]

Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{xi,πi}), outputs a proof π for T({xi})

7

slide-43
SLIDE 43

Malleability for proofs [CKLM12]

Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{xi,πi}), outputs a proof π for T({xi})

  • E.g., T = ×, xi = “bi is a bit”

7

slide-44
SLIDE 44

Malleability for proofs [CKLM12]

Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{xi,πi}), outputs a proof π for T({xi})

  • E.g., T = ×, xi = “bi is a bit”

Can define zero knowledge in the usual way as long as proofs are malleable

  • nly with respect to operations under which the language is closed

7

slide-45
SLIDE 45

Malleability for proofs [CKLM12]

Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{xi,πi}), outputs a proof π for T({xi})

  • E.g., T = ×, xi = “bi is a bit”

Can define zero knowledge in the usual way as long as proofs are malleable

  • nly with respect to operations under which the language is closed

But how to define a strong notion of soundness like controlled malleability?

7

slide-46
SLIDE 46

Malleability for proofs [CKLM12]

Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{xi,πi}), outputs a proof π for T({xi})

  • E.g., T = ×, xi = “bi is a bit”

Can define zero knowledge in the usual way as long as proofs are malleable

  • nly with respect to operations under which the language is closed

But how to define a strong notion of soundness like controlled malleability? High-level idea of CM-SSE: extractor can pull out either a witness (fresh proof),

  • r a previous instance and an allowable transformation from that instance to

the new one (validly transformed proof)

7

slide-47
SLIDE 47

Malleability for proofs [CKLM12]

Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{xi,πi}), outputs a proof π for T({xi})

  • E.g., T = ×, xi = “bi is a bit”

Can define zero knowledge in the usual way as long as proofs are malleable

  • nly with respect to operations under which the language is closed

But how to define a strong notion of soundness like controlled malleability? High-level idea of CM-SSE: extractor can pull out either a witness (fresh proof),

  • r a previous instance and an allowable transformation from that instance to

the new one (validly transformed proof) If a proof is zero knowledge, CM-SSE, and strongly derivation private, then we call it a cm-NIZK

7

(hides fresh vs. transformed)

slide-48
SLIDE 48

SNARGs [BSW12,GGPR13]

8

slide-49
SLIDE 49

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

SNARGs [BSW12,GGPR13]

8

slide-50
SLIDE 50

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

  • (Succinctness.) The size of a proof that (x,w)∈R is bounded by φ(k,|x|,|w|) <

poly(k)polylog(|x|) + γ|w| for some 0 < γ < 1

SNARGs [BSW12,GGPR13]

8

slide-51
SLIDE 51

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

  • (Succinctness.) The size of a proof that (x,w)∈R is bounded by φ(k,|x|,|w|) <

poly(k)polylog(|x|) + γ|w| for some 0 < γ < 1

  • We use γ = 1/4 (for unary case)

SNARGs [BSW12,GGPR13]

8

slide-52
SLIDE 52

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

  • (Succinctness.) The size of a proof that (x,w)∈R is bounded by φ(k,|x|,|w|) <

poly(k)polylog(|x|) + γ|w| for some 0 < γ < 1

  • We use γ = 1/4 (for unary case)
  • The point is, the proof can be smaller than the witness

SNARGs [BSW12,GGPR13]

8

slide-53
SLIDE 53

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

  • (Succinctness.) The size of a proof that (x,w)∈R is bounded by φ(k,|x|,|w|) <

poly(k)polylog(|x|) + γ|w| for some 0 < γ < 1

  • We use γ = 1/4 (for unary case)
  • The point is, the proof can be smaller than the witness

SNARGs [BSW12,GGPR13]

8

π

π π′

slide-54
SLIDE 54

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

  • (Succinctness.) The size of a proof that (x,w)∈R is bounded by φ(k,|x|,|w|) <

poly(k)polylog(|x|) + γ|w| for some 0 < γ < 1

  • We use γ = 1/4 (for unary case)
  • The point is, the proof can be smaller than the witness
  • (Adaptive knowledge extraction.) For every A there exists extractor EA such

that, for (x,π) = A(crs;r), w = EA(crs;r) such that (x,w)∈R

SNARGs [BSW12,GGPR13]

8

π

π π′

slide-55
SLIDE 55

A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if:

  • (Succinctness.) The size of a proof that (x,w)∈R is bounded by φ(k,|x|,|w|) <

poly(k)polylog(|x|) + γ|w| for some 0 < γ < 1

  • We use γ = 1/4 (for unary case)
  • The point is, the proof can be smaller than the witness
  • (Adaptive knowledge extraction.) For every A there exists extractor EA such

that, for (x,π) = A(crs;r), w = EA(crs;r) such that (x,w)∈R Constructions of these do exist [AF07,Groth10,...,BCCT12,GGPR13]

SNARGs [BSW12,GGPR13]

8

π

π π′

slide-56
SLIDE 56

t-tiered transformations

9

slide-57
SLIDE 57

To fit the proof-of-a-proof approach, consider transformations as moving between tiers

t-tiered transformations

9

slide-58
SLIDE 58

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t

t-tiered transformations

9

slide-59
SLIDE 59

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t

t-tiered transformations

9

slide-60
SLIDE 60

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

slide-61
SLIDE 61

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

(allowed)

slide-62
SLIDE 62

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

(allowed)

slide-63
SLIDE 63

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

(allowed)

slide-64
SLIDE 64

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

(disallowed) (allowed)

slide-65
SLIDE 65

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

(disallowed) (allowed)

slide-66
SLIDE 66

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥

t-tiered transformations

9

(disallowed) (allowed)

slide-67
SLIDE 67

To fit the proof-of-a-proof approach, consider transformations as moving between tiers A relation R is t-tiered if there exists an efficient function tier(⋅) such that for all x∈LR, 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T∈T, (1) tier(x) < t and x∈LR then tier(T(x)) > tier(x) and T(x)∈LR, and (2) if tier(x) = t then T(x) = ⊥ Also can’t compose more than t transformations

t-tiered transformations

9

(disallowed) (allowed)

slide-68
SLIDE 68

Outline

10

Cryptographic background Shuffling and decrypting Applying the cm-NIZK Conclusions Definitions SNARGs to cm-NIZKs

Malleable SNARGs Boosting to full extractability Boosting to CM-SSE

slide-69
SLIDE 69

Malleable SNARGs

11

malleable SNARG

slide-70
SLIDE 70

Our goal: build malleability into SNARGs [BSW12]

Malleable SNARGs

11

malleable SNARG

slide-71
SLIDE 71

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Malleable SNARGs

11

malleable SNARG

slide-72
SLIDE 72

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Malleable SNARGs

11

malleable SNARG

π

slide-73
SLIDE 73

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Malleable SNARGs

11

malleable SNARG

π

slide-74
SLIDE 74

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Malleable SNARGs

11

malleable SNARG

π

slide-75
SLIDE 75

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

π π′ T

Malleable SNARGs

11

malleable SNARG

slide-76
SLIDE 76

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

π π′ T

Malleable SNARGs

11

malleable SNARG

slide-77
SLIDE 77

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Can continue this process many times (Bob proves knowledge of Alice’s proof πA for xA and an allowable transformation TB to his instance xB, Charlie proves knowledge of Bob’s proof πB for xB and an allowable transformation TC to his instance xC, etc.)

π π′ T

Malleable SNARGs

11

malleable SNARG

slide-78
SLIDE 78

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Can continue this process many times (Bob proves knowledge of Alice’s proof πA for xA and an allowable transformation TB to his instance xB, Charlie proves knowledge of Bob’s proof πB for xB and an allowable transformation TC to his instance xC, etc.)

π π′ T

Malleable SNARGs

11

malleable SNARG

slide-79
SLIDE 79

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Can continue this process many times (Bob proves knowledge of Alice’s proof πA for xA and an allowable transformation TB to his instance xB, Charlie proves knowledge of Bob’s proof πB for xB and an allowable transformation TC to his instance xC, etc.)

Malleable SNARGs

11

malleable SNARG

π′′

π π′ T T

slide-80
SLIDE 80

Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof

  • f knowledge of π could in fact be the same size!

Can continue this process many times (Bob proves knowledge of Alice’s proof πA for xA and an allowable transformation TB to his instance xB, Charlie proves knowledge of Bob’s proof πB for xB and an allowable transformation TC to his instance xC, etc.)

Malleable SNARGs

11

malleable SNARG

π′′

π π′ T T

slide-81
SLIDE 81

Malleable SNARGs

12

malleable SNARG

slide-82
SLIDE 82

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x

slide-83
SLIDE 83

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x

πA(xA): wA

slide-84
SLIDE 84

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x

πA(xA): wA πB(xB): (πA,xA,TB)

slide-85
SLIDE 85

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x

πA(xA): wA πB(xB): (πA,xA,TB) tier(xB) = tier(xA) + 1

slide-86
SLIDE 86

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x

πA(xA): wA πB(xB): (πA,xA,TB) (πB,xB,TC) tier(xB) = tier(xA) + 1

slide-87
SLIDE 87

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x

πA(xA): wA πB(xB): (πA,xA,TB) (πB,xB,TC) tier(xB) = tier(xA) + 1 tier(xC) = tier(xB) + 1

slide-88
SLIDE 88

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x Zero knowledge and adaptive knowledge extraction are both preserved*, gain malleability with respect to t-tiered transformations*

πA(xA): wA πB(xB): (πA,xA,TB) (πB,xB,TC) tier(xB) = tier(xA) + 1 tier(xC) = tier(xB) + 1

slide-89
SLIDE 89

Malleable SNARGs

12

malleable SNARG

Intuitively, to form a proof for an instance x, prove you know a fresh witness w such that (x,w)∈R, or a proof π, instance x′ at the next tier down, and an allowable T such that T(x′) = x Zero knowledge and adaptive knowledge extraction are both preserved*, gain malleability with respect to t-tiered transformations* *Since extractor might have to “tunnel down” t must be a constant [BSW12,BCCT13] and we use a stronger notion of extraction (consider non- uniform adversaries)

πA(xA): wA πB(xB): (πA,xA,TB) (πB,xB,TC) tier(xB) = tier(xA) + 1 tier(xC) = tier(xB) + 1

slide-90
SLIDE 90

Boosting to full extractability

13

malleable SNARG

slide-91
SLIDE 91

Boosting to full extractability

13

malleable SNARG malleable NIWIPoK

Our goal: get from adaptive knowledge extraction to stronger soundness

slide-92
SLIDE 92

Boosting to full extractability

13

malleable SNARG malleable NIWIPoK

Our goal: get from adaptive knowledge extraction to stronger soundness Rather than even try to reconcile adaptive knowledge extraction with something much stronger like extractability or CM-SSE, just use regular soundness of SNARG

slide-93
SLIDE 93

Boosting to full extractability

13

malleable SNARG malleable NIWIPoK

Our goal: get from adaptive knowledge extraction to stronger soundness Rather than even try to reconcile adaptive knowledge extraction with something much stronger like extractability or CM-SSE, just use regular soundness of SNARG SNARG now just proves knowledge of plaintext such that (x,w)∈R

slide-94
SLIDE 94

Boosting to full extractability

13

malleable SNARG malleable NIWIPoK

Our goal: get from adaptive knowledge extraction to stronger soundness Rather than even try to reconcile adaptive knowledge extraction with something much stronger like extractability or CM-SSE, just use regular soundness of SNARG SNARG now just proves knowledge of plaintext such that (x,w)∈R

malleable SNARG

slide-95
SLIDE 95

Boosting to full extractability

13

malleable SNARG malleable NIWIPoK

Our goal: get from adaptive knowledge extraction to stronger soundness Rather than even try to reconcile adaptive knowledge extraction with something much stronger like extractability or CM-SSE, just use regular soundness of SNARG SNARG now just proves knowledge of plaintext such that (x,w)∈R

malleable SNARG

+

Enc(w)

slide-96
SLIDE 96

Boosting to full extractability

14

malleable SNARG malleable NIWIPoK malleable SNARG

+

Enc(w)

slide-97
SLIDE 97

Boosting to full extractability

14

malleable SNARG malleable NIWIPoK

Extraction is quite simple: τe is decryption key, and extractor decrypts, so we never need to use non-black-box SNARG extractor!

malleable SNARG

+

Enc(w)

slide-98
SLIDE 98

Boosting to full extractability

14

malleable SNARG malleable NIWIPoK

Extraction is quite simple: τe is decryption key, and extractor decrypts, so we never need to use non-black-box SNARG extractor! If we use a fully-homomorphic encryption scheme, can preserve malleability for t-tiered transformations (but we do lose succinctness)

malleable SNARG

+

Enc(w)

slide-99
SLIDE 99

Boosting to CM-SSE

15

malleable SNARG malleable NIWIPoK cm-NIZK

Our goal: preserve malleability with respect to t-tiered transformations Essentially amplify [CKLM12] construction; don’t assume certain transformations (e.g., the identity) are allowable

slide-100
SLIDE 100

Boosting to CM-SSE

15

malleable SNARG malleable NIWIPoK cm-NIZK

Our goal: preserve malleability with respect to t-tiered transformations Essentially amplify [CKLM12] construction; don’t assume certain transformations (e.g., the identity) are allowable

malleable SNARG malleable NIWIPoK

+

signature

slide-101
SLIDE 101

Boosting to CM-SSE

15

malleable SNARG malleable NIWIPoK cm-NIZK

Our goal: preserve malleability with respect to t-tiered transformations Essentially amplify [CKLM12] construction; don’t assume certain transformations (e.g., the identity) are allowable

malleable SNARG malleable NIWIPoK

+

signature

used in [CKLM12] construction

slide-102
SLIDE 102

Boosting to CM-SSE

15

malleable SNARG malleable NIWIPoK cm-NIZK

Our goal: preserve malleability with respect to t-tiered transformations Essentially amplify [CKLM12] construction; don’t assume certain transformations (e.g., the identity) are allowable

malleable SNARG malleable NIWIPoK

+

(SUF)

  • ne-time

sig signature

+

used in [CKLM12] construction

slide-103
SLIDE 103

Outline

16

Cryptographic background SNARGs to cm-NIZKs A voting scheme Conclusions Definitions Applying the cm-NIZK

slide-104
SLIDE 104

How to apply previous cm-NIZK?

17

slide-105
SLIDE 105

How to apply previous cm-NIZK?

17

Suppose you have some (theoretical) application that uses a cm-NIZK

slide-106
SLIDE 106

How to apply previous cm-NIZK?

17

Suppose you have some (theoretical) application that uses a cm-NIZK In [CKLM12], developed a methodology for showing the existence of a cm-NIZK called CM-friendliness

slide-107
SLIDE 107

How to apply previous cm-NIZK?

17

Suppose you have some (theoretical) application that uses a cm-NIZK In [CKLM12], developed a methodology for showing the existence of a cm-NIZK called CM-friendliness Needed to address our reliance on Groth-Sahai proofs

slide-108
SLIDE 108

How to apply previous cm-NIZK?

17

Suppose you have some (theoretical) application that uses a cm-NIZK In [CKLM12], developed a methodology for showing the existence of a cm-NIZK called CM-friendliness Needed to address our reliance on Groth-Sahai proofs Basically had to show that proof verification could consist of a set of pairing product equations, and that instances, witnesses, and transformations could be represented and transformed as elements in a bilinear group, etc.

slide-109
SLIDE 109

How to apply previous cm-NIZK?

17

Suppose you have some (theoretical) application that uses a cm-NIZK In [CKLM12], developed a methodology for showing the existence of a cm-NIZK called CM-friendliness Needed to address our reliance on Groth-Sahai proofs Basically had to show that proof verification could consist of a set of pairing product equations, and that instances, witnesses, and transformations could be represented and transformed as elements in a bilinear group, etc. To instantiate a cm-NIZK, had to therefore jump through a lot of hoops!

slide-110
SLIDE 110

How to apply this cm-NIZK?

18

slide-111
SLIDE 111

How to apply this cm-NIZK?

18

The cm-NIZK we just constructed can be applied much more easily

slide-112
SLIDE 112

How to apply this cm-NIZK?

18

The cm-NIZK we just constructed can be applied much more easily In the paper, we show how to construct a compact verifiable shuffle with proof size O(L+M) (where L = # voters, M = # shufflers)

slide-113
SLIDE 113

How to apply this cm-NIZK?

18

The cm-NIZK we just constructed can be applied much more easily In the paper, we show how to construct a compact verifiable shuffle with proof size O(L+M) (where L = # voters, M = # shufflers)

  • Step 1 (mandatory!): Show that class of allowable transformations is t-tiered

(for shuffle: each mix server increments the tier by 1)

slide-114
SLIDE 114

How to apply this cm-NIZK?

18

The cm-NIZK we just constructed can be applied much more easily In the paper, we show how to construct a compact verifiable shuffle with proof size O(L+M) (where L = # voters, M = # shufflers)

  • Step 1 (mandatory!): Show that class of allowable transformations is t-tiered

(for shuffle: each mix server increments the tier by 1)

  • Step 2: Give instantiation for encryption scheme depending on how much

malleability you want (for shuffle: multiplicatively homomorphic encryption)

malleable SNARG

+

Enc(w)

slide-115
SLIDE 115

Outline

19

Cryptographic background SNARGs to cm-NIZKs Applying the cm-NIZK Conclusions Definitions Conclusions

slide-116
SLIDE 116

Conclusions and open problems

20

slide-117
SLIDE 117

Constructed generic cm-NIZKs for a general class of transformations, and intermediate primitives of potential independent interest

Conclusions and open problems

20

slide-118
SLIDE 118

Constructed generic cm-NIZKs for a general class of transformations, and intermediate primitives of potential independent interest Saw example (shuffle) of how to construct applications using this cm-NIZK

Conclusions and open problems

20

slide-119
SLIDE 119

Constructed generic cm-NIZKs for a general class of transformations, and intermediate primitives of potential independent interest Saw example (shuffle) of how to construct applications using this cm-NIZK Are there applications that directly exploit this expanded malleability?

Conclusions and open problems

20

slide-120
SLIDE 120

Constructed generic cm-NIZKs for a general class of transformations, and intermediate primitives of potential independent interest Saw example (shuffle) of how to construct applications using this cm-NIZK Are there applications that directly exploit this expanded malleability? Full version is online at eprint.iacr.org/2012/506 (recently updated!)

Conclusions and open problems

20

slide-121
SLIDE 121

Constructed generic cm-NIZKs for a general class of transformations, and intermediate primitives of potential independent interest Saw example (shuffle) of how to construct applications using this cm-NIZK Are there applications that directly exploit this expanded malleability? Full version is online at eprint.iacr.org/2012/506 (recently updated!)

Conclusions and open problems

Thanks! Any questions?

20