characterizing deterministic
play

Characterizing Deterministic- Prover Zero Knowledge Nir Bitansky - PowerPoint PPT Presentation

Characterizing Deterministic- Prover Zero Knowledge Nir Bitansky Arka Rai Choudhuri Tel Aviv University Johns Hopkins University Zero Knowledge [Goldwasser-Micali- Rackoff85] $ $ $ $ $ $ Prover (, ) Verifier () Zero Knowledge


  1. Characterizing Deterministic- Prover Zero Knowledge Nir Bitansky Arka Rai Choudhuri Tel Aviv University Johns Hopkins University

  2. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦)

  3. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦) Completeness: βˆ€π‘¦ ∈ β„’ , verifier accepts. (Computational) Soundness Zero Knowledge

  4. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦) Completeness (Computational) Soundness: βˆ€π‘¦ βˆ‰ β„’ , no PPT prover can make the verifier accept. Zero Knowledge

  5. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦) Completeness (Computational) Soundness Zero Knowledge: βˆ€ Verifiers βˆƒ Simulator

  6. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦) Completeness (Computational) Soundness Zero Knowledge: βˆ€ Verifiers βˆƒ Simulator $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier’s view in an execution with the prover

  7. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦) Completeness (Computational) Soundness Zero Knowledge: βˆ€ Verifiers βˆƒ Simulator $ $ $ $ $ $ Verifier’s view in an execution with the prover

  8. Zero Knowledge [Goldwasser-Micali- Rackoff’85] $ $ $ $ $ $ Prover (𝑦, π‘₯) Verifier (𝑦) Completeness (Computational) Soundness Zero Knowledge: βˆ€ Verifiers βˆƒ Simulator $ $ $ $ $ $ $ $ $ $ $ $ β‰ˆ Verifier’s view in an execution with the prover Simulator’s output on input 𝑦

  9. Many Flavors of Zero-Knowledge (ZK) βˆ€ Verifier βˆƒ Simulator β‰ˆ View (𝑦) GMR ZK

  10. Many Flavors of Zero-Knowledge (ZK) βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ View View (𝑦, 𝑨) (𝑦) GMR ZK Auxiliary-input ZK

  11. Many Flavors of Zero-Knowledge (ZK) βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆ€ Verifier βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ β‰ˆ View View View (𝑦, 𝑨) (𝑦) (𝑦) GMR ZK Auxiliary-input ZK Black-box ZK

  12. Deterministic Prover Zero Knowledge (DPZK) Deterministic Prover (𝑦, π‘₯) Verifier (𝑦)

  13. Deterministic Prover Zero Knowledge (DPZK) Deterministic Prover (𝑦, π‘₯) Verifier (𝑦) Is prover randomness essential for zero knowledge?

  14. Limitations of DPZK [Golreich- Oren’94] βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆ€ Verifier βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ β‰ˆ View View View (𝑦, 𝑨) (𝑦) (𝑦) GMR ZK Auxiliary-input ZK Black-box ZK

  15. Limitations of DPZK [Golreich- Oren’94] βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆ€ Verifier βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ β‰ˆ View View View (𝑦, 𝑨) (𝑦) (𝑦) GMR ZK Auxiliary-input ZK Black-box ZK Impossible for non-trivial languages.

  16. Prior Work [Faonio-Nielsen- Venturi’17] Witness encryption for β„’ ⟹ Honest-verifier DPZK for β„’ Hash proof system for β„’ ⟹ Honest-verifier DPZK proofs for β„’ [Dahari- Lindell’20] Doubly enhanced injective OWFs ⟹ Honest-verifier DPZK proofs for NP Inefficient honest prover. Malicious-verifier DPZK for languages that have an entropy guarantee from witnesses.

  17. Prior Work [Faonio-Nielsen- Venturi’17] Witness encryption for β„’ ⟹ Honest-verifier DPZK for β„’ Hash proof system for β„’ ⟹ Honest-verifier DPZK proofs for β„’ [Dahari- Lindell’20] Doubly enhanced injective OWFs ⟹ Honest-verifier DPZK proofs for NP Inefficient honest prover. Malicious-verifier DPZK for languages that have an entropy guarantee from witnesses.

  18. Our Results βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆ€ Verifier βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ β‰ˆ View View View (𝑦, 𝑨) (𝑦) (𝑦) GMR ZK Auxiliary-input ZK Black-box ZK Impossible for non-trivial languages.

  19. Our Results βˆ€ Verifier βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆ€ Verifier βˆ€ aux-IP 𝑨 ∈ 0,1 𝑐 βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ β‰ˆ β‰ˆ View View View (𝑦, 𝑨) (𝑦, 𝑨) View (𝑦) (𝑦) GMR ZK 𝑐 -Bounded auxiliary-input ZK Auxiliary-input ZK Black-box ZK Impossible for non-trivial languages.

  20. Our Results βˆ€ Verifier βˆ€ Verifier βˆ€ Verifier βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆƒ Simulator βˆ€ Verifier βˆ€ aux-IP 𝑨 ∈ 0,1 𝑐 βˆ€ aux-IP 𝑨 ∈ 0,1 βˆ— β‰ˆ β‰ˆ β‰ˆ β‰ˆ View View View (𝑦, 𝑨) (𝑦, 𝑨) View (𝑦) (𝑦) GMR ZK 𝑐 -Bounded auxiliary-input ZK Auxiliary-input ZK Black-box ZK Impossible for non-trivial languages.

  21. Our Results Assuming NIWIs + sub-exponentially secure iO + OWF, there exist two message DPZK arguments for NP ∩ coNP against bounded auxiliary-input verifiers. Also assuming sub-exponentially secure keyless CRHF, there exist two message DPZK arguments for all of NP against bounded auxiliary-input verifiers.

  22. Our Results Assuming NIWIs + sub-exponentially secure iO + OWF, there exist two message DPZK arguments for NP ∩ coNP against bounded auxiliary-input verifiers. Also assuming sub-exponentially secure keyless CRHF, there exist two message DPZK arguments for all of NP against bounded auxiliary-input verifiers. Any DPZK argument for a language β„’ implies a witness encryption for β„’ .

  23. Two Message DPZK Arguments

  24. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17]

  25. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Witness Encryption for β„’ Deterministic Decryption 𝑦 π‘₯ WE.Enc WE.Dec 𝑛/βŠ₯ ct 𝑦,𝑛 𝑛 ct 𝑦,𝑛

  26. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Witness Encryption for β„’ Deterministic Decryption 𝑦 π‘₯ WE.Enc WE.Dec 𝑛/βŠ₯ ct 𝑦,𝑛 𝑛 ct 𝑦,𝑛 For 𝑦, π‘₯ ∈ Rel β„’ π‘₯ WE.Dec 𝑛 ct 𝑦,𝑛 Correctness

  27. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Witness Encryption for β„’ Deterministic Decryption 𝑦 π‘₯ WE.Enc WE.Dec 𝑛/βŠ₯ ct 𝑦,𝑛 𝑛 ct 𝑦,𝑛 For 𝑦, π‘₯ ∈ Rel β„’ For 𝑦 βˆ‰ β„’ π‘₯ β‰ˆ WE.Dec 𝑛 ct 𝑦,0 ct 𝑦,1 ct 𝑦,𝑛 Correctness Security

  28. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17]

  29. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Deterministic Prover (𝑦, π‘₯) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ct 𝑦,𝑣

  30. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Deterministic Prover (𝑦, π‘₯) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ct 𝑦,𝑣 𝑣 ≔ WE.Dec (ct 𝑦,𝑣 , π‘₯) ΰ·€ 𝑣 ΰ·€ Output 1 iff 𝑣 = ΰ·€ 𝑣

  31. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Deterministic Prover (𝑦, π‘₯) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ct 𝑦,𝑣 𝑣 ≔ WE.Dec (ct 𝑦,𝑣 , π‘₯) ΰ·€ 𝑣 ΰ·€ Output 1 iff 𝑣 = ΰ·€ 𝑣 Completeness: From correctness of WE.

  32. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Cheating Prover (𝑦) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ct 𝑦,𝑣 𝑣 ΰ·€ Output 1 iff 𝑣 = ΰ·€ 𝑣 Completeness Soundness: From WE security when 𝑦 βˆ‰ β„’

  33. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Cheating Prover (𝑦) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ct 𝑦,0 ? Output 1 iff 𝑣 = ΰ·€ 𝑣 Completeness Soundness: From WE security when 𝑦 βˆ‰ β„’

  34. Honest Verifier DPZK [Faonio-Nielsen- Venturi’17] Simulator (𝑦) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ct 𝑦,𝑣 𝑣 ΰ·€ Output 1 iff 𝑣 = ΰ·€ 𝑣 Completeness Soundness Honest Verifier Zero Knowledge: Simulator knows 𝑣

  35. Explainable Verifier DPZK There exist honest verifier coins that explains verifier messages as honest messages. Explainable Verifier Unlike related notion of semi-malicious adversaries, these coins may be hard to find.

  36. Explainable Verifier DPZK There exist honest verifier coins that explains verifier messages as honest messages. Explainable Verifier Unlike related notion of semi-malicious adversaries, these coins may be hard to find. Simulator no longer β€œknows’’ the message that an explainable verifier encrypts via the Witness Encryption. Aux-I/P DPZK for explainable verifiers also ruled out by [Goldreich- Oren’94]

  37. Explainable Verifier DPZK There exist honest verifier coins that explains verifier messages as honest messages. Explainable Verifier Unlike related notion of semi-malicious adversaries, these coins may be hard to find. Simulator no longer β€œknows’’ the message that an explainable verifier encrypts via the Witness Encryption. Aux-I/P DPZK for explainable verifiers also ruled out by [Goldreich- Oren’94] Idea: Use additional trapdoor statement that only the simulator can use.

  38. Explainable Verifier DPZK size ≀ 𝑐 includes auxiliary input Deterministic Prover (𝑦, π‘₯) Verifier (𝑦) 𝑣 ⟡ 0,1 π‘œ ct 𝑦,𝑣 ⟡ WE.Enc 𝑦 (𝑣) ΰ·₯ ct 𝑦,𝑣 ct 𝑆,𝑣 𝑆 𝑣 ≔ WE.Dec (ct 𝑦,𝑣 , π‘₯) ΰ·€ 𝑣 ΰ·€ Output 1 iff 𝑣 = ΰ·€ 𝑣

Recommend


More recommend