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
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
Tel Aviv University.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 1 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 2 / 33
aThat is, the completeness is 2 3 and soundness error is 1 3. Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33
aThat is, the completeness is 2 3 and soundness error is 1 3.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33
aThat is, the completeness is 2 3 and soundness error is 1 3.
1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33
aThat is, the completeness is 2 3 and soundness error is 1 3.
1
1
x ), V∗)(x)
x ), V∗)(x)
x ∈ RL(x)}x∈L and {w2 x ∈ RL(x)}x∈L
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33
aThat is, the completeness is 2 3 and soundness error is 1 3.
1
1
x ), V∗)(x)
x ), V∗)(x)
x ∈ RL(x)}x∈L and {w2 x ∈ RL(x)}x∈L
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33
aThat is, the completeness is 2 3 and soundness error is 1 3.
1
1
x ), V∗)(x)
x ), V∗)(x)
x ∈ RL(x)}x∈L and {w2 x ∈ RL(x)}x∈L
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 3 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 4 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 5 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 6 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 7 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 8 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33
1
2
1
2
3
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 9 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 10 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 10 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 11 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 11 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 11 / 33
1
2
3
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33
1
2
3
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33
1
2
3
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33
1
2
3
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33
1
2
3
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 12 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 13 / 33
1
2
3
pk for every (sk, pk) ∈ Supp(G(1n))
4
pk (x)
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 14 / 33
pk←G(1n)2,x←{0,1}n[P(pk, fpk(x)) = b(x)] ≤ 1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 15 / 33
pk←G(1n)2,x←{0,1}n[P(pk, fpk(x)) = b(x)] ≤ 1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 15 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)
φ(n), the function f(x) ≡ xe mod n is a permutation over
n.
n, where
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)
φ(n), the function f(x) ≡ xe mod n is a permutation over
n.
n, where
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)
φ(n), the function f(x) ≡ xe mod n is a permutation over
n.
n, where
φ(n), and
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)
φ(n), the function f(x) ≡ xe mod n is a permutation over
n.
n, where
φ(n), and
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
n = {x ∈ [n]: gcd(x, n) = 1}
n| (equals (p − 1)(q − 1) for n = pq with p, q ∈ P)
φ(n), the function f(x) ≡ xe mod n is a permutation over
n.
n, where
φ(n), and
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 16 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33
1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 17 / 33
1
pk (c1)), . . . , b(zℓ(n) = f −1 pk (cℓ)))
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 18 / 33
1
pk (c1)), . . . , b(zℓ(n) = f −1 pk (cℓ)))
2
1
2
i = b(zi) for every i ∈ I.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 18 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33
2).
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33
2).
pk (c1)), . . . , b(f −1 pk (cℓ))
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33
2).
pk (c1)), . . . , b(f −1 pk (cℓ))
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33
2).
pk (c1)), . . . , b(f −1 pk (cℓ))
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33
2).
pk (c1)), . . . , b(f −1 pk (cℓ))
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 19 / 33
◮ 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
◮ 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
◮ 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
◮ 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
◮ 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
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 21 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 22 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 23 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 24 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 25 / 33
(c,x,π,x′,π′)←Expn
V,S,P∗
1, P∗ 2).
V,S,P∗)
1
2
1(1n, c)
3
4
2(p, π)
5
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 25 / 33
(c,x,π,x′,π′)←Expn
V,S,P∗
1, P∗ 2).
V,S,P∗)
1
2
1(1n, c)
3
4
2(p, π)
5
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 25 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 26 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
◮ Pseudorandom range: for some ℓ ∈ poly
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
◮ Pseudorandom range: for some ℓ ∈ poly
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
◮ Pseudorandom range: for some ℓ ∈ poly
◮ Negligible support: a random string is a valid commitment only with
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
◮ Pseudorandom range: for some ℓ ∈ poly
◮ Negligible support: a random string is a valid commitment only with
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
◮ Pseudorandom range: for some ℓ ∈ poly
◮ Negligible support: a random string is a valid commitment only with
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
1
2
◮ Pseudorandom range: for some ℓ ∈ poly
◮ Negligible support: a random string is a valid commitment only with
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 27 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33
1
2
3
4
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 28 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1
2
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
◮ S1(1n): 1
2
◮ S2(x, c = (c1, c2), s = (z, sk, vk)): 1
2
3
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 29 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
A = (x′, c1, vk′) /
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
A = (x′, c1, vk′) /
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
A = (x′, c1, vk′) /
A, c2, π′ A) = 1] = neg(n).
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
1, P∗ 2) be a pair of PPTM’s attacking the simulation soundness of
A, σ′) be
V,S,P∗.
A), σ′) = 1, x′ /
A = (x′, c1, vk′) /
A, c2, π′ A) = 1] = neg(n).
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 30 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 31 / 33
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
t(|x|) δ(x)−η(|x|) and outputs w ∈ RL(x), where δ(x) = Pr[(P∗, V)(x) = 1].
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 32 / 33
2.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33
2.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33
2.
1 |E|.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33
2.
1 |E|.
Iftach Haitner (TAU) Foundation of Cryptography April 1, 2014 33 / 33