on the existence of three round zero knowledge proofs
play

On the Existence of Three Round Zero-Knowledge Proofs Nils - PowerPoint PPT Presentation

On the Existence of Three Round Zero-Knowledge Proofs Nils Fleischhacker, Vipul Goyal, Abhishek Jain Tel Aviv, May 2, 2018 Round-Complexity of ZK-Proofs for NP 2 Round-Complexity of ZK-Proofs for NP 2 Round-Complexity of ZK-Proofs for NP


  1. On the Existence of Three Round Zero-Knowledge Proofs Nils Fleischhacker, Vipul Goyal, Abhishek Jain Tel Aviv, May 2, 2018

  2. Round-Complexity of ZK-Proofs for NP 2

  3. Round-Complexity of ZK-Proofs for NP 2

  4. Round-Complexity of ZK-Proofs for NP [GO94] 2

  5. Round-Complexity of ZK-Proofs for NP � [GO94] [GK96] 2

  6. Round-Complexity of ZK-Proofs for NP � [GO94] [GK96] 2

  7. Round-Complexity of ZK-Proofs for NP � [GO94] [GK96] [Katz08] black box simulation 2

  8. Round-Complexity of ZK-Proofs for NP � [GO94] [GK96] [Katz08] black box simulation [KRR17] public coin 2

  9. Round-Complexity of ZK-Proofs for NP � [GO94] [GK96] [Katz08] black box simulation [KRR17] public coin 2

  10. The Result Assuming sub-exponentially secure iO and sub-exponentially secure PRFs as well as exponentially secure input-hiding obfuscation for multi-bit point functions, even private coin three round zero-knowledge proofs can only exist for languages in BPP. 3

  11. What About Four Rounds? ◮ We do not expect our technique to easily extend to four rounds. ◮ Our result extends to a weaker notion of ǫ -ZK. ◮ For ǫ -ZK, four round private coin protocols exist based on keyless multi-collision resistant hash functions (MCRH). [BKP17] 4

  12. Compressing Proofs 5

  13. Compressing Proofs 5

  14. Compressing Proofs 5

  15. Compressing Proofs Sadly, it’s not that simple. 5

  16. Proofs vs. Arguments Π ′ Π We lose statistical soundness. Π ′ is only an argument. Π ′ Sound Π Sound Π not ZK 6

  17. How to Compress Proofs α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β γ ← P 2 ( x, w ) γ 7

  18. How to Compress Proofs α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β γ ← P 2 ( x, w ) γ 7

  19. How to Compress Proofs α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β γ ← P 2 ( x, w ) γ 7

  20. How to Compress Proofs α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β β ← $ { 0 , 1 } n γ ← P 2 ( x, w ) γ 7

  21. The Public Coin Case α ← P 1 ( x, w ) α β ← $ { 0 , 1 } n β γ ← P 2 ( x, w ) γ 8

  22. The Public Coin Case α ← P 1 ( x, w ) α β ← $ { 0 , 1 } n β γ ← P 2 ( x, w ) γ 8

  23. The Public Coin Case α ← P 1 ( x, w ) α β ← $ { 0 , 1 } n β H ← $ H γ ← P 2 ( x, w ) γ 8

  24. The Public Coin Case α ← P 1 ( x, w ) α β ← $ { 0 , 1 } n β := H ( x, α ) β H H ← $ H γ ← P 2 ( x, w ) γ 8

  25. The Public Coin Case α ← P 1 ( x, w ) α β ← $ { 0 , 1 } n β := H ( x, α ) β H H ← $ H γ ← P 2 ( x, w ) γ ( α, ) 8

  26. The Public Coin Case α ← P 1 ( x, w ) α β ← $ { 0 , 1 } n β := H ( x, α ) β H H ← $ H γ ← P 2 ( x, w ) γ ( α, ) [KRR17]: H := iO ( PRF k ( · )) 8

  27. But What About Private Coin? α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β γ ← P 2 ( x, w ) γ 9

  28. But What About Private Coin? C V [ k, x ]( α ) s := PRF k ( α ) β := V 1 ( x, α ; s ) return β α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β γ ← P 2 ( x, w ) γ 9

  29. But What About Private Coin? C V [ k, x ]( α ) s := PRF k ( α ) β := V 1 ( x, α ; s ) return β α ← P 1 ( x, w ) α β ← V 1 ( x, α ) β γ ← P 2 ( x, w ) γ 9

  30. But What About Private Coin? C V [ k, x ]( α ) s := PRF k ( α ) β := V 1 ( x, α ; s ) return β α ← P 1 ( x, w ) α β := B ( α ) β ← V 1 ( x, α ) β B B ← iO ( C V [ k, x ]) γ ← P 2 ( x, w ) γ ( α, ) 9

  31. How to Prove it. Π ′ Π We need to prove two things: 1. If Π ′ is sound then Π is not zero knowledge. 2. The compression preserves soundness. I.e., if Π is sound then Π ′ is also sound. 10

  32. Π ′ sound = ⇒ Π ′ not ZK [GO94] aux α β ← aux ( α ) β γ ( α, β, γ ) 11

  33. Π ′ sound = ⇒ Π ′ not ZK [GO94] aux aux α Sim β ← aux ( α ) β γ ( α ′ , β ′ , γ ′ ) ( α, β, γ ) 11

  34. Π ′ sound = ⇒ Π ′ not ZK [GO94] aux aux α Sim β ← aux ( α ) β γ ≈ c ( α ′ , β ′ , γ ′ ) ( α, β, γ ) 11

  35. Π ′ sound = ⇒ Π ′ not ZK B ( α, β, γ ) ← Sim ( B ) ( α, γ ) � ( x ∗ ∈ L ) ≈ c ( x ∗ �∈ L ) unless L ∈ BPP 12

  36. Π ′ sound = ⇒ Π ′ not ZK B ( α, β, γ ) ← Sim ( B ) ( α, γ ) � ( x ∗ ∈ L ) ≈ c ( x ∗ �∈ L ) unless L ∈ BPP But is it sound? 12

  37. How Can a Prover Cheat? Defining Bad Alphas. α 13

  38. How Can a Prover Cheat? Defining Bad Alphas. α Bad 1. Specify a set of bad α ’s. 13

  39. How Can a Prover Cheat? Defining Bad Alphas. α Bad 1. Specify a set of bad α ’s. 2. Prove that a cheating prover must use a bad α to cheat. 13

  40. How Can a Prover Cheat? Defining Bad Alphas. ??? α Bad 1. Specify a set of bad α ’s. 2. Prove that a cheating prover must use a bad α to cheat. 3. Prove that bad α ’s remain hidden by the obfuscation. 13

  41. How Can a Prover Cheat? Defining Bad Alphas. α Bad 14

  42. How Can a Prover Cheat? Defining Bad Alphas. α Bad ◮ In the public coin case, defining bad α ’s is trivial: Any α , such that for β := PRF k ( α ) there exists an accepting γ . 14

  43. How Can a Prover Cheat? Defining Bad Alphas. α Bad ◮ In the public coin case, defining bad α ’s is trivial: Any α , such that for β := PRF k ( α ) there exists an accepting γ . ◮ In the private coin case, however there may always be accepting γ ’s. 14

  44. How Can a Prover Cheat? Defining Bad Alphas. α Bad ◮ In the public coin case, defining bad α ’s is trivial: Any α , such that for β := PRF k ( α ) there exists an accepting γ . ◮ In the private coin case, however there may always be accepting γ ’s. ◮ But, those γ ’s depend on which consistent random tape was used. 14

  45. How Can a Prover Cheat? Defining Bad Alphas. α Bad ◮ In the public coin case, defining bad α ’s is trivial: Any α , such that for β := PRF k ( α ) there exists an accepting γ . ◮ In the private coin case, however there may always be accepting γ ’s. ◮ But, those γ ’s depend on which consistent random tape was used. ◮ Security of iO and puncturable PRF hide which random tape was used. 14

  46. Bad Alphas in the Private Coin Case. α Bad ◮ An α is bad if the random tape s := PRF k ( α ) leads to a β such that for ( α, β ) there exists γ that will be accepted by the verifier with high probability over all consistent random tapes. 15

  47. Hiding Bad Alphas. ◮ A cheating prover will output a bad α with high probability. 16

  48. Hiding Bad Alphas. ◮ A cheating prover will output a bad α with high probability. ◮ This can be lead to a direct contradiction with the soundness of Π but incurs an exponential loss. 16

  49. Hiding Bad Alphas. ◮ A cheating prover will output a bad α with high probability. ◮ This can be lead to a direct contradiction with the soundness of Π but incurs an exponential loss. ◮ We follow the approach of [KRR17] and “transfer” the loss to a seperate primitive. 16

  50. Input Hiding Obfuscation of Multi-Bit Point Functions α ∗ , s ∗ Correctness: B ( α ∗ ) = s ∗ ∀ α � = α ∗ : B ( α ) = ⊥ hideO Security: Pr[ A ( B , 1 n ) = α ∗ ] ≤ 2 − n B 17

  51. Input Hiding Obfuscation of Multi-Bit Point Functions α ∗ , s ∗ Correctness: B ( α ∗ ) = s ∗ ∀ α � = α ∗ : B ( α ) = ⊥ hideO Security: Pr[ A ( B , 1 n ) = α ∗ ] ≤ 2 − n B Can be instantiated in the generic group model by [CD08] as shown in [BC10] based on a strong variant of DDH. 17

  52. Transferring the Loss 18

  53. Transferring the Loss C pct [ k, α ∗ , β ∗ ]( α ) ? if α = α ∗ β := β ∗ else s := PRF k ( α ) β := V 1 ( x, α ; s ) return β 18

  54. Transferring the Loss C pct [ k, α ∗ , β ∗ ]( α ) ? if α = α ∗ β := β ∗ else s := PRF k ( α ) β := V 1 ( x, α ; s ) return β Conditioned on α ∗ being bad we get that � P ∗ � �� � C pct [ k { α ∗ } , α ∗ , V 1 ( x ∗ , α ; s ∗ )] = ( α ∗ , γ ) � Pr iO k,α ∗ ,s ∗ , iO , A is slightly higher than random chance. 18

  55. Transferring the Loss C pct [ k, α ∗ , β ∗ ]( α ) C hide [ k, B ]( α ) ? if α = α ∗ s := B ( α ) β := β ∗ if s = ⊥ else s := PRF k ( α ) s := PRF k ( α ) β := V 1 ( x ∗ , α ; s ) β := V 1 ( x, α ; s ) return β return β Conditioned on α ∗ being bad we get that � P ∗ � �� � C pct [ k { α ∗ } , α ∗ , V 1 ( x ∗ , α ; s ∗ )] = ( α ∗ , γ ) � Pr iO k,α ∗ ,s ∗ , iO , A is slightly higher than random chance. 18

  56. Conclusion Assuming sub-exponentially secure iO and sub-exponentially secure PRFs as well as exponentially secure input-hiding obfuscation for multi-bit point functions, three round zero-knowledge proofs can only exist for languages in BPP. Thanks! ia.cr/2018/167 19

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