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.

Recommend


More recommend