Noninteractive Zero Knowledge for NP from Learning With Errors - - PowerPoint PPT Presentation

noninteractive zero knowledge for np from learning with
SMART_READER_LITE
LIVE PREVIEW

Noninteractive Zero Knowledge for NP from Learning With Errors - - PowerPoint PPT Presentation

Noninteractive Zero Knowledge for NP from Learning With Errors Chris Peikert University of Michigan (Based on work with Sina Shiehian) 2nd Crypto Innovation School Shanghai, China 15 December 2019 1 / 16 Zero Knowledge


slide-1
SLIDE 1

Noninteractive Zero Knowledge for NP from Learning With Errors Chris Peikert

University of Michigan (Based on work with Sina Shiehian) 2nd Crypto Innovation School Shanghai, China 15 December 2019

1 / 16

slide-2
SLIDE 2

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else.

2 / 16

slide-3
SLIDE 3

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

2 / 16

slide-4
SLIDE 4

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H

2 / 16

slide-5
SLIDE 5

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H b ← {0, 1}

(“Prove H ≡ Gb”)

2 / 16

slide-6
SLIDE 6

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H b ← {0, 1}

(“Prove H ≡ Gb”)

σ = ρ ◦ πb check H ? = σ(Gb)

2 / 16

slide-7
SLIDE 7

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H b ← {0, 1}

(“Prove H ≡ Gb”)

σ = ρ ◦ πb check H ? = σ(Gb)

1 Complete: if G0 ≡ G1, then P convinces V .

2 / 16

slide-8
SLIDE 8

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H b ← {0, 1}

(“Prove H ≡ Gb”)

σ = ρ ◦ πb check H ? = σ(Gb)

1 Complete: if G0 ≡ G1, then P convinces V . 2 Sound: if G0 ≡ G1, cheating P ∗ convinces V with prob ≤ 1/2.

2 / 16

slide-9
SLIDE 9

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H b ← {0, 1}

(“Prove H ≡ Gb”)

σ = ρ ◦ πb check H ? = σ(Gb)

1 Complete: if G0 ≡ G1, then P convinces V . 2 Sound: if G0 ≡ G1, cheating P ∗ convinces V with prob ≤ 1/2.

Soundness error can be reduced exponentially by (parallel) repetition.

2 / 16

slide-10
SLIDE 10

Zero Knowledge [GoldwasserMicaliRackoff’85]

◮ Zero-knowledge (interactive) proof for language L: allows a prover P to convince a verifier V that some x ∈ L, while revealing nothing else. ◮ Example: ‘cut-and-choose’ protocol for Graph Isomorphism P(G0, G1, π) V (G0, G1)

[G0 = π(G1)]

H = ρ(G0) H b ← {0, 1}

(“Prove H ≡ Gb”)

σ = ρ ◦ πb check H ? = σ(Gb)

1 Complete: if G0 ≡ G1, then P convinces V . 2 Sound: if G0 ≡ G1, cheating P ∗ convinces V with prob ≤ 1/2.

Soundness error can be reduced exponentially by (parallel) repetition.

3 Zero Knowledge: can simulate (honest) V ’s view when G0 ≡ G1.

2 / 16

slide-11
SLIDE 11

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument.

3 / 16

slide-12
SLIDE 12

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument. ◮ Applications: identification, secure multiparty computation, . . .

3 / 16

slide-13
SLIDE 13

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument. ◮ Applications: identification, secure multiparty computation, . . . Cut-and-choose protocol for Hamiltonian Cycle [FeigeLapidotShamir’90]: P(G, cycle C) V (G)

3 / 16

slide-14
SLIDE 14

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument. ◮ Applications: identification, secure multiparty computation, . . . Cut-and-choose protocol for Hamiltonian Cycle [FeigeLapidotShamir’90]: P(G, cycle C) V (G) H = ρ(G) {ci,j ← Com(hi,j)}, Com(ρ)

3 / 16

slide-15
SLIDE 15

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument. ◮ Applications: identification, secure multiparty computation, . . . Cut-and-choose protocol for Hamiltonian Cycle [FeigeLapidotShamir’90]: P(G, cycle C) V (G) H = ρ(G) {ci,j ← Com(hi,j)}, Com(ρ) b ← {0, 1}

3 / 16

slide-16
SLIDE 16

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument. ◮ Applications: identification, secure multiparty computation, . . . Cut-and-choose protocol for Hamiltonian Cycle [FeigeLapidotShamir’90]: P(G, cycle C) V (G) H = ρ(G) {ci,j ← Com(hi,j)}, Com(ρ) b ← {0, 1} b = 0 : open all hi,j, ρ check H = ρ(G)

3 / 16

slide-17
SLIDE 17

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

◮ Assuming OWFs, every NP language has a ZK proof/argument. ◮ Applications: identification, secure multiparty computation, . . . Cut-and-choose protocol for Hamiltonian Cycle [FeigeLapidotShamir’90]: P(G, cycle C) V (G) H = ρ(G) {ci,j ← Com(hi,j)}, Com(ρ) b ← {0, 1} b = 0 : open all hi,j, ρ check H = ρ(G) b = 1 : open hi,j for (i, j) ∈ ρ(C) check cycle

3 / 16

slide-18
SLIDE 18

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) V (x) π acc/rej

4 / 16

slide-19
SLIDE 19

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) V (x) π acc/rej ◮ In ‘plain’ model, NIZK = BPP (trivial).

4 / 16

slide-20
SLIDE 20

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) crs V (x) π acc/rej ◮ With common random/reference string, NP ⊆ NIZK assuming:

4 / 16

slide-21
SLIDE 21

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) crs V (x) π acc/rej ◮ With common random/reference string, NP ⊆ NIZK assuming:

⋆ quadratic residuosity/trapdoor permutations

[BDMP’88,FLS’90]

⋆ hard pairing-friendly groups

[GrothOstrovskySahai’06]

⋆ indistinguishability obfuscation

[SahaiWaters’14]

4 / 16

slide-22
SLIDE 22

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) crs V (x) π acc/rej ◮ With common random/reference string, NP ⊆ NIZK assuming:

⋆ quadratic residuosity/trapdoor permutations

[BDMP’88,FLS’90]

⋆ hard pairing-friendly groups

[GrothOstrovskySahai’06]

⋆ indistinguishability obfuscation

[SahaiWaters’14]

Apps: signatures, CCA-secure encryption, cryptocurrencies, . . .

4 / 16

slide-23
SLIDE 23

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) crs V (x) π acc/rej ◮ With common random/reference string, NP ⊆ NIZK assuming:

⋆ quadratic residuosity/trapdoor permutations

[BDMP’88,FLS’90]

⋆ hard pairing-friendly groups

[GrothOstrovskySahai’06]

⋆ indistinguishability obfuscation

[SahaiWaters’14]

Apps: signatures, CCA-secure encryption, cryptocurrencies, . . . ◮ Open [PW’08,PV’08]: ‘post-quantum’ foundation like lattices/LWE

4 / 16

slide-24
SLIDE 24

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

◮ Interaction is not always possible. What if. . . ? P(x, w) crs V (x) π acc/rej ◮ With common random/reference string, NP ⊆ NIZK assuming:

⋆ quadratic residuosity/trapdoor permutations

[BDMP’88,FLS’90]

⋆ hard pairing-friendly groups

[GrothOstrovskySahai’06]

⋆ indistinguishability obfuscation

[SahaiWaters’14]

Apps: signatures, CCA-secure encryption, cryptocurrencies, . . . ◮ Open [PW’08,PV’08]: ‘post-quantum’ foundation like lattices/LWE

Our Main Theorem

◮ NP ⊆ NIZK assuming LWE/worst-case lattice problems are hard.

4 / 16

slide-25
SLIDE 25

Fiat-Shamir Heuristic [FiatShamir’86]

◮ A way to remove interaction from a public-coin protocol, via hashing:

5 / 16

slide-26
SLIDE 26

Fiat-Shamir Heuristic [FiatShamir’86]

◮ A way to remove interaction from a public-coin protocol, via hashing: P V α β ← {0, 1}m γ

5 / 16

slide-27
SLIDE 27

Fiat-Shamir Heuristic [FiatShamir’86]

◮ A way to remove interaction from a public-coin protocol, via hashing: P V α β ← {0, 1}m γ P FS H V FS α [β = H(α)] γ

5 / 16

slide-28
SLIDE 28

Fiat-Shamir Heuristic [FiatShamir’86]

◮ A way to remove interaction from a public-coin protocol, via hashing: P V α β ← {0, 1}m γ P FS H V FS α [β = H(α)] γ ◮ Completeness and ZK (for honest V ) are easy to preserve. For ZK, simulate α, β, γ; then ‘program’ H so that H(α) = β.

5 / 16

slide-29
SLIDE 29

Fiat-Shamir Heuristic [FiatShamir’86]

◮ A way to remove interaction from a public-coin protocol, via hashing: P V α β ← {0, 1}m γ P FS H V FS α [β = H(α)] γ ◮ Completeness and ZK (for honest V ) are easy to preserve. For ZK, simulate α, β, γ; then ‘program’ H so that H(α) = β.

Key Challenge: Soundness

1 Are there α, γ with β = H(α) that fool V ?

5 / 16

slide-30
SLIDE 30

Fiat-Shamir Heuristic [FiatShamir’86]

◮ A way to remove interaction from a public-coin protocol, via hashing: P V α β ← {0, 1}m γ P FS H V FS α [β = H(α)] γ ◮ Completeness and ZK (for honest V ) are easy to preserve. For ZK, simulate α, β, γ; then ‘program’ H so that H(α) = β.

Key Challenge: Soundness

1 Are there α, γ with β = H(α) that fool V ? 2 Can a cheating P ∗ find such values, given H? (Proof vs. argument.)

5 / 16

slide-31
SLIDE 31

Fiat-Shamir, Soundly [KRR’17,CCRR’18,HL’18,CCHLRRW’19]

P FS H V FS α [β = H(α)] γ

6 / 16

slide-32
SLIDE 32

Fiat-Shamir, Soundly [KRR’17,CCRR’18,HL’18,CCHLRRW’19]

P FS H V FS α [β = H(α)] γ ◮ Often, a correlation-intractable [CGH’98] hash family H suffices: Given H ← H, hard/impossible to find α s.t. (α, H(α)) ∈ R. Relation R = {(α, β) : ∃ γ that fools V }.

6 / 16

slide-33
SLIDE 33

Fiat-Shamir, Soundly [KRR’17,CCRR’18,HL’18,CCHLRRW’19]

P FS H V FS α [β = H(α)] γ ◮ Often, a correlation-intractable [CGH’98] hash family H suffices: Given H ← H, hard/impossible to find α s.t. (α, H(α)) ∈ R. Relation R = {(α, β) : ∃ γ that fools V }.

Theorem [HL’18,CCH+’19]

◮ NP ⊆ NIZK assuming a hash family that is CI for all bounded circuits: RC = {(α, C(α))}, |C| ≤ S = poly.

6 / 16

slide-34
SLIDE 34

Fiat-Shamir, Soundly [KRR’17,CCRR’18,HL’18,CCHLRRW’19]

P FS H V FS α [β = H(α)] γ ◮ Often, a correlation-intractable [CGH’98] hash family H suffices: Given H ← H, hard/impossible to find α s.t. (α, H(α)) ∈ R. Relation R = {(α, β) : ∃ γ that fools V }.

Theorem [HL’18,CCH+’19]

◮ NP ⊆ NIZK assuming a hash family that is CI for all bounded circuits: RC = {(α, C(α))}, |C| ≤ S = poly. ◮ Proof idea: for HamCyclem protocol [FLS’90], each potential α has ≤ 1 ‘bad challenge’ β ∈ {0, 1}m allowing V to be fooled.

6 / 16

slide-35
SLIDE 35

Fiat-Shamir, Soundly [KRR’17,CCRR’18,HL’18,CCHLRRW’19]

P FS H V FS α [β = H(α)] γ ◮ Often, a correlation-intractable [CGH’98] hash family H suffices: Given H ← H, hard/impossible to find α s.t. (α, H(α)) ∈ R. Relation R = {(α, β) : ∃ γ that fools V }.

Theorem [HL’18,CCH+’19]

◮ NP ⊆ NIZK assuming a hash family that is CI for all bounded circuits: RC = {(α, C(α))}, |C| ≤ S = poly. ◮ Proof idea: for HamCyclem protocol [FLS’90], each potential α has ≤ 1 ‘bad challenge’ β ∈ {0, 1}m allowing V to be fooled. Bad β is efficiently computable, using trapdoor for commitments in α.

6 / 16

slide-36
SLIDE 36

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants.

7 / 16

slide-37
SLIDE 37

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants. [HL’18] CI for all sparse relations from (strong) obfuscation & more.

7 / 16

slide-38
SLIDE 38

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants. [HL’18] CI for all sparse relations from (strong) obfuscation & more. [CCH+’19] CI for all bounded circuits from circularly secure FHE.

7 / 16

slide-39
SLIDE 39

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants. [HL’18] CI for all sparse relations from (strong) obfuscation & more. [CCH+’19] CI for all bounded circuits from circularly secure FHE. Seems tantalizingly close to LWE! But not known from LWE

  • r worst-case lattice problems.

7 / 16

slide-40
SLIDE 40

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants. [HL’18] CI for all sparse relations from (strong) obfuscation & more. [CCH+’19] CI for all bounded circuits from circularly secure FHE. Seems tantalizingly close to LWE! But not known from LWE

  • r worst-case lattice problems.

Our Main Construction

◮ A CI hash family for all bounded circuits C, from plain LWE

(for small poly approximation factors)

7 / 16

slide-41
SLIDE 41

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants. [HL’18] CI for all sparse relations from (strong) obfuscation & more. [CCH+’19] CI for all bounded circuits from circularly secure FHE. Seems tantalizingly close to LWE! But not known from LWE

  • r worst-case lattice problems.

Our Main Construction

◮ A CI hash family for all bounded circuits C, from plain LWE

(for small poly approximation factors)

◮ As in [CCH+’19], our construction has two ‘intractability modes’:

1 Computational: given H ← H, hard to find α s.t. H(α) = C(α).

Yields statistically ZK argument in random-string model.

7 / 16

slide-42
SLIDE 42

Obtaining Correlation Intractability

[CCRR’18] CI for all sparse relations from ‘exotic’ assumptions, e.g., ‘optimal’ hardness of ad-hoc LWE variants. [HL’18] CI for all sparse relations from (strong) obfuscation & more. [CCH+’19] CI for all bounded circuits from circularly secure FHE. Seems tantalizingly close to LWE! But not known from LWE

  • r worst-case lattice problems.

Our Main Construction

◮ A CI hash family for all bounded circuits C, from plain LWE

(for small poly approximation factors)

◮ As in [CCH+’19], our construction has two ‘intractability modes’:

1 Computational: given H ← H, hard to find α s.t. H(α) = C(α).

Yields statistically ZK argument in random-string model.

2 Statistical: over H ← HC

c

≈ H, such α do not exist w/h.p. Yields computationally ZK proof in reference-string model.

7 / 16

slide-43
SLIDE 43

Overview of Our Construction

1 A CI hash family for all NC1 (log-depth) circuits from LWE/SIS

(for small poly approx factors)

8 / 16

slide-44
SLIDE 44

Overview of Our Construction

1 A CI hash family for all NC1 (log-depth) circuits from LWE/SIS

(for small poly approx factors)

2 A CI ‘bootstrapping’ theorem, from (leveled) FHE decryption circuits

in NC1, to arbitrary bounded circuits, ` a la [Gentry’09,GGH+’13].

(Such FHE can be based on LWE w/ small poly factors [BV’14].)

8 / 16

slide-45
SLIDE 45

Overview of Our Construction

1 A CI hash family for all NC1 (log-depth) circuits from LWE/SIS

(for small poly approx factors)

2 A CI ‘bootstrapping’ theorem, from (leveled) FHE decryption circuits

in NC1, to arbitrary bounded circuits, ` a la [Gentry’09,GGH+’13].

(Such FHE can be based on LWE w/ small poly factors [BV’14].)

◮ For NIZK we do not actually need bootstrapping, because the ‘bad challenge’ functions can be implemented in NC1 [CCH+’19,Lombardi].

8 / 16

slide-46
SLIDE 46

SIS and LWE [Ajtai’96,. . . ,Regev’05,. . . ]

◮ Fix integer modulus q = poly(n) and dimensions n, m > n⌈log q⌉.

9 / 16

slide-47
SLIDE 47

SIS and LWE [Ajtai’96,. . . ,Regev’05,. . . ]

◮ Fix integer modulus q = poly(n) and dimensions n, m > n⌈log q⌉. SIS: given uniform A ∈ Zn×m

q

, find ‘short’ nonzero z ∈ Zm s.t.   A       z      =  0   ∈ Zn

q .

9 / 16

slide-48
SLIDE 48

SIS and LWE [Ajtai’96,. . . ,Regev’05,. . . ]

◮ Fix integer modulus q = poly(n) and dimensions n, m > n⌈log q⌉. SIS: given uniform A ∈ Zn×m

q

, find ‘short’ nonzero z ∈ Zm s.t.   A       z      =  0   ∈ Zn

q .

LWE: distinguish uniform A from   A′ stA′ + et   for uniform A′ ∈ Z(n−1)×m

q

and ‘short’ (Gaussian) s, e ∈ Zm.

9 / 16

slide-49
SLIDE 49

SIS and LWE [Ajtai’96,. . . ,Regev’05,. . . ]

◮ Fix integer modulus q = poly(n) and dimensions n, m > n⌈log q⌉. SIS: given uniform A ∈ Zn×m

q

, find ‘short’ nonzero z ∈ Zm s.t.   A       z      =  0   ∈ Zn

q .

LWE: distinguish uniform A from   A′ stA′ + et   for uniform A′ ∈ Z(n−1)×m

q

and ‘short’ (Gaussian) s, e ∈ Zm.

Theorems

◮ Worst-case lattice problems reduce to average-case SIS/LWE.

9 / 16

slide-50
SLIDE 50

SIS and LWE [Ajtai’96,. . . ,Regev’05,. . . ]

◮ Fix integer modulus q = poly(n) and dimensions n, m > n⌈log q⌉. SIS: given uniform A ∈ Zn×m

q

, find ‘short’ nonzero z ∈ Zm s.t.   A       z      =  0   ∈ Zn

q .

LWE: distinguish uniform A from   A′ stA′ + et   for uniform A′ ∈ Z(n−1)×m

q

and ‘short’ (Gaussian) s, e ∈ Zm. ◮ Linear G: {0, 1}m → Zn

q and nonlinear G− : Zn q → {0, 1}m s.t.

G(G−(u)) = u for all u ∈ Zn

q .

9 / 16

slide-51
SLIDE 51

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉

10 / 16

slide-52
SLIDE 52

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15]

10 / 16

slide-53
SLIDE 53

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m.

10 / 16

slide-54
SLIDE 54

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m. Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

10 / 16

slide-55
SLIDE 55

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m. Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

2 Inertify: homom’ly evaluate linear G: {0, 1}m → Zn q to

get ‘inert commitment’ cα = G(D(α)) ∈ Zn

q .

10 / 16

slide-56
SLIDE 56

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m. Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

2 Inertify: homom’ly evaluate linear G: {0, 1}m → Zn q to

get ‘inert commitment’ cα = G(D(α)) ∈ Zn

q . 3 Output G−(cα) ∈ {0, 1}m.

10 / 16

slide-57
SLIDE 57

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m.

([CCH+’19] uses FHE ciphertexts, also includes ‘circular’ sk.)

Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

2 Inertify: homom’ly evaluate linear G: {0, 1}m → Zn q to

get ‘inert commitment’ cα = G(D(α)) ∈ Zn

q . 3 Output G−(cα) ∈ {0, 1}m.

10 / 16

slide-58
SLIDE 58

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m.

([CCH+’19] uses FHE ciphertexts, also includes ‘circular’ sk.)

Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

([CCH+’19] does the same, but with ciphertexts.)

2 Inertify: homom’ly evaluate linear G: {0, 1}m → Zn q to

get ‘inert commitment’ cα = G(D(α)) ∈ Zn

q . 3 Output G−(cα) ∈ {0, 1}m.

10 / 16

slide-59
SLIDE 59

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m.

([CCH+’19] uses FHE ciphertexts, also includes ‘circular’ sk.)

Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

([CCH+’19] does the same, but with ciphertexts.)

2 Inertify: homom’ly evaluate linear G: {0, 1}m → Zn q to

get ‘inert commitment’ cα = G(D(α)) ∈ Zn

q .

([CCH+’19] evaluates Decsk to get an FHE ciphertext.)

3 Output G−(cα) ∈ {0, 1}m.

10 / 16

slide-60
SLIDE 60

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m > n⌈log q⌉ ◮ Uses LWE/SIS-based FH encryption/commitment [GSW’13,GVW’15] Hash Key: commitment D to ‘dummy’ circuit D: {0, 1}ℓ → {0, 1}m.

([CCH+’19] uses FHE ciphertexts, also includes ‘circular’ sk.)

Evaluation: on input α ∈ {0, 1}ℓ,

1 Homomorphically compute commitment

D(α).

([CCH+’19] does the same, but with ciphertexts.)

2 Inertify: homom’ly evaluate linear G: {0, 1}m → Zn q to

get ‘inert commitment’ cα = G(D(α)) ∈ Zn

q .

([CCH+’19] evaluates Decsk to get an FHE ciphertext.)

3 Output G−(cα) ∈ {0, 1}m.

Key Point: cα ∈ Zn

q hides a Zn q -value: lets us compare the two directly,

not just reason about hidden plaintexts (as in [CCH+’19]).

10 / 16

slide-61
SLIDE 61

Security Proof from SIS

Hash Key: commitment D. Evaluation: H(α) := G−(G(D(α))) ◮ Let C : {0, 1}ℓ → {0, 1}m have size S.

11 / 16

slide-62
SLIDE 62

Security Proof from SIS

Hash Key: commitment D. Evaluation: H(α) := G−(G(D(α))) = C(α). ◮ Let C : {0, 1}ℓ → {0, 1}m have size S. ◮ Suppose that A, given hash key D, finds α s.t. H(α) = C(α).

11 / 16

slide-63
SLIDE 63

Security Proof from SIS

Hash Key: commitment C. Evaluation: H(α) := G−(G(C(α))) = C(α). ◮ Let C : {0, 1}ℓ → {0, 1}m have size S. ◮ Suppose that A, given hash key D, finds α s.t. H(α) = C(α). ◮ By commitment security, same holds for hash key C = Com(C; RC).

11 / 16

slide-64
SLIDE 64

Security Proof from SIS

Hash Key: commitment C. Evaluation: H(α) := G−(G(C(α))) = C(α). ◮ Let C : {0, 1}ℓ → {0, 1}m have size S. ◮ Suppose that A, given hash key D, finds α s.t. H(α) = C(α). ◮ By commitment security, same holds for hash key C = Com(C; RC). Apply G to both sides: cα = G(C(α)) = G(C(α)) ∈ Zn

q .

11 / 16

slide-65
SLIDE 65

Security Proof from SIS

Hash Key: commitment C. Evaluation: H(α) := G−(G(C(α))) = C(α). ◮ Let C : {0, 1}ℓ → {0, 1}m have size S. ◮ Suppose that A, given hash key D, finds α s.t. H(α) = C(α). ◮ By commitment security, same holds for hash key C = Com(C; RC). Apply G to both sides: cα = G(C(α)) = G(C(α)) ∈ Zn

q .

The inert commitment cα itself equals the value it hides.

11 / 16

slide-66
SLIDE 66

Security Proof from SIS

Hash Key: commitment C. Evaluation: H(α) := G−(G(C(α))) = C(α). ◮ Let C : {0, 1}ℓ → {0, 1}m have size S. ◮ Suppose that A, given hash key D, finds α s.t. H(α) = C(α). ◮ By commitment security, same holds for hash key C = Com(C; RC). Apply G to both sides: cα = G(C(α)) = G(C(α)) ∈ Zn

q .

The inert commitment cα itself equals the value it hides.

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS.

11 / 16

slide-67
SLIDE 67

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS.

12 / 16

slide-68
SLIDE 68

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS. ◮ Commitments are w.r.t. an SIS matrix A ∈ Zn×m

q

, w/ ‘short’ coins:

  • C = A · RC + encode(C)

(mod q).

12 / 16

slide-69
SLIDE 69

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS. ◮ Commitments are w.r.t. an SIS matrix A ∈ Zn×m

q

, w/ ‘short’ coins:

  • C = A · RC + encode(C)

(mod q). ◮ From RC we can compute coins R for C(α) [GVW’15]:

  • C(α) = A · R + encode(C(α))

(mod q).

12 / 16

slide-70
SLIDE 70

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS. ◮ Commitments are w.r.t. an SIS matrix A ∈ Zn×m

q

, w/ ‘short’ coins:

  • C = A · RC + encode(C)

(mod q). ◮ From RC we can compute coins R for C(α) [GVW’15]:

  • C(α) = A · R + encode(C(α))

(mod q). ◮ From R we can compute coins rα for inert commitment cα [this work]: G(C(α)) = A · rα + G(C(α)) ∈ Zn

q .

12 / 16

slide-71
SLIDE 71

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS. ◮ Commitments are w.r.t. an SIS matrix A ∈ Zn×m

q

, w/ ‘short’ coins:

  • C = A · RC + encode(C)

(mod q). ◮ From RC we can compute coins R for C(α) [GVW’15]:

  • C(α) = A · R + encode(C(α))

(mod q). ◮ From R we can compute coins rα for inert commitment cα [this work]: G(C(α)) = A · rα + G(C(α)) = G(C(α)) ∈ Zn

q .

12 / 16

slide-72
SLIDE 72

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS. ◮ Commitments are w.r.t. an SIS matrix A ∈ Zn×m

q

, w/ ‘short’ coins:

  • C = A · RC + encode(C)

(mod q). ◮ From RC we can compute coins R for C(α) [GVW’15]:

  • C(α) = A · R + encode(C(α))

(mod q). ◮ From R we can compute coins rα for inert commitment cα [this work]: G(C(α)) = A · rα + G(C(α)) = G(C(α)) ∈ Zn

q .

◮ Thus A · rα = 0, solving SIS!

12 / 16

slide-73
SLIDE 73

Security Proof from SIS

Hash Key: commitment C = Com(C; RC). Evaluation: computes cα = G(C(α)) = G(C(α)).

Theorem

◮ From coins RC for C we can compute coins rα for cα, solving SIS. ◮ Commitments are w.r.t. an SIS matrix A ∈ Zn×m

q

, w/ ‘short’ coins:

  • C = A · RC + encode(C)

(mod q). ◮ From RC we can compute coins R for C(α) [GVW’15]:

  • C(α) = A · R + encode(C(α))

(mod q). ◮ From R we can compute coins rα for inert commitment cα [this work]: G(C(α)) = A · rα + G(C(α)) = G(C(α)) ∈ Zn

q .

◮ Thus A · rα = 0, solving SIS!

(Also need rα = 0, an easy tweak.)

12 / 16

slide-74
SLIDE 74

Inertify: Linear Homomorphism to an Inert Commitment

Given: commitment x [and ‘short’ coins R] for x ∈ {0, 1}m:

  • x = A · R +
  • x1G

· · · xmG

  • (mod q).

13 / 16

slide-75
SLIDE 75

Inertify: Linear Homomorphism to an Inert Commitment

Given: commitment x [and ‘short’ coins R] for x ∈ {0, 1}m:

  • x = A · R +
  • x1G

· · · xmG

  • (mod q).

Goal: compute inert L(x) [and coins r] for linear L: {0, 1}m → Zn

q .

L(x) = A · r + L(x).

13 / 16

slide-76
SLIDE 76

Inertify: Linear Homomorphism to an Inert Commitment

Given: commitment x [and ‘short’ coins R] for x ∈ {0, 1}m:

  • x = A · R +
  • x1G

· · · xmG

  • (mod q).

Goal: compute inert L(x) [and coins r] for linear L: {0, 1}m → Zn

q .

L(x) = A · r + L(x). ◮ Write L(x) =

i xi · ci for some ci ∈ Zn q . Define (short) vector

vL :=    G−1(c1) . . . G−1(cm)    ∈ Zm2.

13 / 16

slide-77
SLIDE 77

Inertify: Linear Homomorphism to an Inert Commitment

Given: commitment x [and ‘short’ coins R] for x ∈ {0, 1}m:

  • x = A · R +
  • x1G

· · · xmG

  • (mod q).

Goal: compute inert L(x) [and coins r] for linear L: {0, 1}m → Zn

q .

L(x) = A · r + L(x). ◮ Write L(x) =

i xi · ci for some ci ∈ Zn q . Define (short) vector

vL :=    G−1(c1) . . . G−1(cm)    ∈ Zm2. ◮ Then

  • x · vL = A · R · vL

r

+

  • i

xi · G · G−1(ci) = A · r + L(x) = L(x).

13 / 16

slide-78
SLIDE 78

LWE-Based Construction

◮ SIS construction is computationally CI with uniform key (A, D).

14 / 16

slide-79
SLIDE 79

LWE-Based Construction

◮ SIS construction is computationally CI with uniform key (A, D). Yields computationally sound, statistically ZK protocol.

14 / 16

slide-80
SLIDE 80

LWE-Based Construction

◮ SIS construction is computationally CI with uniform key (A, D). Yields computationally sound, statistically ZK protocol. ◮ An LWE-based statistically CI construction with non-uniform key:

14 / 16

slide-81
SLIDE 81

LWE-Based Construction

◮ SIS construction is computationally CI with uniform key (A, D). Yields computationally sound, statistically ZK protocol. ◮ An LWE-based statistically CI construction with non-uniform key: Hash Key: commitment C w.r.t. LWE matrix A =

  • A′

stA′+et

  • ∈ Zn×m

q

14 / 16

slide-82
SLIDE 82

LWE-Based Construction

◮ SIS construction is computationally CI with uniform key (A, D). Yields computationally sound, statistically ZK protocol. ◮ An LWE-based statistically CI construction with non-uniform key: Hash Key: commitment C w.r.t. LWE matrix A =

  • A′

stA′+et

  • ∈ Zn×m

q

Evaluation: computes cα = G(C(α)) −

  • q/2
  • ∈ Zn

q

14 / 16

slide-83
SLIDE 83

LWE-Based Construction

◮ SIS construction is computationally CI with uniform key (A, D). Yields computationally sound, statistically ZK protocol. ◮ An LWE-based statistically CI construction with non-uniform key: Hash Key: commitment C w.r.t. LWE matrix A =

  • A′

stA′+et

  • ∈ Zn×m

q

Evaluation: computes cα = G(C(α)) −

  • q/2
  • ∈ Zn

q

◮ Now H(α) = C(α) yields Arα =

  • q/2
  • . So A′rα = 0 and

q 2 = (stA′ + et) · rα = et · rα

(mod q), but e, rα are too small for this. Contradiction!

14 / 16

slide-84
SLIDE 84

Efficiency Improvements [PSS’19]

◮ The CI family is very inefficient: homomorphic eval of m-fold ‘bad challenge’ function for Hamiltonicity protocol

15 / 16

slide-85
SLIDE 85

Efficiency Improvements [PSS’19]

◮ The CI family is very inefficient: homomorphic eval of m-fold ‘bad challenge’ function for Hamiltonicity protocol—after Cook-Levin!

15 / 16

slide-86
SLIDE 86

Efficiency Improvements [PSS’19]

◮ The CI family is very inefficient: homomorphic eval of m-fold ‘bad challenge’ function for Hamiltonicity protocol—after Cook-Levin! ◮ Another approach: let R(x, w) be verifier for desired NP language. P(x, w) V (x) 1. w = FHE(w), prove validity

15 / 16

slide-87
SLIDE 87

Efficiency Improvements [PSS’19]

◮ The CI family is very inefficient: homomorphic eval of m-fold ‘bad challenge’ function for Hamiltonicity protocol—after Cook-Levin! ◮ Another approach: let R(x, w) be verifier for desired NP language. P(x, w) V (x) 1. w = FHE(w), prove validity

  • 2. prove
  • R(x, w) =

1

15 / 16

slide-88
SLIDE 88

Efficiency Improvements [PSS’19]

◮ The CI family is very inefficient: homomorphic eval of m-fold ‘bad challenge’ function for Hamiltonicity protocol—after Cook-Levin! ◮ Another approach: let R(x, w) be verifier for desired NP language. P(x, w) V (x) 1. w = FHE(w), prove validity

  • 2. prove
  • R(x, w) =

1

1 Interactive validity proof for [GSW’15], with ‘cheap’ bad-chall function.

Schnorr-like protocol with rejection sampling [Lyu’12].

15 / 16

slide-89
SLIDE 89

Efficiency Improvements [PSS’19]

◮ The CI family is very inefficient: homomorphic eval of m-fold ‘bad challenge’ function for Hamiltonicity protocol—after Cook-Levin! ◮ Another approach: let R(x, w) be verifier for desired NP language. P(x, w) V (x) 1. w = FHE(w), prove validity

  • 2. prove
  • R(x, w) =

1

1 Interactive validity proof for [GSW’15], with ‘cheap’ bad-chall function.

Schnorr-like protocol with rejection sampling [Lyu’12].

2 Easy: trapdoor sampling [MP’12], cf. ‘context hiding’ [GVW’15]

15 / 16

slide-90
SLIDE 90

Open Problems

1 CI beyond NC1 from SIS (not LWE) w/poly factors?

Currently we need bootstrapping, which brings in LWE.

16 / 16

slide-91
SLIDE 91

Open Problems

1 CI beyond NC1 from SIS (not LWE) w/poly factors?

Currently we need bootstrapping, which brings in LWE.

2 Noninteractive Witness Indistinguishable (NIWI) proofs, plain model?

16 / 16

slide-92
SLIDE 92

Open Problems

1 CI beyond NC1 from SIS (not LWE) w/poly factors?

Currently we need bootstrapping, which brings in LWE.

2 Noninteractive Witness Indistinguishable (NIWI) proofs, plain model?

[GOS’06] gets NIWI from statistical soundness in random-string model.

But we just have computational soundness there.

16 / 16

slide-93
SLIDE 93

Open Problems

1 CI beyond NC1 from SIS (not LWE) w/poly factors?

Currently we need bootstrapping, which brings in LWE.

2 Noninteractive Witness Indistinguishable (NIWI) proofs, plain model?

[GOS’06] gets NIWI from statistical soundness in random-string model.

But we just have computational soundness there.

3 Compactness? Our hash key grows with the circuit size for CI, unlike

those based on ‘exotic’ assumptions (e.g., obfuscation).

16 / 16

slide-94
SLIDE 94

Open Problems

1 CI beyond NC1 from SIS (not LWE) w/poly factors?

Currently we need bootstrapping, which brings in LWE.

2 Noninteractive Witness Indistinguishable (NIWI) proofs, plain model?

[GOS’06] gets NIWI from statistical soundness in random-string model.

But we just have computational soundness there.

3 Compactness? Our hash key grows with the circuit size for CI, unlike

those based on ‘exotic’ assumptions (e.g., obfuscation).

4 Succinct ZK arguments from LWE? Via Fiat-Shamir?

16 / 16

slide-95
SLIDE 95

Open Problems

1 CI beyond NC1 from SIS (not LWE) w/poly factors?

Currently we need bootstrapping, which brings in LWE.

2 Noninteractive Witness Indistinguishable (NIWI) proofs, plain model?

[GOS’06] gets NIWI from statistical soundness in random-string model.

But we just have computational soundness there.

3 Compactness? Our hash key grows with the circuit size for CI, unlike

those based on ‘exotic’ assumptions (e.g., obfuscation).

4 Succinct ZK arguments from LWE? Via Fiat-Shamir?

Thanks!

16 / 16