Foundation of Cryptography, Lecture 5 MACs and Signatures
Iftach Haitner, Tel Aviv University
Tel Aviv University.
March 17, 2013
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 1 / 39
Foundation of Cryptography, Lecture 5 MACs and Signatures Iftach - - PowerPoint PPT Presentation
Foundation of Cryptography, Lecture 5 MACs and Signatures Iftach Haitner, Tel Aviv University Tel Aviv University. March 17, 2013 Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 1 / 39 Part I Message Authentication Codes
Tel Aviv University.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 1 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 2 / 39
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 3 / 39
1
2
3
k←Gen(1n) (m,t)←AMack ,Vrfyk (1n)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 3 / 39
1
2
3
k←Gen(1n) (m,t)←AMack ,Vrfyk (1n)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 3 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 4 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 5 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 5 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 6 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 7 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 7 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 7 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 8 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 9 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 10 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 10 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 10 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 11 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 11 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 11 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 11 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 12 / 39
h←Hn (x,x′)←A(1n,h)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 13 / 39
h←Hn (x,x′)←A(1n,h)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 13 / 39
k,h(m) = Mack(h(m))
k,h(t, m) = Vrfyk(t, h(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 14 / 39
k,h(m) = Mack(h(m))
k,h(t, m) = Vrfyk(t, h(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 14 / 39
k,h(m) = Mack(h(m))
k,h(t, m) = Vrfyk(t, h(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 14 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 15 / 39
1
2
3
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 16 / 39
1
2
3
(s,v)←Gen(1n) (m,σ)←ASigns (1n,v)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 16 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 17 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 17 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 17 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 17 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 17 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 17 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 18 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 19 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 20 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 21 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 21 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 21 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 21 / 39
1
1
1, s1 1, . . . , s0 n, s1 n ← {0, 1}n,
2
1, s1 1, . . . , s0 n, s1 n
1 = f(s0 1), v1 1 = f(s1 1), . . . , v0 n = f(s0 n), v1 n = f(s1 n)
1 , . . . , smn n )
3
i
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 22 / 39
1
1
1, s1 1, . . . , s0 n, s1 n ← {0, 1}n,
2
1, s1 1, . . . , s0 n, s1 n
1 = f(s0 1), v1 1 = f(s1 1), . . . , v0 n = f(s0 n), v1 n = f(s1 n)
1 , . . . , smn n )
3
i
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 22 / 39
1
1
1, s1 1, . . . , s0 n, s1 n ← {0, 1}n,
2
1, s1 1, . . . , s0 n, s1 n
1 = f(s0 1), v1 1 = f(s1 1), . . . , v0 n = f(s0 n), v1 n = f(s1 n)
1 , . . . , smn n )
3
i
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 22 / 39
1
1
1, s1 1, . . . , s0 n, s1 n ← {0, 1}n,
2
1, s1 1, . . . , s0 n, s1 n
1 = f(s0 1), v1 1 = f(s1 1), . . . , v0 n = f(s0 n), v1 n = f(s1 n)
1 , . . . , smn n )
3
i
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 22 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 23 / 39
1
j∗ for a random i∗ ∈ [n] and
2
3
i∗ = j∗.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 23 / 39
1
j∗ for a random i∗ ∈ [n] and
2
3
i∗ = j∗.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 23 / 39
1
j∗ for a random i∗ ∈ [n] and
2
3
i∗ = j∗.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 23 / 39
1
j∗ for a random i∗ ∈ [n] and
2
3
i∗ = j∗.
1 2np(n) for every n ∈ I.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 23 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 24 / 39
1Also known as memory-dependant schemes Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 25 / 39
1Also known as memory-dependant schemes Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 25 / 39
1Also known as memory-dependant schemes Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 25 / 39
s1(mi), where mi is i’th message to sign:
1
2
3
i = (σ′ i−1, mi, vi+1, σi).a
v1(m, σ′ = (m1, v2, σ1), . . . , (mi, vi+1, σi)):
1
2
aσ′ 0 is the empty string. Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 26 / 39
s1(mi), where mi is i’th message to sign:
1
2
3
i = (σ′ i−1, mi, vi+1, σi).a
v1(m, σ′ = (m1, v2, σ1), . . . , (mi, vi+1, σi)):
1
2
aσ′ 0 is the empty string. Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 26 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
1 p(n) for all n ∈ I.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
1 p(n) for all n ∈ I. We
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
1 p(n) for all n ∈ I. We
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 27 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 28 / 39
1
2
s′ with a single twist:
◮ On the i∗’th call to Sign′
s′, set vi∗ = v (rather than choosing it via
◮ When need to sign using si∗, use Signs. 3
4
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 29 / 39
1
2
s′ with a single twist:
◮ On the i∗’th call to Sign′
s′, set vi∗ = v (rather than choosing it via
◮ When need to sign using si∗, use Signs. 3
4
s′ has the same distribution as the real game.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 29 / 39
1
2
s′ with a single twist:
◮ On the i∗’th call to Sign′
s′, set vi∗ = v (rather than choosing it via
◮ When need to sign using si∗, use Signs. 3
4
s′ has the same distribution as the real game.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 29 / 39
1
2
s′ with a single twist:
◮ On the i∗’th call to Sign′
s′, set vi∗ = v (rather than choosing it via
◮ When need to sign using si∗, use Signs. 3
4
s′ has the same distribution as the real game.
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 29 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 30 / 39
sλ(m): choose an unused r ∈ {0, 1}n
1
1
2
3
2
vλ(m, σ′ = (r, aλ, σλ, . . . , ar−1, σr1,...,n−1, σr)
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 31 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 32 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 32 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 32 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 32 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 32 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 32 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 33 / 39
i∈[k]{0, 1}i to {0, 1}k to {0, 1}n, let
s(m): Set r = π(h(m))1,...,n.
1
1
2
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 34 / 39
i∈[k]{0, 1}i to {0, 1}k to {0, 1}n, let
s(m): Set r = π(h(m))1,...,n.
1
1
2
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 34 / 39
i∈[k]{0, 1}i to {0, 1}k to {0, 1}n, let
s(m): Set r = π(h(m))1,...,n.
1
1
2
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 34 / 39
i∈[k]{0, 1}i to {0, 1}k to {0, 1}n, let
s(m): Set r = π(h(m))1,...,n.
1
1
2
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 34 / 39
i∈[k]{0, 1}i to {0, 1}k to {0, 1}n, let
s(m): Set r = π(h(m))1,...,n.
1
1
2
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 34 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 35 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 36 / 39
(x,a)←A1(1n);h←Hn;x′←A2(a,h) [x = x′ ∧ h(x) = h(x′)] = neg(n)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 36 / 39
(x,a)←A1(1n);h←Hn;x′←A2(a,h) [x = x′ ∧ h(x) = h(x′)] = neg(n)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 36 / 39
(x,a)←A1(1n);h←Hn;x′←A2(a,h) [x = x′ ∧ h(x) = h(x′)] = neg(n)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 36 / 39
(x,a)←A1(1n);h←Hn;x′←A2(a,h) [x = x′ ∧ h(x) = h(x′)] = neg(n)
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 36 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 37 / 39
m←A(1n) (s,v)←Gen(1n) (m′,σ)←A(Signs(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 37 / 39
m←A(1n) (s,v)←Gen(1n) (m′,σ)←A(Signs(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 37 / 39
m←Mn; (s,v)←Gen(1n) (m′,σ)←A(m,Signs(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 38 / 39
m←Mn; (s,v)←Gen(1n) (m′,σ)←A(m,Signs(m))
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 38 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 39 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 39 / 39
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 39 / 39
1
2
Iftach Haitner (TAU) Foundation of Cryptography March 17, 2013 39 / 39