mit 6 875 berkeley cs276
play

MIT 6.875 & Berkeley CS276 Foundations of Cryptography Lecture - PowerPoint PPT Presentation

MIT 6.875 & Berkeley CS276 Foundations of Cryptography Lecture 16 Today: Non-Interactive Zero-Knowledge (NIZK) In Two Days: An Application of NIZK NP Proofs For the NP-complete problem of graph 3-coloring Proof = Verifier V checks:


  1. MIT 6.875 & Berkeley CS276 Foundations of Cryptography Lecture 16

  2. Today: Non-Interactive Zero-Knowledge (NIZK) In Two Days: An Application of NIZK

  3. NP Proofs For the NP-complete problem of graph 3-coloring Proof = Verifier V checks: (a) only 3 colors are used & Prover P has a witness, (b) any two vertices the 3-coloring of G connected by an edge are colored differently.

  4. Zero-Knowledge (Interactive) Proof Because NP proofs reveal too much Commitments ๐‘“ โ† ๐น

  5. Zero-Knowledge (Interactive) Proof Because NP proofs reveal too much 1. Completeness: For every ๐ป โˆˆ 3COL, V accepts Pโ€™s proof. 2. Soundness: For every ๐ป โˆ‰ 3COL and any cheating ๐‘„ โˆ— , V rejects ๐‘„ โˆ— โ€™s proof with probability โ‰ฅ 1 โˆ’ neg(๐‘œ) 3. Zero Knowledge: For every cheating ๐‘Š โˆ— , there is a PPT simulator S such that for every G โˆˆ 3COL, S simulates the view of ๐‘Š โˆ— .

  6. TODAY: Can we make proofs non-interactive again? Why? 1. V does not need to be online during the proof process. 2. Proofs are not ephemeral, can stay into the future.

  7. TODAY: Can we make proofs non-interactive again? NO! YES, WE CAN!

  8. Non-Interactive ZK is Impossible Suppose there were an NIZK proof system for 3COL. Graph G Graph G ๐œŒ Step 1. When G is in 3COL, V accepts the proof ๐œŒ . (Completeness)

  9. Non-Interactive ZK is Impossible Suppose there were an NIZK proof system for 3COL. Graph G Graph G ๐œŒ ! Step 2. PPT Simulator S, given only G in 3COL , produces an indistinguishable proof " ๐œŒ (Zero Knowledge). In particular, V accepts # ๐† .

  10. Non-Interactive ZK is Impossible Suppose there were an NIZK proof system for 3COL. Graph G Graph G ๐œŒ " Step 3. Imagine running the Simulator S on a ๐ป โˆ‰ 3COL. It produces a proof " ๐œŒ which the verifier still accepts! (WHY?! Because S and V are PPT. They together cannot tell if the input graph is 3COL or not)

  11. Non-Interactive ZK is Impossible Suppose there were an NIZK proof system for 3COL. Graph G Graph G ๐œŒ Step 4. Therefore, S is a cheating prover! Produces a proof for a ๐ป โˆ‰ 3COL that the verifier nevertheless accepts. Ergo, the proof system is NOT SOUND!

  12. THE END Or, is it?

  13. Enter: The Common Random String CRS 010111000101010010 Graph G Graph G ๐œŒ

  14. Enter: The Common Reference String ๐ท๐‘†๐‘‡ โ† ๐ธ (e.g., CRS = product of two primes) Graph G Graph G ๐œŒ

  15. NIZK in the CRS Model CRS 010111000101010010 Graph G Graph G ๐œŒ 1. Completeness: For every ๐ป โˆˆ 3COL, V accepts Pโ€™s proof. 2. Soundness: For every ๐ป โˆ‰ 3COL and any โ€œproofโ€ ๐œŒ โˆ— , ๐‘Š(๐ท๐‘†๐‘‡, ๐œŒ โˆ— ) accepts with probability โ‰ค neg(๐‘œ)

  16. NIZK in the CRS Model CRS 010111000101010010 Graph G Graph G ๐œŒ 3. Zero Knowledge: There is a PPT simulator S such that for every G โˆˆ 3COL, S simulates the view of the verifier V. ๐‘‡(๐ป) โ‰ˆ (๐ท๐‘†๐‘‡ โ† ๐ธ, ๐œŒ โ† ๐‘„(๐ป, ๐‘‘๐‘๐‘š๐‘๐‘ ๐‘ก))

  17. NIZK in the CRS Model CRS 010111000101010010 Graph G Graph G ๐œŒ 3. Zero Knowledge: There is a PPT simulator S such that for every ๐‘ฆ โˆˆ L and witness ๐‘ฅ , S simulates the view of the verifier V. ๐‘‡(๐‘ฆ) โ‰ˆ (๐ท๐‘†๐‘‡ โ† ๐ธ, ๐œŒ โ† ๐‘„(๐‘ฆ, ๐‘ฅ))

  18. HOW TO CONSTRUCT NIZK IN THE CRS MODEL 1. Blum-Feldman-Micaliโ€™88 (quadratic residuosity) 1. Blum-Feldman-Micaliโ€™88 (quadratic residuosity) 2. Feige-Lapidot-Shamirโ€™90 (factoring) 3. Groth-Ostrovsky-Sahaiโ€™06 (bilinear maps) 4. Canetti-Chen-Holmgren-Lombardi-Rothblu m ! -Wichsโ€™19 and Peikert-Shiehianโ€™19 (learning with errors)

  19. HOW TO CONSTRUCT NIZK IN THE CRS MODEL Step 1. Review our number theory hammers & polish them. Step 2. Construct NIZK for a special NP language, namely quadratic non -residuosity. Step 3. Bootstrap to NIZK for 3SAT, an NP-complete language.

  20. Quadratic Residuosity Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. โˆ— ๐‘Ž % ๐พ๐‘๐‘‘ $# ๐พ๐‘๐‘‘ "# {๐‘ฆ: ๐‘ฆ {๐‘ฆ: ๐‘ฆ ๐‘‚ = +1} ๐‘‚ = โˆ’1}

  21. Quadratic Residuosity Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. โˆ— ๐‘Ž % ๐พ๐‘๐‘‘ $# ๐พ๐‘๐‘‘ "# {๐‘ฆ: ๐‘ฆ {๐‘ฆ: ๐‘ฆ ๐‘‚ = +1} ๐‘‚ = โˆ’1} โˆ— evenly unless N is a perfect square. ๐‘ฒ๐’ƒ๐’… divides ๐’‚ ๐‘ถ

  22. Quadratic Residuosity Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. โˆ— ๐‘Ž % ๐พ๐‘๐‘‘ $# ๐พ๐‘๐‘‘ "# {๐‘ฆ: ๐‘ฆ {๐‘ฆ: ๐‘ฆ ๐‘‚ = +1} ๐‘‚ = โˆ’1} Surprising fact : Jacobi symbol ( % = ( ( * is ) computable in poly time without knowing ๐’’ and ๐’“ .

  23. Quadratic Residuosity Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. ๐พ๐‘๐‘‘ $# " " ๐‘…๐‘† % So: ๐‘…๐‘† ! = {๐‘ฆ: # = $ = +1} ๐‘…๐‘‚๐‘† % " " ๐‘…๐‘‚๐‘† ! = {๐‘ฆ: # = $ = โˆ’1} ๐‘…๐‘† % is the set of squares mod ๐‘‚ and ๐‘…๐‘‚๐‘† % is the set of non-squares mod ๐‘‚ with Jacobi symbol +1.

  24. Quadratic Residuosity Exactly half residues even if ๐‘ถ = ๐’’ ๐’‹ ๐’“ ๐’Œ , ๐’‹, ๐’Œ โ‰ฅ ๐Ÿ, ๐จ๐ฉ๐ฎ ๐œ๐ฉ๐ฎ๐ข ๐Ÿ๐ฐ๐Ÿ๐จ. ๐พ๐‘๐‘‘ $# ๐‘…๐‘† % ๐‘…๐‘‚๐‘† % ๐‘…๐‘† % is the set of squares mod ๐‘‚ and ๐‘…๐‘‚๐‘† % is the set of non-squares mod ๐‘‚ with Jacobi symbol +1.

  25. Quadratic Residuosity Exactly half residues even if ๐‘‚ = ๐‘ž 8 ๐‘Ÿ 9 , ๐‘—, ๐‘˜ โ‰ฅ 1, not both even. ๐พ๐‘๐‘‘ $# ๐‘…๐‘† % ๐‘…๐‘‚๐‘† % IMPORTANT PROPERTY : If ๐‘ง # and ๐‘ง ! are both in ๐‘…๐‘ถ๐‘† , then their product ๐‘ง # ๐‘ง ! is in ๐‘…๐‘† .

  26. Quadratic Residuosity The fraction of residues smaller if ๐‘ถ has three or more prime factors! ๐พ๐‘๐‘‘ $# ๐‘…๐‘† % ๐‘…๐‘‚๐‘† % IMPORTANT PROPERTY : If ๐‘ง # and ๐‘ง ! are both in ๐‘…๐‘ถ๐‘† , then their product ๐‘ง # ๐‘ง ! is in ๐‘…๐‘† .

  27. Quadratic Residuosity Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. Quadratic Residuosity Assumption (QRA) No PPT algorithm can distinguish between a random element of ๐‘…๐‘† % from a random element of ๐‘…๐‘‚๐‘† % given only ๐‘‚ .

  28. HOW TO CONSTRUCT NIZK IN THE CRS MODEL Step 1. Review our number theory hammers & polish them. Step 2. Construct NIZK for a special NP language, namely quadratic non -residuosity. Step 3. Bootstrap to NIZK for 3SAT, an NP-complete language.

  29. NIZK for Quadratic Non-Residuosity Define the NP language ๐ป๐‘ƒ๐‘ƒ๐ธ with instances (๐‘ถ, ๐’›) where ๐‘‚ is good: has exactly two prime factors and is not a โ€ข perfect square; and ๐‘ง โˆˆ ๐‘…๐‘‚๐‘† % (that is, ๐‘ง has Jacobi symbol +1 โ€ข but is not a square mod ๐‘‚ ) โˆ— ๐‘Ž % ๐‘…๐‘† % ๐พ๐‘๐‘‘ $# ๐พ๐‘๐‘‘ "# ๐‘…๐‘‚๐‘† %

  30. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) If ๐‘ถ is good and ๐’› โˆˆ ๐‘น๐‘ถ๐‘บ ๐‘ถ : either ๐’” ๐’‹ is in ๐‘น๐‘บ ๐‘ถ or ๐’›๐’” ๐’‹ is in ๐‘น๐‘บ ๐‘ถ so I can compute ๐’” ๐’‹ or ๐’›๐’” ๐’‹ . If not โ€ฆ Iโ€™ll be stuck!

  31. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) โˆ€๐‘—: ๐‘  8 OR ๐‘ง๐‘  " Check: ๐‘‚ is not a prime power, โ€ข ๐‘‚ is not a perfect square; and โ€ข I received either a mod-N โ€ข square root of ๐‘  8 or ๐‘ง๐‘  8

  32. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) โˆ€๐‘—: ๐‘  8 OR ๐‘ง๐‘  " Soundness (what if ๐‘‚ has more than 2 prime factors) No matter what ๐‘ง is, for half the ๐‘  8 , both ๐‘  8 and ๐‘ง๐‘  8 are not quadratic residues.

  33. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) โˆ€๐‘—: ๐‘  8 OR ๐‘ง๐‘  " Soundness (what if ๐‘‚ has more than 2 prime factors) No matter what ๐‘ง is, for half the ๐‘  8 , both ๐‘  8 and ๐‘ง๐‘  8 are not quadratic residues.

  34. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) โˆ€๐‘—: ๐‘  8 OR ๐‘ง๐‘  " Soundness (what if ๐‘ง is a residue) Then, if ๐‘  8 happens to be a non-residue, both ๐‘  8 and ๐‘ง๐‘  8 are not quadratic residues.

  35. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) โˆ€๐‘—: ๐œŒ 8 = ๐‘  8 OR ๐‘ง๐‘  " (Perfect) Zero Knowledge Simulator S: โˆ— . First pick the proof ๐œŒ 8 to be random in ๐‘Ž % ! or ๐‘  Then, reverse-engineer the CRS, letting ๐‘  8 = ๐œŒ 8 8 = ! /๐‘ง randomly. ๐œŒ 8

  36. NIZK for Quadratic Non-Residuosity $# ) : ๐ท๐‘†๐‘‡ = (๐‘  # , ๐‘  ! , โ€ฆ , ๐‘  : ) โ† (๐พ๐‘๐‘‘ % (๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) CRS depends on the instance N. Not good. Soln: Let CRS be random numbers. โˆ— and both Interpret them as elements of ๐‘Ž % "# . the prover and verifier filter out ๐พ๐‘๐‘‘ %

  37. NEXT LECTURE Step 1. Review our number theory hammers & polish them. Step 2. Construct NIZK for a special NP language, namely quadratic non -residuosity. Step 3. Bootstrap to NIZK for 3SAT, an NP-complete language.

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