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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend