Foundation of Cryptography, Lecture 7 Non-Interactive ZK and Proof - - PowerPoint PPT Presentation

foundation of cryptography lecture 7 non interactive zk
SMART_READER_LITE
LIVE PREVIEW

Foundation of Cryptography, Lecture 7 Non-Interactive ZK and Proof - - PowerPoint PPT Presentation

Foundation of Cryptography, Lecture 7 Non-Interactive ZK and Proof of Knowledge Iftach Haitner, Tel Aviv University Tel Aviv University. April 1, 2014 Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 1 / 33 Part I


slide-1
SLIDE 1

Foundation of Cryptography, Lecture 7 Non-Interactive ZK and Proof of Knowledge

Iftach Haitner, Tel Aviv University

Tel Aviv University.

April 1, 2014

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 1 / 33

slide-2
SLIDE 2

Part I Non-Interactive Zero Knowledge

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 2 / 33

slide-3
SLIDE 3

Interaction is crucial for ZK

Claim 1 Assume that L ⊆ {0, 1}∗ has a one-message ZK proof (even computational), with standard completeness and soundness,a then L ∈ BPP.

aThat is, the completeness is 2 3 and soundness error is 1 3. Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33

slide-4
SLIDE 4

Interaction is crucial for ZK

Claim 1 Assume that L ⊆ {0, 1}∗ has a one-message ZK proof (even computational), with standard completeness and soundness,a then L ∈ BPP.

aThat is, the completeness is 2 3 and soundness error is 1 3.

Proof: HW

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33

slide-5
SLIDE 5

Interaction is crucial for ZK

Claim 1 Assume that L ⊆ {0, 1}∗ has a one-message ZK proof (even computational), with standard completeness and soundness,a then L ∈ BPP.

aThat is, the completeness is 2 3 and soundness error is 1 3.

Proof: HW

1

To reduce interaction we relax the zero-knowledge requirement

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33

slide-6
SLIDE 6

Interaction is crucial for ZK

Claim 1 Assume that L ⊆ {0, 1}∗ has a one-message ZK proof (even computational), with standard completeness and soundness,a then L ∈ BPP.

aThat is, the completeness is 2 3 and soundness error is 1 3.

Proof: HW

1

To reduce interaction we relax the zero-knowledge requirement

1

Witness Indistinguishability {

  • (P(w1

x ), V∗)(x)

  • V∗}x∈L ≈c {
  • (P(w2

x ), V∗)(x)

  • V∗}x∈L,

for any {w1

x ∈ RL(x)}x∈L and {w2 x ∈ RL(x)}x∈L

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33

slide-7
SLIDE 7

Interaction is crucial for ZK

Claim 1 Assume that L ⊆ {0, 1}∗ has a one-message ZK proof (even computational), with standard completeness and soundness,a then L ∈ BPP.

aThat is, the completeness is 2 3 and soundness error is 1 3.

Proof: HW

1

To reduce interaction we relax the zero-knowledge requirement

1

Witness Indistinguishability {

  • (P(w1

x ), V∗)(x)

  • V∗}x∈L ≈c {
  • (P(w2

x ), V∗)(x)

  • V∗}x∈L,

for any {w1

x ∈ RL(x)}x∈L and {w2 x ∈ RL(x)}x∈L

2

Witness Hiding

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33

slide-8
SLIDE 8

Interaction is crucial for ZK

Claim 1 Assume that L ⊆ {0, 1}∗ has a one-message ZK proof (even computational), with standard completeness and soundness,a then L ∈ BPP.

aThat is, the completeness is 2 3 and soundness error is 1 3.

Proof: HW

1

To reduce interaction we relax the zero-knowledge requirement

1

Witness Indistinguishability {

  • (P(w1

x ), V∗)(x)

  • V∗}x∈L ≈c {
  • (P(w2

x ), V∗)(x)

  • V∗}x∈L,

for any {w1

x ∈ RL(x)}x∈L and {w2 x ∈ RL(x)}x∈L

2

Witness Hiding

3

Non-interactive “zero knowledge"

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33

slide-9
SLIDE 9

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-10
SLIDE 10

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-11
SLIDE 11

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS) CRS is chosen by the simulator.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-12
SLIDE 12

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS) CRS is chosen by the simulator. What does this definition stand for?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-13
SLIDE 13

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS) CRS is chosen by the simulator. What does this definition stand for? Auxiliary information.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-14
SLIDE 14

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS) CRS is chosen by the simulator. What does this definition stand for? Auxiliary information. Amplification?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-15
SLIDE 15

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS) CRS is chosen by the simulator. What does this definition stand for? Auxiliary information. Amplification? What happens when applying S on x / ∈ L?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-16
SLIDE 16

Non-Interactive Zero Knowledge (NIZK)

Definition 2 (NIZK) A pair of non interactive PPTM’s (P, V) is a NIZK for L ∈ NP, if ∃ℓ ∈ poly s.t. Completeness: Prc←{0,1}ℓ(|x|) [V(x, c, P(x, w(x), c)) = 1] ≥ 2/3, for any x ∈ L and w(x) ∈ RL(x). Soundness: Prc←{0,1}ℓ(|x|)[V(x, c, P∗(x, c)) = 1] ≤ 1/3, for any P∗ and x / ∈ L. Zero knowledge: ∃ PPTM S s.t. {(x, c, P(x, w(x), c))c←{0,1}ℓ(|x|)}x∈L ≈c {x, S(x)}x∈L for any w(x) ∈ RL(x). c – common (random) reference string (CRS) CRS is chosen by the simulator. What does this definition stand for? Auxiliary information. Amplification? What happens when applying S on x / ∈ L? Non-interactive WI

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33

slide-17
SLIDE 17

Section 1 NIZK in HBM

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 5 / 33

slide-18
SLIDE 18

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-19
SLIDE 19

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof. Let cH be the “hidden" CRS:

1

Prover sees cH, and outputs a proof π and a set of indices I.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-20
SLIDE 20

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof. Let cH be the “hidden" CRS:

1

Prover sees cH, and outputs a proof π and a set of indices I.

2

Verifier only sees the bits in cH that are indexed by I.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-21
SLIDE 21

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof. Let cH be the “hidden" CRS:

1

Prover sees cH, and outputs a proof π and a set of indices I.

2

Verifier only sees the bits in cH that are indexed by I.

3

Simulator outputs a proof π, a set of indices I and a partially hidden CRS cH.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-22
SLIDE 22

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof. Let cH be the “hidden" CRS:

1

Prover sees cH, and outputs a proof π and a set of indices I.

2

Verifier only sees the bits in cH that are indexed by I.

3

Simulator outputs a proof π, a set of indices I and a partially hidden CRS cH.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-23
SLIDE 23

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof. Let cH be the “hidden" CRS:

1

Prover sees cH, and outputs a proof π and a set of indices I.

2

Verifier only sees the bits in cH that are indexed by I.

3

Simulator outputs a proof π, a set of indices I and a partially hidden CRS cH. Soundness, completeness and ZK are naturally defined. We give a NIZK for HC, Directed Graph Hamiltonicity, in the HBM, and then transfer it into a NIZK for HC in the standard model.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-24
SLIDE 24

Hidden Bits Model (HBM)

A CRS is chosen at random, but only the prover can see it. The prover chooses which bits to reveal as part of the proof. Let cH be the “hidden" CRS:

1

Prover sees cH, and outputs a proof π and a set of indices I.

2

Verifier only sees the bits in cH that are indexed by I.

3

Simulator outputs a proof π, a set of indices I and a partially hidden CRS cH. Soundness, completeness and ZK are naturally defined. We give a NIZK for HC, Directed Graph Hamiltonicity, in the HBM, and then transfer it into a NIZK for HC in the standard model. The latter implies a NIZK for all NP.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33

slide-25
SLIDE 25

Useful Matrix

Permutation matrix: an n × n Boolean matrix, where each row/column contains a single 1

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33

slide-26
SLIDE 26

Useful Matrix

Permutation matrix: an n × n Boolean matrix, where each row/column contains a single 1 Hamiltonian matrix: an n × n adjacency matrix of a directed graph that is an Hamiltonian cycle of all nodes (note that Hamiltonian matrix is also a permutation matrix)/

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33

slide-27
SLIDE 27

Useful Matrix

Permutation matrix: an n × n Boolean matrix, where each row/column contains a single 1 Hamiltonian matrix: an n × n adjacency matrix of a directed graph that is an Hamiltonian cycle of all nodes (note that Hamiltonian matrix is also a permutation matrix)/ An n3 × n3 Boolean matrix is useful: if it contains an Hamiltonian generalized n × n sub-matrix, and all its other entries are zeros.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33

slide-28
SLIDE 28

Useful Matrix

Permutation matrix: an n × n Boolean matrix, where each row/column contains a single 1 Hamiltonian matrix: an n × n adjacency matrix of a directed graph that is an Hamiltonian cycle of all nodes (note that Hamiltonian matrix is also a permutation matrix)/ An n3 × n3 Boolean matrix is useful: if it contains an Hamiltonian generalized n × n sub-matrix, and all its other entries are zeros.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33

slide-29
SLIDE 29

Useful Matrix

Permutation matrix: an n × n Boolean matrix, where each row/column contains a single 1 Hamiltonian matrix: an n × n adjacency matrix of a directed graph that is an Hamiltonian cycle of all nodes (note that Hamiltonian matrix is also a permutation matrix)/ An n3 × n3 Boolean matrix is useful: if it contains an Hamiltonian generalized n × n sub-matrix, and all its other entries are zeros. Claim 3 Let T be a random n3 × n3 Boolean matrix where each entry is 1 w.p n−5. Then, Pr [T is useful] ∈ Ω(n−3/2).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33

slide-30
SLIDE 30

Proving Claim 3

The expected # of ones (entries) in T is n6 · n−5 = n.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33

slide-31
SLIDE 31

Proving Claim 3

The expected # of ones (entries) in T is n6 · n−5 = n. By (extended) Chernoff bound, T contains exactly n ones w.p. θ(1/√n).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33

slide-32
SLIDE 32

Proving Claim 3

The expected # of ones (entries) in T is n6 · n−5 = n. By (extended) Chernoff bound, T contains exactly n ones w.p. θ(1/√n). Each row/colomn of T contain more than a single one entry with probability at most n3

2

  • · n−10 < n−4.

Hence, wp at least 1 − 2 · n3 · n−4 = 1 − O(n−1), no raw or column of T contains more than a single one entry.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33

slide-33
SLIDE 33

Proving Claim 3

The expected # of ones (entries) in T is n6 · n−5 = n. By (extended) Chernoff bound, T contains exactly n ones w.p. θ(1/√n). Each row/colomn of T contain more than a single one entry with probability at most n3

2

  • · n−10 < n−4.

Hence, wp at least 1 − 2 · n3 · n−4 = 1 − O(n−1), no raw or column of T contains more than a single one entry. Hence, wp θ(1/√n) the matrix T contains a permutation matrix and all its other entries are zero.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33

slide-34
SLIDE 34

Proving Claim 3

The expected # of ones (entries) in T is n6 · n−5 = n. By (extended) Chernoff bound, T contains exactly n ones w.p. θ(1/√n). Each row/colomn of T contain more than a single one entry with probability at most n3

2

  • · n−10 < n−4.

Hence, wp at least 1 − 2 · n3 · n−4 = 1 − O(n−1), no raw or column of T contains more than a single one entry. Hence, wp θ(1/√n) the matrix T contains a permutation matrix and all its other entries are zero. A random permutation matrix forms a cycle wp 1/n (there are n! permutation matrices and (n − 1)! of them form a cycle)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33

slide-35
SLIDE 35

NIZK for Hamiltonicity in HBM

Common input: a directed graph G = ([n], E)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33

slide-36
SLIDE 36

NIZK for Hamiltonicity in HBM

Common input: a directed graph G = ([n], E) we assume wlg. that n is a power of 2

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33

slide-37
SLIDE 37

NIZK for Hamiltonicity in HBM

Common input: a directed graph G = ([n], E) we assume wlg. that n is a power of 2 Common reference string T viewed as a n3 × n3 Boolean matrix, where each entry is 1 w.p n−5 (?)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33

slide-38
SLIDE 38

NIZK for Hamiltonicity in HBM

Common input: a directed graph G = ([n], E) we assume wlg. that n is a power of 2 Common reference string T viewed as a n3 × n3 Boolean matrix, where each entry is 1 w.p n−5 (?)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33

slide-39
SLIDE 39

NIZK for Hamiltonicity in HBM

Common input: a directed graph G = ([n], E) we assume wlg. that n is a power of 2 Common reference string T viewed as a n3 × n3 Boolean matrix, where each entry is 1 w.p n−5 (?) Algorithm 4 (P) Input: n-node graph G and a cycle C in G. CRS: T ∈ {0, 1}n3×n3.

1

If T not useful, set I = n3 × n3 (i.e., reveal all T) and φ =⊥.

2

Otherwise, let H be the (generalized) n × n sub-matrix containing the hamiltonian cycle in T.

1

Set I = T \ H (i.e., reveal the bits of T outside of H).

2

Choose φ ← Πn s.t. C is mapped to the cycle in H.

3

Add the entries in H corresponding to non edges in G (wrt. φ) to I.

3

Output π = (I, φ).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33

slide-40
SLIDE 40

NIZK for Hamiltonicity in HBM cont.

Algorithm 5 (V) Input: a graph G, index set I ⊆ [n3] × [n3], ordered set {Ti}i∈I, a mapping φ. Accept if all the bits of T are revealed and T is not useful. Otherwise,

1

Verify that ∃ n × n submatrix H ⊆ T with all entries in T \ H are zeros.

2

Verify that φ ∈ Πn, and that all entries of H not corresponding to edges of G (according to φ) are zeros.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 10 / 33

slide-41
SLIDE 41

NIZK for Hamiltonicity in HBM cont.

Algorithm 5 (V) Input: a graph G, index set I ⊆ [n3] × [n3], ordered set {Ti}i∈I, a mapping φ. Accept if all the bits of T are revealed and T is not useful. Otherwise,

1

Verify that ∃ n × n submatrix H ⊆ T with all entries in T \ H are zeros.

2

Verify that φ ∈ Πn, and that all entries of H not corresponding to edges of G (according to φ) are zeros. Claim 6 The above protocol is a perfect NIZK for HC in the HBM, with perfect completeness and soundness error 1 − Ω(n−3/2)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 10 / 33

slide-42
SLIDE 42

Proving Claim 6

Completeness: Clear.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 11 / 33

slide-43
SLIDE 43

Proving Claim 6

Completeness: Clear. Soundness: Assume T is useful and V accepts. Then φ−1 maps the unrevealed “edges" of H to the edges of G. Hence, φ−1 maps the cycle in H to an Hamiltonian cycle in G.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 11 / 33

slide-44
SLIDE 44

Proving Claim 6

Completeness: Clear. Soundness: Assume T is useful and V accepts. Then φ−1 maps the unrevealed “edges" of H to the edges of G. Hence, φ−1 maps the cycle in H to an Hamiltonian cycle in G. Zero knowledge?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 11 / 33

slide-45
SLIDE 45

Algorithm 7 (S) Input: G

1

Choose T at random (i.e., each entry is one wp n−5).

2

If T is not useful, set I = n3 × n3 and φ =⊥.

3

Otherwise,

1

Set I = T \ H (where H is the hamiltonian sub-matrix in T).

2

Let φ ← Πn. Replace all entries of H with zeros.

3

Add the entries in H corresponding to non edges in G to I.

4

Output π = (T, I, φ).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33

slide-46
SLIDE 46

Algorithm 7 (S) Input: G

1

Choose T at random (i.e., each entry is one wp n−5).

2

If T is not useful, set I = n3 × n3 and φ =⊥.

3

Otherwise,

1

Set I = T \ H (where H is the hamiltonian sub-matrix in T).

2

Let φ ← Πn. Replace all entries of H with zeros.

3

Add the entries in H corresponding to non edges in G to I.

4

Output π = (T, I, φ). Perfect simulation for non-useful T’s.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33

slide-47
SLIDE 47

Algorithm 7 (S) Input: G

1

Choose T at random (i.e., each entry is one wp n−5).

2

If T is not useful, set I = n3 × n3 and φ =⊥.

3

Otherwise,

1

Set I = T \ H (where H is the hamiltonian sub-matrix in T).

2

Let φ ← Πn. Replace all entries of H with zeros.

3

Add the entries in H corresponding to non edges in G to I.

4

Output π = (T, I, φ). Perfect simulation for non-useful T’s. For useful T, the location of H is uniform in the real and simulated case.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33

slide-48
SLIDE 48

Algorithm 7 (S) Input: G

1

Choose T at random (i.e., each entry is one wp n−5).

2

If T is not useful, set I = n3 × n3 and φ =⊥.

3

Otherwise,

1

Set I = T \ H (where H is the hamiltonian sub-matrix in T).

2

Let φ ← Πn. Replace all entries of H with zeros.

3

Add the entries in H corresponding to non edges in G to I.

4

Output π = (T, I, φ). Perfect simulation for non-useful T’s. For useful T, the location of H is uniform in the real and simulated case. φ is a random element in Πn in both (real and simulated) cases

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33

slide-49
SLIDE 49

Algorithm 7 (S) Input: G

1

Choose T at random (i.e., each entry is one wp n−5).

2

If T is not useful, set I = n3 × n3 and φ =⊥.

3

Otherwise,

1

Set I = T \ H (where H is the hamiltonian sub-matrix in T).

2

Let φ ← Πn. Replace all entries of H with zeros.

3

Add the entries in H corresponding to non edges in G to I.

4

Output π = (T, I, φ). Perfect simulation for non-useful T’s. For useful T, the location of H is uniform in the real and simulated case. φ is a random element in Πn in both (real and simulated) cases Hence, the simulation is perfect!

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33

slide-50
SLIDE 50

Section 2 From HBM to Standard NIZK

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 13 / 33

slide-51
SLIDE 51

Trapdoor permutations

Definition 8 (trapdoor permutations) A triplet (G, f, Inv), where G is a PPTM, and f and Inv are poly-time computable, is a family of trapdoor permutation (TDP), if:

1

On input 1n, G(1n) outputs a pair (sk, pk).

2

fpk = f(pk, ·) is a permutation over {0, 1}n, for every n ∈ N and pk ∈ Supp(G(1n)2).

3

Invsk = Inv(sk, ·) ≡ f −1

pk for every (sk, pk) ∈ Supp(G(1n))

4

For any PPTM A, Prx←{0,1}n,pk←G(1n)2

  • A(pk, x) = f −1

pk (x)

  • = neg(n)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 14 / 33

slide-52
SLIDE 52

Hardcore Predicates for Trapdoor Permutations

Definition 9 (hardcore predicates for TDP) A polynomial-time computable b: {0, 1}n → {0, 1} is a hardcore predicate of a TDP (G, f, Inv), if Pr

pk←G(1n)2,x←{0,1}n[P(pk, fpk(x)) = b(x)] ≤ 1

2 + neg(n), for any PPTM P.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 15 / 33

slide-53
SLIDE 53

Hardcore Predicates for Trapdoor Permutations

Definition 9 (hardcore predicates for TDP) A polynomial-time computable b: {0, 1}n → {0, 1} is a hardcore predicate of a TDP (G, f, Inv), if Pr

pk←G(1n)2,x←{0,1}n[P(pk, fpk(x)) = b(x)] ≤ 1

2 + neg(n), for any PPTM P. Goldreich-Levin: any TDP has an hardcore predicate (ignoring padding issues)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 15 / 33

slide-54
SLIDE 54

Example, RSA

In the following n ∈ N and all operations are modulo n.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-55
SLIDE 55

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-56
SLIDE 56

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

φ(n) = |Z∗

n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-57
SLIDE 57

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

φ(n) = |Z∗

n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)

For every e ∈ Z∗

φ(n), the function f(x) ≡ xe mod n is a permutation over

Z∗

n.

In particular, (xe)d ≡ x mod n, for every x ∈ Z∗

n, where

d ≡ e−1 mod φ(n)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-58
SLIDE 58

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

φ(n) = |Z∗

n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)

For every e ∈ Z∗

φ(n), the function f(x) ≡ xe mod n is a permutation over

Z∗

n.

In particular, (xe)d ≡ x mod n, for every x ∈ Z∗

n, where

d ≡ e−1 mod φ(n)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-59
SLIDE 59

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

φ(n) = |Z∗

n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)

For every e ∈ Z∗

φ(n), the function f(x) ≡ xe mod n is a permutation over

Z∗

n.

In particular, (xe)d ≡ x mod n, for every x ∈ Z∗

n, where

d ≡ e−1 mod φ(n) Definition 10 (RSA) G(p, q) sets pk = (n = pq, e) for some e ∈ Z∗

φ(n), and

sk = (n, d ≡ e−1 mod φ(n)) f(pk, x) = xe mod n Inv(sk, x) = xd mod n

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-60
SLIDE 60

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

φ(n) = |Z∗

n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)

For every e ∈ Z∗

φ(n), the function f(x) ≡ xe mod n is a permutation over

Z∗

n.

In particular, (xe)d ≡ x mod n, for every x ∈ Z∗

n, where

d ≡ e−1 mod φ(n) Definition 10 (RSA) G(p, q) sets pk = (n = pq, e) for some e ∈ Z∗

φ(n), and

sk = (n, d ≡ e−1 mod φ(n)) f(pk, x) = xe mod n Inv(sk, x) = xd mod n Factoring is easy = ⇒ RSA is easy.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-61
SLIDE 61

Example, RSA

In the following n ∈ N and all operations are modulo n. Zn = [n] and Z∗

n = {x ∈ [n]: gcd(x, n) = 1}

φ(n) = |Z∗

n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)

For every e ∈ Z∗

φ(n), the function f(x) ≡ xe mod n is a permutation over

Z∗

n.

In particular, (xe)d ≡ x mod n, for every x ∈ Z∗

n, where

d ≡ e−1 mod φ(n) Definition 10 (RSA) G(p, q) sets pk = (n = pq, e) for some e ∈ Z∗

φ(n), and

sk = (n, d ≡ e−1 mod φ(n)) f(pk, x) = xe mod n Inv(sk, x) = xd mod n Factoring is easy = ⇒ RSA is easy. The other direction?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33

slide-62
SLIDE 62

The transformation

Let (PH, VH) be a HBM NIZK for L, and let ℓ(n) be the length of the CRS used for x ∈ {0, 1}n.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33

slide-63
SLIDE 63

The transformation

Let (PH, VH) be a HBM NIZK for L, and let ℓ(n) be the length of the CRS used for x ∈ {0, 1}n. Let (G, f, Inv) be a TDP and let b be an hardcore bit for it. For simplicity, assume that G(1n) chooses (sk, pk) as follows: where PK : {0, 1}n → {0, 1}n is a polynomial-time computable function.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33

slide-64
SLIDE 64

The transformation

Let (PH, VH) be a HBM NIZK for L, and let ℓ(n) be the length of the CRS used for x ∈ {0, 1}n. Let (G, f, Inv) be a TDP and let b be an hardcore bit for it. For simplicity, assume that G(1n) chooses (sk, pk) as follows:

1

sk ← {0, 1}n where PK : {0, 1}n → {0, 1}n is a polynomial-time computable function.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33

slide-65
SLIDE 65

The transformation

Let (PH, VH) be a HBM NIZK for L, and let ℓ(n) be the length of the CRS used for x ∈ {0, 1}n. Let (G, f, Inv) be a TDP and let b be an hardcore bit for it. For simplicity, assume that G(1n) chooses (sk, pk) as follows:

1

sk ← {0, 1}n

2

pk = PK(sk) where PK : {0, 1}n → {0, 1}n is a polynomial-time computable function.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33

slide-66
SLIDE 66

The transformation

Let (PH, VH) be a HBM NIZK for L, and let ℓ(n) be the length of the CRS used for x ∈ {0, 1}n. Let (G, f, Inv) be a TDP and let b be an hardcore bit for it. For simplicity, assume that G(1n) chooses (sk, pk) as follows:

1

sk ← {0, 1}n

2

pk = PK(sk) where PK : {0, 1}n → {0, 1}n is a polynomial-time computable function.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33

slide-67
SLIDE 67

The transformation

Let (PH, VH) be a HBM NIZK for L, and let ℓ(n) be the length of the CRS used for x ∈ {0, 1}n. Let (G, f, Inv) be a TDP and let b be an hardcore bit for it. For simplicity, assume that G(1n) chooses (sk, pk) as follows:

1

sk ← {0, 1}n

2

pk = PK(sk) where PK : {0, 1}n → {0, 1}n is a polynomial-time computable function. We construct a NIZK (P, V) for L, with the same completeness and “not too large" soundness error.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33

slide-68
SLIDE 68

The protocol

Algorithm 11 (P) Input: x ∈ L, w ∈ RL(x) and CRS c = (c1, . . . , cℓ) ∈ {0, 1}nℓ, where n = |x| and ℓ = ℓ(n).

1

Choose (sk, pk) ← G(sk) and compute cH = (b(z1 = f −1

pk (c1)), . . . , b(zℓ(n) = f −1 pk (cℓ)))

2

Let (πH, I) ← PH(x, w, cH) and output (πH, I, pk, {zi}i∈I)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 18 / 33

slide-69
SLIDE 69

The protocol

Algorithm 11 (P) Input: x ∈ L, w ∈ RL(x) and CRS c = (c1, . . . , cℓ) ∈ {0, 1}nℓ, where n = |x| and ℓ = ℓ(n).

1

Choose (sk, pk) ← G(sk) and compute cH = (b(z1 = f −1

pk (c1)), . . . , b(zℓ(n) = f −1 pk (cℓ)))

2

Let (πH, I) ← PH(x, w, cH) and output (πH, I, pk, {zi}i∈I) Algorithm 12 (V) Input: x ∈ L, CRS c = (c1, . . . , cℓ) ∈ {0, 1}np, and (πH, I, pk, {zi}i∈I), where n = |x| and ℓ = ℓ(n).

1

Verify that pk ∈ {0, 1}n and that fpk(zi) = ci for every i ∈ I

2

Return VH(x, πH, I, cH), where cH

i = b(zi) for every i ∈ I.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 18 / 33

slide-70
SLIDE 70

Claim 13 Assuming that (PH, VH) is a NIZK for L in the HBM with soundness error 2−n · α, then (P, V) is a NIZK for L with the same completeness, and soundness error α.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33

slide-71
SLIDE 71

Claim 13 Assuming that (PH, VH) is a NIZK for L in the HBM with soundness error 2−n · α, then (P, V) is a NIZK for L with the same completeness, and soundness error α. Proof: Assume for simplicity that b is unbiased (i.e., Pr[b(Un) = 1] = 1

2).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33

slide-72
SLIDE 72

Claim 13 Assuming that (PH, VH) is a NIZK for L in the HBM with soundness error 2−n · α, then (P, V) is a NIZK for L with the same completeness, and soundness error α. Proof: Assume for simplicity that b is unbiased (i.e., Pr[b(Un) = 1] = 1

2).

For every pk ∈ {0, 1}n:

  • b(f −1

pk (c1)), . . . , b(f −1 pk (cℓ))

  • c←{0,1}np is uniformly

distributed in {0, 1}ℓ.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33

slide-73
SLIDE 73

Claim 13 Assuming that (PH, VH) is a NIZK for L in the HBM with soundness error 2−n · α, then (P, V) is a NIZK for L with the same completeness, and soundness error α. Proof: Assume for simplicity that b is unbiased (i.e., Pr[b(Un) = 1] = 1

2).

For every pk ∈ {0, 1}n:

  • b(f −1

pk (c1)), . . . , b(f −1 pk (cℓ))

  • c←{0,1}np is uniformly

distributed in {0, 1}ℓ. Completeness: clear

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33

slide-74
SLIDE 74

Claim 13 Assuming that (PH, VH) is a NIZK for L in the HBM with soundness error 2−n · α, then (P, V) is a NIZK for L with the same completeness, and soundness error α. Proof: Assume for simplicity that b is unbiased (i.e., Pr[b(Un) = 1] = 1

2).

For every pk ∈ {0, 1}n:

  • b(f −1

pk (c1)), . . . , b(f −1 pk (cℓ))

  • c←{0,1}np is uniformly

distributed in {0, 1}ℓ. Completeness: clear Soundness: follows by a union bound over all possible choice of pk ∈ {0, 1}n.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33

slide-75
SLIDE 75

Claim 13 Assuming that (PH, VH) is a NIZK for L in the HBM with soundness error 2−n · α, then (P, V) is a NIZK for L with the same completeness, and soundness error α. Proof: Assume for simplicity that b is unbiased (i.e., Pr[b(Un) = 1] = 1

2).

For every pk ∈ {0, 1}n:

  • b(f −1

pk (c1)), . . . , b(f −1 pk (cℓ))

  • c←{0,1}np is uniformly

distributed in {0, 1}ℓ. Completeness: clear Soundness: follows by a union bound over all possible choice of pk ∈ {0, 1}n. Zero knowledge:?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33

slide-76
SLIDE 76

Proving zero knowledge

Algorithm 14 (S) Input: x ∈ {0, 1}n of length n. Let (πH, I, cH) = SH(x), where SH is the simulator of (PH, VH) Output (c, (πH, I, pk, {zi}i∈I)), where

◮ pk ← G(Un) ◮ Each zi is chosen at random in {0, 1}n such that b(zi) = cH

i

◮ ci = fpk(zi) for i ∈ I, and a random value in {0, 1}n otherwise. Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 20 / 33

slide-77
SLIDE 77

Proving zero knowledge

Algorithm 14 (S) Input: x ∈ {0, 1}n of length n. Let (πH, I, cH) = SH(x), where SH is the simulator of (PH, VH) Output (c, (πH, I, pk, {zi}i∈I)), where

◮ pk ← G(Un) ◮ Each zi is chosen at random in {0, 1}n such that b(zi) = cH

i

◮ ci = fpk(zi) for i ∈ I, and a random value in {0, 1}n otherwise.

The above implicitly describes an efficient M s.t. M(SH(x)) ≡ S(x) and M(PH(x, w(x))) ≈c P(x, w(x))

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 20 / 33

slide-78
SLIDE 78

Proving zero knowledge

Algorithm 14 (S) Input: x ∈ {0, 1}n of length n. Let (πH, I, cH) = SH(x), where SH is the simulator of (PH, VH) Output (c, (πH, I, pk, {zi}i∈I)), where

◮ pk ← G(Un) ◮ Each zi is chosen at random in {0, 1}n such that b(zi) = cH

i

◮ ci = fpk(zi) for i ∈ I, and a random value in {0, 1}n otherwise.

The above implicitly describes an efficient M s.t. M(SH(x)) ≡ S(x) and M(PH(x, w(x))) ≈c P(x, w(x)) Hence, distinguishing P(x, w(x)) from S(x) is hard

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 20 / 33

slide-79
SLIDE 79

Proving zero knowledge

Algorithm 14 (S) Input: x ∈ {0, 1}n of length n. Let (πH, I, cH) = SH(x), where SH is the simulator of (PH, VH) Output (c, (πH, I, pk, {zi}i∈I)), where

◮ pk ← G(Un) ◮ Each zi is chosen at random in {0, 1}n such that b(zi) = cH

i

◮ ci = fpk(zi) for i ∈ I, and a random value in {0, 1}n otherwise.

The above implicitly describes an efficient M s.t. M(SH(x)) ≡ S(x) and M(PH(x, w(x))) ≈c P(x, w(x)) Hence, distinguishing P(x, w(x)) from S(x) is hard Direct solution for our NIZK

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 20 / 33

slide-80
SLIDE 80

Proving zero knowledge

Algorithm 14 (S) Input: x ∈ {0, 1}n of length n. Let (πH, I, cH) = SH(x), where SH is the simulator of (PH, VH) Output (c, (πH, I, pk, {zi}i∈I)), where

◮ pk ← G(Un) ◮ Each zi is chosen at random in {0, 1}n such that b(zi) = cH

i

◮ ci = fpk(zi) for i ∈ I, and a random value in {0, 1}n otherwise.

The above implicitly describes an efficient M s.t. M(SH(x)) ≡ S(x) and M(PH(x, w(x))) ≈c P(x, w(x)) Hence, distinguishing P(x, w(x)) from S(x) is hard Direct solution for our NIZK An “adaptive" NIZK

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 20 / 33

slide-81
SLIDE 81

Section 3 Adaptive NIZK

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 21 / 33

slide-82
SLIDE 82

Adaptive NIZK

x is chosen after the CRS.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-83
SLIDE 83

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-84
SLIDE 84

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-85
SLIDE 85

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-86
SLIDE 86

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3 ZK: ∃ pair of PPTM’s (S1, S2) s.t. ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n {(c ← {0, 1}ℓ(n), x = f(c), P(x, w(x)))}n∈N ≈c {Sf(n)}n∈N. where Sf(n) is the output of the following process

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-87
SLIDE 87

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3 ZK: ∃ pair of PPTM’s (S1, S2) s.t. ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n {(c ← {0, 1}ℓ(n), x = f(c), P(x, w(x)))}n∈N ≈c {Sf(n)}n∈N. where Sf(n) is the output of the following process

1

(c, s) ← S1(1n)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-88
SLIDE 88

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3 ZK: ∃ pair of PPTM’s (S1, S2) s.t. ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n {(c ← {0, 1}ℓ(n), x = f(c), P(x, w(x)))}n∈N ≈c {Sf(n)}n∈N. where Sf(n) is the output of the following process

1

(c, s) ← S1(1n)

2

x = f(c)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-89
SLIDE 89

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3 ZK: ∃ pair of PPTM’s (S1, S2) s.t. ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n {(c ← {0, 1}ℓ(n), x = f(c), P(x, w(x)))}n∈N ≈c {Sf(n)}n∈N. where Sf(n) is the output of the following process

1

(c, s) ← S1(1n)

2

x = f(c)

3

Output (c, x, S2(x, c, s))

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-90
SLIDE 90

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3 ZK: ∃ pair of PPTM’s (S1, S2) s.t. ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n {(c ← {0, 1}ℓ(n), x = f(c), P(x, w(x)))}n∈N ≈c {Sf(n)}n∈N. where Sf(n) is the output of the following process

1

(c, s) ← S1(1n)

2

x = f(c)

3

Output (c, x, S2(x, c, s))

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-91
SLIDE 91

Adaptive NIZK

x is chosen after the CRS. Completeness: ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n and w(x) ∈ RL(x): Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P(x, w(x), c)) = 1] ≥ 2/3 Soundness: ∀f : {0, 1}ℓ(n) → {0, 1}n and P∗ Prc←{0,1}ℓ(n);x=f(c)[V(x, c, P∗(c)) = 1 ∧ x / ∈ L] ≤ 1/3 ZK: ∃ pair of PPTM’s (S1, S2) s.t. ∀f : {0, 1}ℓ(n) → L ∩ {0, 1}n {(c ← {0, 1}ℓ(n), x = f(c), P(x, w(x)))}n∈N ≈c {Sf(n)}n∈N. where Sf(n) is the output of the following process

1

(c, s) ← S1(1n)

2

x = f(c)

3

Output (c, x, S2(x, c, s)) Why do we need s?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33

slide-92
SLIDE 92

Adaptive NIZK, cont.

Adaptive completeness and soundness are easy to achieve from any non-adaptive NIZK.(?)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33

slide-93
SLIDE 93

Adaptive NIZK, cont.

Adaptive completeness and soundness are easy to achieve from any non-adaptive NIZK.(?) Not every NIZK is adaptive ZK.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33

slide-94
SLIDE 94

Adaptive NIZK, cont.

Adaptive completeness and soundness are easy to achieve from any non-adaptive NIZK.(?) Not every NIZK is adaptive ZK.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33

slide-95
SLIDE 95

Adaptive NIZK, cont.

Adaptive completeness and soundness are easy to achieve from any non-adaptive NIZK.(?) Not every NIZK is adaptive ZK. Theorem 15 Assume TDP exist, then every NP language has an adaptive NIZK with perfect completeness and negligible soundness error.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33

slide-96
SLIDE 96

Adaptive NIZK, cont.

Adaptive completeness and soundness are easy to achieve from any non-adaptive NIZK.(?) Not every NIZK is adaptive ZK. Theorem 15 Assume TDP exist, then every NP language has an adaptive NIZK with perfect completeness and negligible soundness error. In the following, when saying adaptive NIZK, we mean negligible completeness and soundness error.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33

slide-97
SLIDE 97

Section 4 Simulation-Sound NIZK

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 24 / 33

slide-98
SLIDE 98

Simulation soundness

A NIZK system (P, V) for L has (one-time) simulation soundness, if ∃ a pair

  • f PPTM’s S = (S1, S2) that satisfies the ZK property of P with respect to L,

and in addition

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 25 / 33

slide-99
SLIDE 99

Simulation soundness

A NIZK system (P, V) for L has (one-time) simulation soundness, if ∃ a pair

  • f PPTM’s S = (S1, S2) that satisfies the ZK property of P with respect to L,

and in addition Pr

(c,x,π,x′,π′)←Expn

V,S,P∗

[x′ / ∈ L ∧ V(x′, π′, c) = 1 ∧ (x′, π′) = (x, π)] = neg(n) for any pair of PPTM’s P∗ = (P∗

1, P∗ 2).

Experiment 16 (Expn

V,S,P∗)

1

(c, s) ← S1(1n)

2

(x, p) ← P∗

1(1n, c)

3

π ← S2(x, c, s)

4

(x′, π′) ← P∗

2(p, π)

5

Output (c, x, π, x′, π′)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 25 / 33

slide-100
SLIDE 100

Simulation soundness

A NIZK system (P, V) for L has (one-time) simulation soundness, if ∃ a pair

  • f PPTM’s S = (S1, S2) that satisfies the ZK property of P with respect to L,

and in addition Pr

(c,x,π,x′,π′)←Expn

V,S,P∗

[x′ / ∈ L ∧ V(x′, π′, c) = 1 ∧ (x′, π′) = (x, π)] = neg(n) for any pair of PPTM’s P∗ = (P∗

1, P∗ 2).

Experiment 16 (Expn

V,S,P∗)

1

(c, s) ← S1(1n)

2

(x, p) ← P∗

1(1n, c)

3

π ← S2(x, c, s)

4

(x′, π′) ← P∗

2(p, π)

5

Output (c, x, π, x′, π′)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 25 / 33

slide-101
SLIDE 101

Simulation soundness, cont.

After seeing a simulated (possibly false) proof, hard to generate an additional false proof

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33

slide-102
SLIDE 102

Simulation soundness, cont.

After seeing a simulated (possibly false) proof, hard to generate an additional false proof Definition only considers efficient provers

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33

slide-103
SLIDE 103

Simulation soundness, cont.

After seeing a simulated (possibly false) proof, hard to generate an additional false proof Definition only considers efficient provers (P, V) might be adaptive or non-adaptive

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33

slide-104
SLIDE 104

Simulation soundness, cont.

After seeing a simulated (possibly false) proof, hard to generate an additional false proof Definition only considers efficient provers (P, V) might be adaptive or non-adaptive Adaptive NIZK guarantees weak type of simulation soundness (hard to fake proofs for simulated CRS)(?)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33

slide-105
SLIDE 105

Simulation soundness, cont.

After seeing a simulated (possibly false) proof, hard to generate an additional false proof Definition only considers efficient provers (P, V) might be adaptive or non-adaptive Adaptive NIZK guarantees weak type of simulation soundness (hard to fake proofs for simulated CRS)(?) Does the adaptive NIZK we seen have simulation soundness?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33

slide-106
SLIDE 106

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-107
SLIDE 107

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-108
SLIDE 108

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-109
SLIDE 109

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

◮ Pseudorandom range: for some ℓ ∈ poly

{Com(w, r ← {0, 1}ℓ(|w|))}w∈{0,1}∗ ≈c {u ← {0, 1}ℓ(|w|)}w∈{0,1}∗

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-110
SLIDE 110

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

◮ Pseudorandom range: for some ℓ ∈ poly

{Com(w, r ← {0, 1}ℓ(|w|))}w∈{0,1}∗ ≈c {u ← {0, 1}ℓ(|w|)}w∈{0,1}∗ * achieved by the standard OWP (or TDP) based perfectly-binding commitment.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-111
SLIDE 111

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

◮ Pseudorandom range: for some ℓ ∈ poly

{Com(w, r ← {0, 1}ℓ(|w|))}w∈{0,1}∗ ≈c {u ← {0, 1}ℓ(|w|)}w∈{0,1}∗ * achieved by the standard OWP (or TDP) based perfectly-binding commitment.

◮ Negligible support: a random string is a valid commitment only with

negligible probability.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-112
SLIDE 112

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

◮ Pseudorandom range: for some ℓ ∈ poly

{Com(w, r ← {0, 1}ℓ(|w|))}w∈{0,1}∗ ≈c {u ← {0, 1}ℓ(|w|)}w∈{0,1}∗ * achieved by the standard OWP (or TDP) based perfectly-binding commitment.

◮ Negligible support: a random string is a valid commitment only with

negligible probability. * achieved by using the standard OWP (or TDP) based perfectly-binding commitment, and committing to the same value many times.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-113
SLIDE 113

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

◮ Pseudorandom range: for some ℓ ∈ poly

{Com(w, r ← {0, 1}ℓ(|w|))}w∈{0,1}∗ ≈c {u ← {0, 1}ℓ(|w|)}w∈{0,1}∗ * achieved by the standard OWP (or TDP) based perfectly-binding commitment.

◮ Negligible support: a random string is a valid commitment only with

negligible probability. * achieved by using the standard OWP (or TDP) based perfectly-binding commitment, and committing to the same value many times.

3

Adaptive NIZK (PA, VA) for LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)} ∈ NP

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-114
SLIDE 114

Construction

We present a simulation sound NIZK (P, V) for L ∈ NP Ingredients:

1

Strong signature scheme (Gen, Sign, Vrfy) (one-time scheme suffices)

2

Non-interactive, perfectly-binding commitment Com.

◮ Pseudorandom range: for some ℓ ∈ poly

{Com(w, r ← {0, 1}ℓ(|w|))}w∈{0,1}∗ ≈c {u ← {0, 1}ℓ(|w|)}w∈{0,1}∗ * achieved by the standard OWP (or TDP) based perfectly-binding commitment.

◮ Negligible support: a random string is a valid commitment only with

negligible probability. * achieved by using the standard OWP (or TDP) based perfectly-binding commitment, and committing to the same value many times.

3

Adaptive NIZK (PA, VA) for LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)} ∈ NP * adaptive WI suffices

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33

slide-115
SLIDE 115

Construction, cont.

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33

slide-116
SLIDE 116

Construction, cont.

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Algorithm 17 (P) Input: x ∈ L and w ∈ RL(x), and CRS c = (c1, c2)

1

(sk, vk) ← Gen(1|x|)

2

πA ← PA((x, c1, vk), w, c2)

3

σ ← Signsk(x, πA)

4

Output π = (vk, πA, σ)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33

slide-117
SLIDE 117

Construction, cont.

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Algorithm 17 (P) Input: x ∈ L and w ∈ RL(x), and CRS c = (c1, c2)

1

(sk, vk) ← Gen(1|x|)

2

πA ← PA((x, c1, vk), w, c2)

3

σ ← Signsk(x, πA)

4

Output π = (vk, πA, σ) Algorithm 18 (V) Input: x ∈ {0, 1}∗, π = (vk, πA, σ) and a CRS c = (c1, c2) Verify that Vrfyvk((x, π), σ) = 1 and VA((x, c1, vk), c2, πA) = 1

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33

slide-118
SLIDE 118

Construction, cont.

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Algorithm 17 (P) Input: x ∈ L and w ∈ RL(x), and CRS c = (c1, c2)

1

(sk, vk) ← Gen(1|x|)

2

πA ← PA((x, c1, vk), w, c2)

3

σ ← Signsk(x, πA)

4

Output π = (vk, πA, σ) Algorithm 18 (V) Input: x ∈ {0, 1}∗, π = (vk, πA, σ) and a CRS c = (c1, c2) Verify that Vrfyvk((x, π), σ) = 1 and VA((x, c1, vk), c2, πA) = 1 Claim 19 The proof system (P, V) is an adaptive NIZK for L, with one-time simulation soundness.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33

slide-119
SLIDE 119

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-120
SLIDE 120

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-121
SLIDE 121

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-122
SLIDE 122

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-123
SLIDE 123

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-124
SLIDE 124

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-125
SLIDE 125

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-126
SLIDE 126

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1

Let πA ← PA((x, c1, vk), z, c2)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-127
SLIDE 127

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1

Let πA ← PA((x, c1, vk), z, c2)

2

σ ← Signsk(x, πA)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-128
SLIDE 128

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1

Let πA ← PA((x, c1, vk), z, c2)

2

σ ← Signsk(x, πA)

3

Output π = (vk, πA, σ)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-129
SLIDE 129

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1

Let πA ← PA((x, c1, vk), z, c2)

2

σ ← Signsk(x, πA)

3

Output π = (vk, πA, σ)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-130
SLIDE 130

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1

Let πA ← PA((x, c1, vk), z, c2)

2

σ ← Signsk(x, πA)

3

Output π = (vk, πA, σ)

Proof follows by the adaptive WI of (PA, VA) and the pseudorandomness of Com

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-131
SLIDE 131

Proving Claim 19

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Adaptive completeness: Follows by the adaptive completeness of (PA, VA). Adaptive ZK:

◮ S1(1n): 1

Let (sk, vk) ← Gen(1n), z ← {0, 1}ℓ(n) and c1 = Com(vk, z).

2

Output (c = (c1, c2), s = (z, sk, vk)), where c2 is chosen uniformly at random.

◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1

Let πA ← PA((x, c1, vk), z, c2)

2

σ ← Signsk(x, πA)

3

Output π = (vk, πA, σ)

Proof follows by the adaptive WI of (PA, VA) and the pseudorandomness of Com Adaptive soundness: Implicit in the proof of simulation soundness, given next slide.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33

slide-132
SLIDE 132

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-133
SLIDE 133

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-134
SLIDE 134

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-135
SLIDE 135

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π). Then with save but negligible probability: vk′ is not the verification key appeared in π ((Gen, Sign, Vrfy) is a strong signature)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-136
SLIDE 136

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π). Then with save but negligible probability: vk′ is not the verification key appeared in π ((Gen, Sign, Vrfy) is a strong signature) = ⇒ ∄r ∈ {0, 1}∗ s.t. c1 = Com(vk′, r) (Com is perfectly binding)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-137
SLIDE 137

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π). Then with save but negligible probability: vk′ is not the verification key appeared in π ((Gen, Sign, Vrfy) is a strong signature) = ⇒ ∄r ∈ {0, 1}∗ s.t. c1 = Com(vk′, r) (Com is perfectly binding) = ⇒ x′

A = (x′, c1, vk′) /

∈ LA (above and x′ / ∈ L)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-138
SLIDE 138

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π). Then with save but negligible probability: vk′ is not the verification key appeared in π ((Gen, Sign, Vrfy) is a strong signature) = ⇒ ∄r ∈ {0, 1}∗ s.t. c1 = Com(vk′, r) (Com is perfectly binding) = ⇒ x′

A = (x′, c1, vk′) /

∈ LA (above and x′ / ∈ L)

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-139
SLIDE 139

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π). Then with save but negligible probability: vk′ is not the verification key appeared in π ((Gen, Sign, Vrfy) is a strong signature) = ⇒ ∄r ∈ {0, 1}∗ s.t. c1 = Com(vk′, r) (Com is perfectly binding) = ⇒ x′

A = (x′, c1, vk′) /

∈ LA (above and x′ / ∈ L) Since c2 was chosen at random by S1, the adaptive soundness of (PA, VA) yields that Pr[VA(x′

A, c2, π′ A) = 1] = neg(n).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-140
SLIDE 140

Proving simulation soundness

Recall LA := {(x, com, w): x ∈ L ∨ ∃r ∈ {0, 1}∗ : com = Com(w, r)}. Let P∗ = (P∗

1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of

(V, S) with respect to L, and let c = (c1, c2), x , π, x′ and π′ = (vk′, π′

A, σ′) be

the values generated by a random execution of Expn

V,S,P∗.

Assume Vrfyvk′((x′, π′

A), σ′) = 1, x′ /

∈ L and (x′, π′) = (x, π). Then with save but negligible probability: vk′ is not the verification key appeared in π ((Gen, Sign, Vrfy) is a strong signature) = ⇒ ∄r ∈ {0, 1}∗ s.t. c1 = Com(vk′, r) (Com is perfectly binding) = ⇒ x′

A = (x′, c1, vk′) /

∈ LA (above and x′ / ∈ L) Since c2 was chosen at random by S1, the adaptive soundness of (PA, VA) yields that Pr[VA(x′

A, c2, π′ A) = 1] = neg(n).

Adaptive soundness?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33

slide-141
SLIDE 141

Part II Proof of Knowledge

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 31 / 33

slide-142
SLIDE 142

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x).

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-143
SLIDE 143

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x). Definition 20 (knowledge extractor) Let (P, V) be an interactive proof for L ∈ NP. A probabilistic algorithm E is a knowledge extractor for (P, V) and RL with error η: N → R, if ∃t ∈ poly s.t. ∀x ∈ L and deterministic algorithm P∗, EP∗(x) runs in expected time bounded by

t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].

(P, V) is a proof of knowledge for L with error η,

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-144
SLIDE 144

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x). Definition 20 (knowledge extractor) Let (P, V) be an interactive proof for L ∈ NP. A probabilistic algorithm E is a knowledge extractor for (P, V) and RL with error η: N → R, if ∃t ∈ poly s.t. ∀x ∈ L and deterministic algorithm P∗, EP∗(x) runs in expected time bounded by

t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].

(P, V) is a proof of knowledge for L with error η, A property of V

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-145
SLIDE 145

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x). Definition 20 (knowledge extractor) Let (P, V) be an interactive proof for L ∈ NP. A probabilistic algorithm E is a knowledge extractor for (P, V) and RL with error η: N → R, if ∃t ∈ poly s.t. ∀x ∈ L and deterministic algorithm P∗, EP∗(x) runs in expected time bounded by

t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].

(P, V) is a proof of knowledge for L with error η, A property of V Why do we need it?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-146
SLIDE 146

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x). Definition 20 (knowledge extractor) Let (P, V) be an interactive proof for L ∈ NP. A probabilistic algorithm E is a knowledge extractor for (P, V) and RL with error η: N → R, if ∃t ∈ poly s.t. ∀x ∈ L and deterministic algorithm P∗, EP∗(x) runs in expected time bounded by

t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].

(P, V) is a proof of knowledge for L with error η, A property of V Why do we need it?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-147
SLIDE 147

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x). Definition 20 (knowledge extractor) Let (P, V) be an interactive proof for L ∈ NP. A probabilistic algorithm E is a knowledge extractor for (P, V) and RL with error η: N → R, if ∃t ∈ poly s.t. ∀x ∈ L and deterministic algorithm P∗, EP∗(x) runs in expected time bounded by

t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].

(P, V) is a proof of knowledge for L with error η, A property of V Why do we need it? Authentication schmes

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-148
SLIDE 148

Proof of Knowledge

The protocol (P, V) is a proof of knowledge for L ∈ NP, if a P∗ convinces V to accepts x, then P∗ “knows" w ∈ RL(x). Definition 20 (knowledge extractor) Let (P, V) be an interactive proof for L ∈ NP. A probabilistic algorithm E is a knowledge extractor for (P, V) and RL with error η: N → R, if ∃t ∈ poly s.t. ∀x ∈ L and deterministic algorithm P∗, EP∗(x) runs in expected time bounded by

t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].

(P, V) is a proof of knowledge for L with error η, A property of V Why do we need it? Authentication schmes Why only deterministic P∗?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33

slide-149
SLIDE 149

Examples

Claim 21 The ZK proof we’ve seen in class for GI, has a knowledge extractor with error 1

2.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33

slide-150
SLIDE 150

Examples

Claim 21 The ZK proof we’ve seen in class for GI, has a knowledge extractor with error 1

2.

Proof: ?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33

slide-151
SLIDE 151

Examples

Claim 21 The ZK proof we’ve seen in class for GI, has a knowledge extractor with error 1

2.

Proof: ? Claim 22 The ZK proof we’ve seen in class for 3COL, has a knowledge extractor with error

1 |E|.

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33

slide-152
SLIDE 152

Examples

Claim 21 The ZK proof we’ve seen in class for GI, has a knowledge extractor with error 1

2.

Proof: ? Claim 22 The ZK proof we’ve seen in class for 3COL, has a knowledge extractor with error

1 |E|.

Proof: ?

Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33