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

โ–ถ
mit 6 875 berkeley cs276
SMART_READER_LITE
LIVE PREVIEW

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:


slide-1
SLIDE 1

MIT 6.875 & Berkeley CS276

Lecture 16 Foundations of Cryptography

slide-2
SLIDE 2

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

slide-3
SLIDE 3

NP Proofs

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

slide-4
SLIDE 4

Zero-Knowledge (Interactive) Proof

Commitments ๐‘“ โ† ๐น Because NP proofs reveal too much

slide-5
SLIDE 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 ๐‘Šโˆ—.

slide-6
SLIDE 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.

slide-7
SLIDE 7

TODAY: Can we make proofs non-interactive again?

NO!

YES, WE CAN!

slide-8
SLIDE 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)

slide-9
SLIDE 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 # ๐†.

slide-10
SLIDE 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)

slide-11
SLIDE 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!

slide-12
SLIDE 12

THE END Or, is it?

slide-13
SLIDE 13

Enter: The Common Random String ๐œŒ

Graph G Graph G

010111000101010010 CRS

slide-14
SLIDE 14

Enter: The Common Reference String ๐œŒ

Graph G Graph G

๐ท๐‘†๐‘‡ โ† ๐ธ

(e.g., CRS = product of two primes)

slide-15
SLIDE 15

NIZK in the CRS Model ๐œŒ

Graph G Graph G

010111000101010010 CRS

  • 1. Completeness: For every ๐ป โˆˆ 3COL, V accepts Pโ€™s proof.
  • 2. Soundness: For every ๐ป โˆ‰ 3COL and any โ€œproofโ€ ๐œŒโˆ—,

๐‘Š(๐ท๐‘†๐‘‡, ๐œŒโˆ—) accepts with probability โ‰ค neg(๐‘œ)

slide-16
SLIDE 16

NIZK in the CRS Model ๐œŒ

Graph G Graph G

010111000101010010 CRS

  • 3. Zero Knowledge: There is a PPT simulator S such that for

every G โˆˆ 3COL, S simulates the view of the verifier V. ๐‘‡(๐ป) โ‰ˆ (๐ท๐‘†๐‘‡ โ† ๐ธ, ๐œŒ โ† ๐‘„(๐ป, ๐‘‘๐‘๐‘š๐‘๐‘ ๐‘ก))

slide-17
SLIDE 17

NIZK in the CRS Model ๐œŒ

Graph G Graph G

010111000101010010 CRS

  • 3. Zero Knowledge: There is a PPT simulator S such that for every

๐‘ฆ โˆˆ L and witness ๐‘ฅ, S simulates the view of the verifier V. ๐‘‡(๐‘ฆ) โ‰ˆ (๐ท๐‘†๐‘‡ โ† ๐ธ, ๐œŒ โ† ๐‘„(๐‘ฆ, ๐‘ฅ))

slide-18
SLIDE 18

HOW TO CONSTRUCT NIZK IN THE CRS MODEL

  • 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-Rothblum!-Wichsโ€™19

and Peikert-Shiehianโ€™19 (learning with errors)

  • 1. Blum-Feldman-Micaliโ€™88 (quadratic residuosity)
slide-19
SLIDE 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.

slide-20
SLIDE 20

Quadratic Residuosity

Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. ๐พ๐‘๐‘‘"# ๐พ๐‘๐‘‘$# ๐‘Ž%

โˆ—

{๐‘ฆ: ๐‘ฆ ๐‘‚ = โˆ’1} {๐‘ฆ: ๐‘ฆ ๐‘‚ = +1}

slide-21
SLIDE 21

Quadratic Residuosity

Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. ๐พ๐‘๐‘‘"# ๐พ๐‘๐‘‘$# ๐‘Ž%

โˆ—

{๐‘ฆ: ๐‘ฆ ๐‘‚ = โˆ’1} {๐‘ฆ: ๐‘ฆ ๐‘‚ = +1}

๐‘ฒ๐’ƒ๐’… divides ๐’‚๐‘ถ

โˆ— evenly unless N is a perfect square.

slide-22
SLIDE 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 ๐’“.

slide-23
SLIDE 23

Quadratic Residuosity

Let ๐‘‚ = ๐‘ž๐‘Ÿ be a product of two large primes. ๐พ๐‘๐‘‘$# ๐‘…๐‘†% is the set of squares mod ๐‘‚ and ๐‘…๐‘‚๐‘†% is the set

  • f non-squares mod ๐‘‚ with Jacobi symbol +1.

๐‘…๐‘†% ๐‘…๐‘‚๐‘†%

So: ๐‘…๐‘†! = {๐‘ฆ:

" # = " $ = +1}

๐‘…๐‘‚๐‘†! = {๐‘ฆ:

" # = " $ = โˆ’1}

slide-24
SLIDE 24

Quadratic Residuosity

๐พ๐‘๐‘‘$# ๐‘…๐‘†% is the set of squares mod ๐‘‚ and ๐‘…๐‘‚๐‘†% is the set

  • f non-squares mod ๐‘‚ with Jacobi symbol +1.

๐‘…๐‘†% ๐‘…๐‘‚๐‘†% Exactly half residues even if ๐‘ถ = ๐’’๐’‹๐’“๐’Œ, ๐’‹, ๐’Œ โ‰ฅ ๐Ÿ, ๐จ๐ฉ๐ฎ ๐œ๐ฉ๐ฎ๐ข ๐Ÿ๐ฐ๐Ÿ๐จ.

slide-25
SLIDE 25

Quadratic Residuosity

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

slide-26
SLIDE 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 ๐‘…๐‘†.

slide-27
SLIDE 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 ๐‘‚.

slide-28
SLIDE 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.

slide-29
SLIDE 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 ๐‘‚) ๐พ๐‘๐‘‘"# ๐พ๐‘๐‘‘$# ๐‘Ž%

โˆ—

๐‘…๐‘†% ๐‘…๐‘‚๐‘†%

slide-30
SLIDE 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!

slide-31
SLIDE 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

slide-32
SLIDE 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.

slide-33
SLIDE 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.

slide-34
SLIDE 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.

slide-35
SLIDE 35

NIZK for Quadratic Non-Residuosity

๐ท๐‘†๐‘‡ = (๐‘ 

#, ๐‘  !, โ€ฆ , ๐‘  :) โ† (๐พ๐‘๐‘‘% $#):

(๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) โˆ€๐‘—: ๐œŒ8 = ๐‘ 

8 OR ๐‘ง๐‘ "

(Perfect) Zero Knowledge Simulator S: First pick the proof ๐œŒ8 to be random in ๐‘Ž%

โˆ— .

Then, reverse-engineer the CRS, letting ๐‘ 

8 = ๐œŒ8 ! or ๐‘  8 =

๐œŒ8

!/๐‘ง randomly.

slide-36
SLIDE 36

NIZK for Quadratic Non-Residuosity

๐ท๐‘†๐‘‡ = (๐‘ 

#, ๐‘  !, โ€ฆ , ๐‘  :) โ† (๐พ๐‘๐‘‘% $#):

(๐‘‚, ๐‘ง) (๐‘‚, ๐‘ง) CRS depends on the instance N. Not good. Soln: Let CRS be random numbers. Interpret them as elements of ๐‘Ž%

โˆ— and both

the prover and verifier filter out ๐พ๐‘๐‘‘%

"#.

slide-37
SLIDE 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.