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 Sina Shiehian TCS+ 1 May 2019 1 / 15 Zero Knowledge [GoldwasserMicaliRackoff85] Zero-knowledge (interactive) proof for language L : allows a prover P to


slide-1
SLIDE 1

Noninteractive Zero Knowledge for NP from Learning With Errors

Chris Peikert Sina Shiehian TCS+ 1 May 2019

1 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

slide-11
SLIDE 11

Zero Knowledge for NP

Theorem [GoldreichMicaliWigderson’86,NguyenOngVadhan’06]

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

3 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

slide-18
SLIDE 18

Noninteractive Zero Knowledge [BlumDeSantisMicaliPersiano’88]

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

4 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 [PV’08]: a ‘post-quantum’ foundation like lattices/LWE [Regev’05]

4 / 15

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 [PV’08]: a ‘post-quantum’ foundation like lattices/LWE [Regev’05]

Our Main Theorem

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

4 / 15

slide-25
SLIDE 25

Fiat-Shamir Heuristic [FiatShamir’86]

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

5 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

slide-31
SLIDE 31

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

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

6 / 15

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 / 15

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 CI hash family for all bounded circuits: RC = {(α, C(α))}, |C| ≤ S = poly.

6 / 15

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 CI hash family 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 / 15

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 CI hash family 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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

slide-46
SLIDE 46

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

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

9 / 15

slide-47
SLIDE 47

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

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

q

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

q .

9 / 15

slide-48
SLIDE 48

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

◮ Fix integer modulus q = poly(n) and dimensions n, m ≥ 2n⌈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 / 15

slide-49
SLIDE 49

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

◮ Fix integer modulus q = poly(n) and dimensions n, m ≥ 2n⌈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 / 15

slide-50
SLIDE 50

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

◮ Fix integer modulus q = poly(n) and dimensions n, m ≥ 2n⌈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 / 15

slide-51
SLIDE 51

Our Construction

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

10 / 15

slide-52
SLIDE 52

Our Construction

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

10 / 15

slide-53
SLIDE 53

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 / 15

slide-54
SLIDE 54

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 / 15

slide-55
SLIDE 55

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 Homomorphically evaluate linear G: {0, 1}m → Zn q to

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

q .

10 / 15

slide-56
SLIDE 56

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 Homomorphically 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 / 15

slide-57
SLIDE 57

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 Homomorphically 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 / 15

slide-58
SLIDE 58

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 Homomorphically 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 / 15

slide-59
SLIDE 59

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 Homomorphically 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 / 15

slide-60
SLIDE 60

Our Construction

◮ Goal: CI for size-S circuits C : {0, 1}ℓ → {0, 1}m, m ≥ 2n⌈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 Homomorphically 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 values (as in [CCH+’19]).

10 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 .

That is, the inert commitment cα itself equals its ‘contents.’

11 / 15

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 .

That is, the inert commitment cα itself equals its ‘contents.’

Theorem

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

11 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

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 / 15

slide-74
SLIDE 74

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 / 15

slide-75
SLIDE 75

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 .

13 / 15

slide-76
SLIDE 76

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 .

◮ Write L(x) =

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

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

13 / 15

slide-77
SLIDE 77

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 .

◮ Write L(x) =

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

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

  • x · vL = A · R · vL

r

+

  • i

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

13 / 15

slide-78
SLIDE 78

LWE-Based Construction

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

14 / 15

slide-79
SLIDE 79

LWE-Based Construction

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

14 / 15

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 / 15

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 / 15

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 / 15

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 / 15

slide-84
SLIDE 84

Open Problems

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

Currently we need bootstrapping, which brings in LWE.

15 / 15

slide-85
SLIDE 85

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?

15 / 15

slide-86
SLIDE 86

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.

15 / 15

slide-87
SLIDE 87

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).

15 / 15

slide-88
SLIDE 88

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?

15 / 15

slide-89
SLIDE 89

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!

15 / 15