succinct malleable nizks and an application to compact
play

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


  1. Outline Definitions 6

  2. Outline Definitions SNARGs to cm-NIZKs 6

  3. Outline Definitions SNARGs to cm-NIZKs Applying the cm-NIZK 6

  4. Outline Definitions SNARGs to cm-NIZKs Applying the cm-NIZK Conclusions 6

  5. Outline Definitions Malleable proofs Definitions SNARGs to cm-NIZKs SNARGs t-tiered transformations Applying the cm-NIZK Conclusions 6

  6. Malleability for proofs [CKLM12] 7

  7. Malleability for proofs [CKLM12] Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{x i , π i }), outputs a proof π for T({x i }) 7

  8. Malleability for proofs [CKLM12] Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{x i , π i }), outputs a proof π for T({x i }) • E.g., T = × , x i = “b i is a bit” 7

  9. Malleability for proofs [CKLM12] Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{x i , π i }), outputs a proof π for T({x i }) • E.g., T = × , x i = “b i is a bit” Can define zero knowledge in the usual way as long as proofs are malleable only with respect to operations under which the language is closed 7

  10. Malleability for proofs [CKLM12] Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{x i , π i }), outputs a proof π for T({x i }) • E.g., T = × , x i = “b i is a bit” Can define zero knowledge in the usual way as long as proofs are malleable only with respect to operations under which the language is closed But how to define a strong notion of soundness like controlled malleability? 7

  11. Malleability for proofs [CKLM12] Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{x i , π i }), outputs a proof π for T({x i }) • E.g., T = × , x i = “b i is a bit” Can define zero knowledge in the usual way as long as proofs are malleable only 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), or a previous instance and an allowable transformation from that instance to the new one (validly transformed proof) 7

  12. Malleability for proofs [CKLM12] Generally, a proof is malleable with respect to T if there exists an algorithm Eval that on input (T,{x i , π i }), outputs a proof π for T({x i }) • E.g., T = × , x i = “b i is a bit” Can define zero knowledge in the usual way as long as proofs are malleable only 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), or a previous instance and an allowable transformation from that instance to the new one (validly transformed proof) (hides fresh vs. transformed) If a proof is zero knowledge, CM-SSE, and strongly derivation private, then we call it a cm-NIZK 7

  13. SNARGs [BSW12,GGPR13] 8

  14. SNARGs [BSW12,GGPR13] A proof system is a succinct non-interactive argument of knowledge (SNARG) if it is complete and if: 8

  15. SNARGs [BSW12,GGPR13] 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 8

  16. SNARGs [BSW12,GGPR13] 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) 8

  17. SNARGs [BSW12,GGPR13] 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 8

  18. SNARGs [BSW12,GGPR13] 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 8

  19. SNARGs [BSW12,GGPR13] 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 E A such that, for (x, π ) = A(crs;r), w = E A (crs;r) such that (x,w) ∈ R 8

  20. SNARGs [BSW12,GGPR13] 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 E A such that, for (x, π ) = A(crs;r), w = E A (crs;r) such that (x,w) ∈ R Constructions of these do exist [AF07,Groth10,...,BCCT12,GGPR13] 8

  21. t-tiered transformations 9

  22. t-tiered transformations To fit the proof-of-a-proof approach, consider transformations as moving between tiers 9

  23. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t 9

  24. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t 9

  25. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  26. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  27. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  28. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  29. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (disallowed) (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  30. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (disallowed) (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  31. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (disallowed) (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ 9

  32. t-tiered transformations 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 ∈ L R , 0 ≤ tier(x) ≤ t (disallowed) (allowed) A class of transformations T is t-tiered if for all T ∈ T , (1) tier(x) < t and x ∈ L R then tier(T(x)) > tier(x) and T(x) ∈ L R , and (2) if tier(x) = t then T(x) = ⊥ Also can’t compose more than t transformations 9

  33. Outline SNARGs to cm-NIZKs Malleable SNARGs Cryptographic background Definitions Shuffling and decrypting Boosting to full extractability Boosting to CM-SSE Applying the cm-NIZK Conclusions 10

  34. Malleable SNARGs malleable SNARG 11

  35. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] 11

  36. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! 11

  37. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π 11

  38. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π 11

  39. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π 11

  40. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π ′ π T 11

  41. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π ′ π T 11

  42. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π ′ π T Can continue this process many times (Bob proves knowledge of Alice’s proof π A for x A and an allowable transformation T B to his instance x B , Charlie proves knowledge of Bob’s proof π B for x B and an allowable transformation T C to his instance x C , etc.) 11

  43. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π ′ π T Can continue this process many times (Bob proves knowledge of Alice’s proof π A for x A and an allowable transformation T B to his instance x B , Charlie proves knowledge of Bob’s proof π B for x B and an allowable transformation T C to his instance x C , etc.) 11

  44. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π ′′ π ′ T π T Can continue this process many times (Bob proves knowledge of Alice’s proof π A for x A and an allowable transformation T B to his instance x B , Charlie proves knowledge of Bob’s proof π B for x B and an allowable transformation T C to his instance x C , etc.) 11

  45. Malleable SNARGs malleable SNARG Our goal: build malleability into SNARGs [BSW12] If we use succinct non-interactive arguments of knowledge (SNARGs), a proof of knowledge of π could in fact be the same size! π ′′ π ′ T π T Can continue this process many times (Bob proves knowledge of Alice’s proof π A for x A and an allowable transformation T B to his instance x B , Charlie proves knowledge of Bob’s proof π B for x B and an allowable transformation T C to his instance x C , etc.) 11

  46. Malleable SNARGs malleable SNARG 12

  47. Malleable SNARGs 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 12

  48. Malleable SNARGs 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 (x A ): w A 12

  49. Malleable SNARGs 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 π B (x B ): ( π A ,x A, T B ) π A (x A ): w A 12

  50. Malleable SNARGs 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 π B (x B ): ( π A ,x A, T B ) tier(x B ) = tier(x A ) + 1 π A (x A ): w A 12

  51. Malleable SNARGs 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 ( π B ,x B, T C ) π B (x B ): ( π A ,x A, T B ) tier(x B ) = tier(x A ) + 1 π A (x A ): w A 12

  52. Malleable SNARGs 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 ( π B ,x B, T C ) tier(x C ) = tier(x B ) + 1 π B (x B ): ( π A ,x A, T B ) tier(x B ) = tier(x A ) + 1 π A (x A ): w A 12

  53. Malleable SNARGs 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 ( π B ,x B, T C ) tier(x C ) = tier(x B ) + 1 π B (x B ): ( π A ,x A, T B ) tier(x B ) = tier(x A ) + 1 π A (x A ): w A Zero knowledge and adaptive knowledge extraction are both preserved*, gain malleability with respect to t-tiered transformations* 12

  54. Malleable SNARGs 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 ( π B ,x B, T C ) tier(x C ) = tier(x B ) + 1 π B (x B ): ( π A ,x A, T B ) tier(x B ) = tier(x A ) + 1 π A (x A ): w A 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) 12

  55. Boosting to full extractability malleable SNARG 13

  56. Boosting to full extractability malleable malleable SNARG NIWIPoK Our goal: get from adaptive knowledge extraction to stronger soundness 13

  57. Boosting to full extractability malleable malleable SNARG 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 13

  58. Boosting to full extractability malleable malleable SNARG 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 13

  59. Boosting to full extractability malleable malleable SNARG 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 13

  60. Boosting to full extractability malleable malleable SNARG 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 Enc(w) SNARG 13

  61. Boosting to full extractability malleable malleable SNARG NIWIPoK + malleable Enc(w) SNARG 14

  62. Boosting to full extractability malleable malleable SNARG NIWIPoK Extraction is quite simple: τ e is decryption key, and extractor decrypts, so we never need to use non-black-box SNARG extractor! + malleable Enc(w) SNARG 14

  63. Boosting to full extractability malleable malleable SNARG 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 Enc(w) SNARG 14

  64. Boosting to CM-SSE malleable malleable cm-NIZK SNARG NIWIPoK 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 15

  65. Boosting to CM-SSE malleable malleable cm-NIZK SNARG NIWIPoK 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 malleable signature SNARG NIWIPoK 15

Recommend


More recommend