Foundation of Cryptography (0368-4162-01), Lecture 7 MACs and - - PowerPoint PPT Presentation

foundation of cryptography 0368 4162 01 lecture 7
SMART_READER_LITE
LIVE PREVIEW

Foundation of Cryptography (0368-4162-01), Lecture 7 MACs and - - PowerPoint PPT Presentation

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = Signatures Foundation of Cryptography (0368-4162-01), Lecture 7 MACs and Signatures Iftach Haitner, Tel Aviv University December 27, 2011 Message Authentication


slide-1
SLIDE 1

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Foundation of Cryptography (0368-4162-01), Lecture 7

MACs and Signatures Iftach Haitner, Tel Aviv University December 27, 2011

slide-2
SLIDE 2

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Section 1 Message Authentication Code (MAC)

slide-3
SLIDE 3

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Message Authentication Code (MAC) Definition 1 (MAC) A trippet of PPT’s (Gen, Mac, Vrfy) such that

1

Gen(1n) outputs a key k ∈ {0, 1}∗

2

Mac(k, m) outputs a “tag" t

3

Vrfy(k, m, t) output 1 (YES) or 0 (NO)

slide-4
SLIDE 4

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Message Authentication Code (MAC) Definition 1 (MAC) A trippet of PPT’s (Gen, Mac, Vrfy) such that

1

Gen(1n) outputs a key k ∈ {0, 1}∗

2

Mac(k, m) outputs a “tag" t

3

Vrfy(k, m, t) output 1 (YES) or 0 (NO) Consistency: Vrfyk(m, t) = 1 for any k ∈ Supp(Gen(1n)), m ∈ {0, 1}n and t = Mack(m)

slide-5
SLIDE 5

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Message Authentication Code (MAC) Definition 1 (MAC) A trippet of PPT’s (Gen, Mac, Vrfy) such that

1

Gen(1n) outputs a key k ∈ {0, 1}∗

2

Mac(k, m) outputs a “tag" t

3

Vrfy(k, m, t) output 1 (YES) or 0 (NO) Consistency: Vrfyk(m, t) = 1 for any k ∈ Supp(Gen(1n)), m ∈ {0, 1}n and t = Mack(m) Definition 2 (Existential unforgability) A MAC (Gen, Mac, Vrfy) is existential unforgeable (EU), if for any oracle-aided PPT A: Pr

  • k ← Gen(1n); (m, t) ← AMack,Vrfyk(1n):

Vrfyk(m, t) = 1 ∧ Mack was not asked on m

  • = neg(n)
slide-6
SLIDE 6

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

“Private key" definition

slide-7
SLIDE 7

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

“Private key" definition Security definition too strong?

slide-8
SLIDE 8

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

“Private key" definition Security definition too strong? Any message? Use of Verifier?

slide-9
SLIDE 9

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

“Private key" definition Security definition too strong? Any message? Use of Verifier? “Replay attacks"

slide-10
SLIDE 10

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

“Private key" definition Security definition too strong? Any message? Use of Verifier? “Replay attacks" strong MACS

slide-11
SLIDE 11

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Length-restricted MACs Definition 3 (Length-restricted MAC) Same as in Definition 1, but for k ∈ Supp(G(1n)), Mack and Vrfyk only accept messages of length n.

slide-12
SLIDE 12

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Bounded-query MACs Definition 4 (ℓ-time MAC) A MAC scheme is existential unforgeable against ℓ queries (for short, ℓ-time MAC), if it is existential unforgeable as in Definition 2, but A can only ask for ℓ queries.

slide-13
SLIDE 13

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Section 2 Constructions

slide-14
SLIDE 14

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Zero-time, restricted length, MAC Construction 5 (Zero-time, restricted length, MAC) Gen(1n): outputs k ← {0, 1}n Mack(m) = k Vrfyk(m, t) = 1, iff t = k

slide-15
SLIDE 15

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Zero-time, restricted length, MAC Construction 5 (Zero-time, restricted length, MAC) Gen(1n): outputs k ← {0, 1}n Mack(m) = k Vrfyk(m, t) = 1, iff t = k Claim 6 The above scheme is a length-restricted, zero-time MAC

slide-16
SLIDE 16

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

ℓ-wise independent hash Definition 7 (ℓ-wise independent) A function family H from {0, 1}n to {0, 1}m is ℓ-wise independent, where ℓ ∈ N, if for every distinct x1, . . . , xℓ ∈ {0, 1}n and every y1, . . . , yℓ ∈ {0, 1}m, it holds that Prh←H[h(x1) = y1 ∧ · · · ∧ h(xℓ) = yℓ] = 2−ℓm.

slide-17
SLIDE 17

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

ℓ-times, restricted length, MAC Construction 8 (ℓ-time MAC) Let H = {Hn : {0, 1}n → {0, 1}n} be an efficient (ℓ + 1)-wise independent function family. Gen(1n): outputs h ← Hn Mac(h, m) = h(m) Vrfy(h, m, t) = 1, iff t = h(m)

slide-18
SLIDE 18

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

ℓ-times, restricted length, MAC Construction 8 (ℓ-time MAC) Let H = {Hn : {0, 1}n → {0, 1}n} be an efficient (ℓ + 1)-wise independent function family. Gen(1n): outputs h ← Hn Mac(h, m) = h(m) Vrfy(h, m, t) = 1, iff t = h(m) Claim 9 The above scheme is a length-restricted, ℓ-time MAC

slide-19
SLIDE 19

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

ℓ-times, restricted length, MAC Construction 8 (ℓ-time MAC) Let H = {Hn : {0, 1}n → {0, 1}n} be an efficient (ℓ + 1)-wise independent function family. Gen(1n): outputs h ← Hn Mac(h, m) = h(m) Vrfy(h, m, t) = 1, iff t = h(m) Claim 9 The above scheme is a length-restricted, ℓ-time MAC Proof: HW

slide-20
SLIDE 20

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

OWF = ⇒ existential unforgeable MAC Construction 10 Same as Construction 8, but uses function F = {Fn : {0, 1}n → {0, 1}n} instead of H. Claim 11 Assuming that F is a PRF , then Construction 10 is an existential unforgeable MAC.

slide-21
SLIDE 21

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

OWF = ⇒ existential unforgeable MAC Construction 10 Same as Construction 8, but uses function F = {Fn : {0, 1}n → {0, 1}n} instead of H. Claim 11 Assuming that F is a PRF , then Construction 10 is an existential unforgeable MAC. Proof:

slide-22
SLIDE 22

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

OWF = ⇒ existential unforgeable MAC Construction 10 Same as Construction 8, but uses function F = {Fn : {0, 1}n → {0, 1}n} instead of H. Claim 11 Assuming that F is a PRF , then Construction 10 is an existential unforgeable MAC. Proof: Easy to prove if F is a family of random functions. Hence, also holds in case F is a PRF .

slide-23
SLIDE 23

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Any Length

Collision Resistant Hash Family Definition 12 (collision resistant hash family (CRH)) A function family H = {Hn : {0, 1}∗ → {0, 1}n} is collision resistant, if Pr[h ← Hn, (x, x′) ← A(1n, h): x = x′ ∈ {0, 1}∗ ∧h(x) = h(x′)] = neg(n) for any PPT A.

slide-24
SLIDE 24

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Any Length

Collision Resistant Hash Family Definition 12 (collision resistant hash family (CRH)) A function family H = {Hn : {0, 1}∗ → {0, 1}n} is collision resistant, if Pr[h ← Hn, (x, x′) ← A(1n, h): x = x′ ∈ {0, 1}∗ ∧h(x) = h(x′)] = neg(n) for any PPT A. Not known to be implied by OWF

slide-25
SLIDE 25

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Any Length

Length restricted MAC = ⇒ MAC Construction 13 (Length restricted MAC = ⇒ MAC) Let (Gen, Mac, Vrfy) be a length-restricted MAC, and let H = {Hn : {0, 1}∗ → {0, 1}n} be an efficient function family. Gen′(1n): k ← Gen(1n), h ← Hn. Set k′ = (k, h) Mac′

k,h(m) = Mack(h(m))

Vrfy′

k,h(t, m) = Vrfyk(t, h(m))

slide-26
SLIDE 26

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Any Length

Length restricted MAC = ⇒ MAC Construction 13 (Length restricted MAC = ⇒ MAC) Let (Gen, Mac, Vrfy) be a length-restricted MAC, and let H = {Hn : {0, 1}∗ → {0, 1}n} be an efficient function family. Gen′(1n): k ← Gen(1n), h ← Hn. Set k′ = (k, h) Mac′

k,h(m) = Mack(h(m))

Vrfy′

k,h(t, m) = Vrfyk(t, h(m))

Claim 14 Assume H is an efficient collision-resistant family and (Gen, Mac, Vrfy) is existential unforgeable, then (Gen′, Mac′, Vrfy′) is existential unforgeable MAC.

slide-27
SLIDE 27

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Any Length

Length restricted MAC = ⇒ MAC Construction 13 (Length restricted MAC = ⇒ MAC) Let (Gen, Mac, Vrfy) be a length-restricted MAC, and let H = {Hn : {0, 1}∗ → {0, 1}n} be an efficient function family. Gen′(1n): k ← Gen(1n), h ← Hn. Set k′ = (k, h) Mac′

k,h(m) = Mack(h(m))

Vrfy′

k,h(t, m) = Vrfyk(t, h(m))

Claim 14 Assume H is an efficient collision-resistant family and (Gen, Mac, Vrfy) is existential unforgeable, then (Gen′, Mac′, Vrfy′) is existential unforgeable MAC. Proof: ?

slide-28
SLIDE 28

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Section 3 Signature Schemes

slide-29
SLIDE 29

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Definition Definition 15 (Signature schemes) A trippet of PPT’s (Gen, Sign, Vrfy) such that

1

Gen(1n) outputs a pair of keys (s, v) ∈ {0, 1}∗ × {0, 1}∗

2

Sign(s, m) outputs a “signature" σ ∈ {0, 1}∗

3

Vrfy(v, m, σ) outputs 1 (YES) or 0 (NO)

slide-30
SLIDE 30

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Definition Definition 15 (Signature schemes) A trippet of PPT’s (Gen, Sign, Vrfy) such that

1

Gen(1n) outputs a pair of keys (s, v) ∈ {0, 1}∗ × {0, 1}∗

2

Sign(s, m) outputs a “signature" σ ∈ {0, 1}∗

3

Vrfy(v, m, σ) outputs 1 (YES) or 0 (NO) Consistency: Vrfyv(m, σ) = 1 for any (s, v) ∈ Supp(Gen(1n)), m ∈ {0, 1}∗ and σ ∈ Supp(Signs(m))

slide-31
SLIDE 31

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Definition Definition 15 (Signature schemes) A trippet of PPT’s (Gen, Sign, Vrfy) such that

1

Gen(1n) outputs a pair of keys (s, v) ∈ {0, 1}∗ × {0, 1}∗

2

Sign(s, m) outputs a “signature" σ ∈ {0, 1}∗

3

Vrfy(v, m, σ) outputs 1 (YES) or 0 (NO) Consistency: Vrfyv(m, σ) = 1 for any (s, v) ∈ Supp(Gen(1n)), m ∈ {0, 1}∗ and σ ∈ Supp(Signs(m)) Definition 16 (Existential unforgability) A signature scheme is existential unforgeable (EU), if for any

  • racle-aided PPT A

Pr

  • (s, v) ← Gen(1n); (m, σ) ← ASigns(1n, v):

Vrfyv(m, σ) = 1 ∧ Signs was not asked on m

  • = neg(n)
slide-32
SLIDE 32

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Signature = ⇒ MAC

slide-33
SLIDE 33

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Signature = ⇒ MAC “Harder" to construct than MACs: (even restricted forms) require OWF

slide-34
SLIDE 34

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Signature = ⇒ MAC “Harder" to construct than MACs: (even restricted forms) require OWF Oracle access to Vrfy is not given

slide-35
SLIDE 35

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Signature = ⇒ MAC “Harder" to construct than MACs: (even restricted forms) require OWF Oracle access to Vrfy is not given Strong existential unforgeable signatures (for short, strong signatures): infeasible to generate any new valid signatures (even for message for which a signature was asked)

slide-36
SLIDE 36

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Signature = ⇒ MAC “Harder" to construct than MACs: (even restricted forms) require OWF Oracle access to Vrfy is not given Strong existential unforgeable signatures (for short, strong signatures): infeasible to generate any new valid signatures (even for message for which a signature was asked) Theorem 17 OWFs imply strong existential unforgeable signatures.

slide-37
SLIDE 37

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures

Section 4 OWFs = ⇒ Signatures

slide-38
SLIDE 38

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

Length-restricted Signatures Definition 18 (Length-restricted Signatures) Same as in Definition 15, but for (s, v) ∈ Supp(G(1n)), Signs and Vrfyv only accept messages of length n.

slide-39
SLIDE 39

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

Bounded-query Signatures Definition 19 (ℓ-time signatures) A signature scheme is existential unforgeable against ℓ-query (for short, ℓ-time signature), if it is existential unforgeable as in Definition 16, but A can only ask for ℓ queries.

slide-40
SLIDE 40

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

Bounded-query Signatures Definition 19 (ℓ-time signatures) A signature scheme is existential unforgeable against ℓ-query (for short, ℓ-time signature), if it is existential unforgeable as in Definition 16, but A can only ask for ℓ queries. Claim 20 Assuming CRH exists: length restricted, one-time signatures, imply one-time signatures.

slide-41
SLIDE 41

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

OWF = ⇒ length restricted, One Time Signature Construction 21 (length restricted, one time signature) Let f : {0, 1}n → {0, 1}n.

1

Gen(1n): s0

1, s1 1, . . . , s0 n, s1 n ← {0, 1}n, let

s =

  • s0

1, s1 1, . . . , s0 n, s1 n

  • and

v =

  • v0

1 = f(s0 1), v1 1 = f(s1 1), . . . , v0 n = f(s0 n), v1 n = f(s1 n)

  • 2

Sign(s, m): Output (sm1

1 , . . . , smn n )

3

Vrfy(v, m, σ = (σ1, . . . , σn)) check that f(σi) = vmi for all i ∈ [n]

slide-42
SLIDE 42

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

OWF = ⇒ length restricted, One Time Signature Construction 21 (length restricted, one time signature) Let f : {0, 1}n → {0, 1}n.

1

Gen(1n): s0

1, s1 1, . . . , s0 n, s1 n ← {0, 1}n, let

s =

  • s0

1, s1 1, . . . , s0 n, s1 n

  • and

v =

  • v0

1 = f(s0 1), v1 1 = f(s1 1), . . . , v0 n = f(s0 n), v1 n = f(s1 n)

  • 2

Sign(s, m): Output (sm1

1 , . . . , smn n )

3

Vrfy(v, m, σ = (σ1, . . . , σn)) check that f(σi) = vmi for all i ∈ [n] Lemma 22 Assume that f is a OWF, then scheme from Construction 21 is a length restricted one-time signature scheme

slide-43
SLIDE 43

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

Proving Lemma 22 Let a PPT A, I ⊆ N and p ∈ poly that break the security of Construction 21, we use A to invert f. Algorithm 23 (Inv) Input: y ∈ {0, 1}n

1

Choose (s, v) ← Gen(1n) and replace vi∗

j∗ for a random

i∗ ∈ [n] and j∗ ∈ {0, 1}, with y.

2

If A(1n, v) asks to sign message m ∈ {0, 1}n with mi∗ = j∗ abort, otherwise use s to answer the query.

3

Let (m, σ) be A’s output. If σ is not a valid signature for m,

  • r mi∗ = j∗, abort.

Otherwise, return σi∗.

slide-44
SLIDE 44

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

Proving Lemma 22 Let a PPT A, I ⊆ N and p ∈ poly that break the security of Construction 21, we use A to invert f. Algorithm 23 (Inv) Input: y ∈ {0, 1}n

1

Choose (s, v) ← Gen(1n) and replace vi∗

j∗ for a random

i∗ ∈ [n] and j∗ ∈ {0, 1}, with y.

2

If A(1n, v) asks to sign message m ∈ {0, 1}n with mi∗ = j∗ abort, otherwise use s to answer the query.

3

Let (m, σ) be A’s output. If σ is not a valid signature for m,

  • r mi∗ = j∗, abort.

Otherwise, return σi∗. v is distributed as it is in the real “signature game" (ind. of i∗ and j∗).

slide-45
SLIDE 45

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures One Time Signatures

Proving Lemma 22 Let a PPT A, I ⊆ N and p ∈ poly that break the security of Construction 21, we use A to invert f. Algorithm 23 (Inv) Input: y ∈ {0, 1}n

1

Choose (s, v) ← Gen(1n) and replace vi∗

j∗ for a random

i∗ ∈ [n] and j∗ ∈ {0, 1}, with y.

2

If A(1n, v) asks to sign message m ∈ {0, 1}n with mi∗ = j∗ abort, otherwise use s to answer the query.

3

Let (m, σ) be A’s output. If σ is not a valid signature for m,

  • r mi∗ = j∗, abort.

Otherwise, return σi∗. v is distributed as it is in the real “signature game" (ind. of i∗ and j∗). Therefore Inv inverts f w.p.

1 2np(n) for any n ∈ I.

slide-46
SLIDE 46

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Stateful schemes (also known as, Memory-dependant schemes) Definition 24 (Stateful scheme) Same as in Definition 15, but Sign might keep state.

slide-47
SLIDE 47

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Stateful schemes (also known as, Memory-dependant schemes) Definition 24 (Stateful scheme) Same as in Definition 15, but Sign might keep state. Make sense in many applications (e.g., , smartcards)

slide-48
SLIDE 48

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Stateful schemes (also known as, Memory-dependant schemes) Definition 24 (Stateful scheme) Same as in Definition 15, but Sign might keep state. Make sense in many applications (e.g., , smartcards) We’ll use it a building block for building a stateless scheme

slide-49
SLIDE 49

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Naive construction Let (Gen, Sign, Vrfy) be a one-time signature scheme. Construction 25 (Naive construction)

1

Gen′(1n) outputs (s1, v1) = Gen(1n).

2

Sign′

s1(mi), where mi is i’th message to sign:

Let ((m1, σ′

1), . . . , (mi−1, σ′ i−1)) be the previously signed

pairs of messages/signatures.

1

Let (si+1, vi+1) ← Gen(1n)

2

Let σi = Signsi(mi, vi+1), and output σ′

i = (σ′ i−1, mi, vi+1, σi).a

3

Vrfy′

v1(m, σ′ = (m1, v2, σ1), . . . , (mi, vi+1, σi)):

1

Verify Vrfyvj((mj, vj+1), σj) = 1 for every j ∈ [i]

2

Verify mi = m

aWhere σ′ 0 is the empty string.

slide-50
SLIDE 50

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes 1

State is used for maintaining the private key (e.g., si’) and to prevent using the same one-time signature twice.

2

Inefficient scheme, thought still polynomial, both running time and signature size are linear in number of signatures

slide-51
SLIDE 51

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes 1

State is used for maintaining the private key (e.g., si’) and to prevent using the same one-time signature twice.

2

Inefficient scheme, thought still polynomial, both running time and signature size are linear in number of signatures

3

Critically uses the fact that (Gen, Sign, Vrfy) is works for any length

slide-52
SLIDE 52

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Lemma 26 Assume that (Gen, Sign, Vrfy) is one time signature scheme, then (Gen′, Sign′, Vrfy′) is a stateful existential unforgeable signature scheme.

slide-53
SLIDE 53

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Lemma 26 Assume that (Gen, Sign, Vrfy) is one time signature scheme, then (Gen′, Sign′, Vrfy′) is a stateful existential unforgeable signature scheme. Proof: Let a PPT A′, I ⊆ N and p ∈ poly that breaks the security

  • f (Gen′, Sign′, Vrfy′), we present a PPT A that breaks the

security of (Gen, Sign, Vrfy).

slide-54
SLIDE 54

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Lemma 26 Assume that (Gen, Sign, Vrfy) is one time signature scheme, then (Gen′, Sign′, Vrfy′) is a stateful existential unforgeable signature scheme. Proof: Let a PPT A′, I ⊆ N and p ∈ poly that breaks the security

  • f (Gen′, Sign′, Vrfy′), we present a PPT A that breaks the

security of (Gen, Sign, Vrfy). We assume for simplicity that p also bounds the query complexity of A′

slide-55
SLIDE 55

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Proving Lemma 26 cont. Let the random variables (m, σ = (m1, v2, σ1), . . . , (mq, vq+1, σq)) be the pair output by A′

slide-56
SLIDE 56

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Proving Lemma 26 cont. Let the random variables (m, σ = (m1, v2, σ1), . . . , (mq, vq+1, σq)) be the pair output by A′ Claim 27 Whenever A′ succeeds, ∃ i = i(m, σ) ∈ [q] such that:

1

Sign′ was not asked by A′ on m

i.

2

Sign′ was asked by A′ on mi, for every i ∈ [ i − 1]

slide-57
SLIDE 57

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Proving Lemma 26 cont. Let the random variables (m, σ = (m1, v2, σ1), . . . , (mq, vq+1, σq)) be the pair output by A′ Claim 27 Whenever A′ succeeds, ∃ i = i(m, σ) ∈ [q] such that:

1

Sign′ was not asked by A′ on m

i.

2

Sign′ was asked by A′ on mi, for every i ∈ [ i − 1] Proof:

slide-58
SLIDE 58

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Proving Lemma 26 cont. Let the random variables (m, σ = (m1, v2, σ1), . . . , (mq, vq+1, σq)) be the pair output by A′ Claim 27 Whenever A′ succeeds, ∃ i = i(m, σ) ∈ [q] such that:

1

Sign′ was not asked by A′ on m

i.

2

Sign′ was asked by A′ on mi, for every i ∈ [ i − 1] Proof: Let i be the maximal index such that condition (2) holds (cannot be q + 1).

slide-59
SLIDE 59

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Proving Lemma 26 cont. Let the random variables (m, σ = (m1, v2, σ1), . . . , (mq, vq+1, σq)) be the pair output by A′ Claim 27 Whenever A′ succeeds, ∃ i = i(m, σ) ∈ [q] such that:

1

Sign′ was not asked by A′ on m

i.

2

Sign′ was asked by A′ on mi, for every i ∈ [ i − 1] Proof: Let i be the maximal index such that condition (2) holds (cannot be q + 1). Let m = (m

i, v i+1), and let s i be the signing key generated

together with v

i.

slide-60
SLIDE 60

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Proving Lemma 26 cont. Let the random variables (m, σ = (m1, v2, σ1), . . . , (mq, vq+1, σq)) be the pair output by A′ Claim 27 Whenever A′ succeeds, ∃ i = i(m, σ) ∈ [q] such that:

1

Sign′ was not asked by A′ on m

i.

2

Sign′ was asked by A′ on mi, for every i ∈ [ i − 1] Proof: Let i be the maximal index such that condition (2) holds (cannot be q + 1). Let m = (m

i, v i+1), and let s i be the signing key generated

together with v

i.

Hence, Signs

  • i(σ

i,

m) = 1, and Signsi was not queried by Sign′

s on

m.

slide-61
SLIDE 61

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Definition of A Algorithm 28 (A) Input: v, 1n Oracle: Signs

1

Choose i∗ ← [p = p(n)] and (s′, v′) ← Gen′(1n).

2

Emulate a random execution of A′Sign′

s′ with a single twist:

On the i∗’th call to Sign′

s′, set vi∗ = v (rather then choosing

it via Gen) When need to sign using si∗, use Signs.

3

Let (m, σ = (m1, v1, σ1), . . . , (mq, vq, σq)) ← A′

4

Output ((mi∗, vi∗), σi∗) (abort if i∗ > q))

slide-62
SLIDE 62

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Definition of A Algorithm 28 (A) Input: v, 1n Oracle: Signs

1

Choose i∗ ← [p = p(n)] and (s′, v′) ← Gen′(1n).

2

Emulate a random execution of A′Sign′

s′ with a single twist:

On the i∗’th call to Sign′

s′, set vi∗ = v (rather then choosing

it via Gen) When need to sign using si∗, use Signs.

3

Let (m, σ = (m1, v1, σ1), . . . , (mq, vq, σq)) ← A′

4

Output ((mi∗, vi∗), σi∗) (abort if i∗ > q)) Signs is called at most once

slide-63
SLIDE 63

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Definition of A Algorithm 28 (A) Input: v, 1n Oracle: Signs

1

Choose i∗ ← [p = p(n)] and (s′, v′) ← Gen′(1n).

2

Emulate a random execution of A′Sign′

s′ with a single twist:

On the i∗’th call to Sign′

s′, set vi∗ = v (rather then choosing

it via Gen) When need to sign using si∗, use Signs.

3

Let (m, σ = (m1, v1, σ1), . . . , (mq, vq, σq)) ← A′

4

Output ((mi∗, vi∗), σi∗) (abort if i∗ > q)) Signs is called at most once The emulated game A′Sign′

s′ has the “right" distribution.

slide-64
SLIDE 64

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Definition of A Algorithm 28 (A) Input: v, 1n Oracle: Signs

1

Choose i∗ ← [p = p(n)] and (s′, v′) ← Gen′(1n).

2

Emulate a random execution of A′Sign′

s′ with a single twist:

On the i∗’th call to Sign′

s′, set vi∗ = v (rather then choosing

it via Gen) When need to sign using si∗, use Signs.

3

Let (m, σ = (m1, v1, σ1), . . . , (mq, vq, σq)) ← A′

4

Output ((mi∗, vi∗), σi∗) (abort if i∗ > q)) Signs is called at most once The emulated game A′Sign′

s′ has the “right" distribution.

A breaks (Gen, Sign, Vrfy) whenever i∗ = i > 1.

slide-65
SLIDE 65

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateful schemes

Analysis of A For any n ∈ I Pr[A(1n) breaks (Gen, Sign, Vrfy)] ≥ Pri∗←[p=p(n)][i = i] ≥ 1 p · Pr[A′ breaks (Gen′, Sign′, Vrfy′)] ≥ 1 p(n)2

slide-66
SLIDE 66

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes

“Somewhat"-Stateful Schemes A one-time scheme (Gen, Sign, Vrfy), and ℓ = ℓ(n) ∈ ω(log n) Construction 29 Gen′(1n): output (sλ, vλ) ← Gen(1n). Sign′

s(m): choose unused r ∈ {0, 1}ℓ

1

For i = 0 to ℓ − 1: if ar 1,...,i was not set:

1

For both j ∈ {0, 1}, let (sr1,...,i ,j, vr1,...,i ,j) ← Gen(1n)

2

σr1,...,i = Signsr1,...,i (a1,...,i = (vr1,...,i ,0, vr1,...,i ,1))

2

Output (r, aλ, σλ, . . . , ar 1,...,ℓ−1, σr 1,...,ℓ−1, σr = Signsr (m))

Vrfy′

v(m, σ′ = (r, aλ, σλ, . . . , ar−1, σr 1,...,ℓ−1, σr)

1

Verify Vrfyvr1,...,i (ar 1,...,i, σr 1,...,i) = 1 for every i ∈ {0, . . . , ℓ − 1}

2

Verify Vrfyvr (m, σr) = 1 (where vr = (ar)r[ℓ])

slide-67
SLIDE 67

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes 1

More efficient scheme

slide-68
SLIDE 68

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes 1

More efficient scheme

2

Sign′ does not keep track of the message history.

slide-69
SLIDE 69

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes 1

More efficient scheme

2

Sign′ does not keep track of the message history.

3

Each leaf is visited at most once.

slide-70
SLIDE 70

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes 1

More efficient scheme

2

Sign′ does not keep track of the message history.

3

Each leaf is visited at most once.

4

Each one-time signature is used once.

slide-71
SLIDE 71

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes

Lemma 30 Assume that (Gen, Sign, Vrfy) is one time signature scheme, then (Gen′, Sign′, Vrfy′) is a stateful existential unforgeable signature scheme. Proof:

slide-72
SLIDE 72

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes

Lemma 30 Assume that (Gen, Sign, Vrfy) is one time signature scheme, then (Gen′, Sign′, Vrfy′) is a stateful existential unforgeable signature scheme. Proof: Let (m, σ′ = (r, aλ, σλ, . . . , ar−1, σr 1,...,ℓ−1, σr) be the

  • utput of a cheating A′ and let ar = m
slide-73
SLIDE 73

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Somewhat-Stateful Schemes

Lemma 30 Assume that (Gen, Sign, Vrfy) is one time signature scheme, then (Gen′, Sign′, Vrfy′) is a stateful existential unforgeable signature scheme. Proof: Let (m, σ′ = (r, aλ, σλ, . . . , ar−1, σr 1,...,ℓ−1, σr) be the

  • utput of a cheating A′ and let ar = m

Claim 31 Whenever A′ succeeds, ∃ i = i(m, σ′) ∈ {0, . . . , ℓ} such that:

1

Sign′

s queried Signsr1,...,i (ar 1,...,i) for every i ∈ [

i − 1], where sr 1,...,i is the value sampled by Sign′ when sampling ar 1,...,i−1 (or sλ, if i = 0)

2

Sign′

s did not query Signsr1,...,i (ar 1,...,i).

slide-74
SLIDE 74

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

slide-75
SLIDE 75

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)
slide-76
SLIDE 76

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)

2

Sign′(1n) :

1

choose r = π(0ℓ ◦ m)1,...,ℓ

slide-77
SLIDE 77

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)

2

Sign′(1n) :

1

choose r = π(0ℓ ◦ m)1,...,ℓ

2

When setting (sr 1,...,i,j, vr 1,...,i,j) ← Gen(1n), use π(r 1,...,i, j) as the randomness for Gen.

slide-78
SLIDE 78

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)

2

Sign′(1n) :

1

choose r = π(0ℓ ◦ m)1,...,ℓ

2

When setting (sr 1,...,i,j, vr 1,...,i,j) ← Gen(1n), use π(r 1,...,i, j) as the randomness for Gen.

Sign′ keeps no state

slide-79
SLIDE 79

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)

2

Sign′(1n) :

1

choose r = π(0ℓ ◦ m)1,...,ℓ

2

When setting (sr 1,...,i,j, vr 1,...,i,j) ← Gen(1n), use π(r 1,...,i, j) as the randomness for Gen.

Sign′ keeps no state A single one-time signature key might be used several times, but always on the same message

slide-80
SLIDE 80

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)

2

Sign′(1n) :

1

choose r = π(0ℓ ◦ m)1,...,ℓ

2

When setting (sr 1,...,i,j, vr 1,...,i,j) ← Gen(1n), use π(r 1,...,i, j) as the randomness for Gen.

Sign′ keeps no state A single one-time signature key might be used several times, but always on the same message Efficient scheme:

slide-81
SLIDE 81

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Stateless Schemes

Stateless Scheme Inefficient scheme: Let Πℓ,q be the set of random functions from {0, 1}∗ to {0, 1}q.

1

Gen′(1n) : let (s, v) ← Gen(1n) and π ← Πℓ(n),q(n), where q ∈ poly is large enough for the application below, and

  • utputs (s′ = (s, π), v′ = v)

2

Sign′(1n) :

1

choose r = π(0ℓ ◦ m)1,...,ℓ

2

When setting (sr 1,...,i,j, vr 1,...,i,j) ← Gen(1n), use π(r 1,...,i, j) as the randomness for Gen.

Sign′ keeps no state A single one-time signature key might be used several times, but always on the same message Efficient scheme: use PRF

slide-82
SLIDE 82

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Without CRH Definition 32 (target collision resistant (TCR)) A function family H = {Hn} is target collision resistant, if any pair of PPT’s A1, A2: Pr[(x, a) ← A1(1n); h ← Hn; x′ ← A2(a, h): x = x′ ∧ h(x) = h(x′)] = neg(n)

slide-83
SLIDE 83

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Without CRH Definition 32 (target collision resistant (TCR)) A function family H = {Hn} is target collision resistant, if any pair of PPT’s A1, A2: Pr[(x, a) ← A1(1n); h ← Hn; x′ ← A2(a, h): x = x′ ∧ h(x) = h(x′)] = neg(n) Theorem 33 OWFs imply efficient compressing TCRs.

slide-84
SLIDE 84

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Definition 34 (target one-time signatures) A signature scheme (Gen, Sign, Vrfy) is target one-time existential unforgeable (for short, target one-time signature), if for any pair of PPT’s A1, A2 Pr

  • (m, a) ← A1(1n); (s, v) ← Gen(1n);

(m′, σ) ← A(a, Signs(m)): m′ = m ∧ Vrfyv(m′, σ) = 1

  • = neg(n)
slide-85
SLIDE 85

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Definition 34 (target one-time signatures) A signature scheme (Gen, Sign, Vrfy) is target one-time existential unforgeable (for short, target one-time signature), if for any pair of PPT’s A1, A2 Pr

  • (m, a) ← A1(1n); (s, v) ← Gen(1n);

(m′, σ) ← A(a, Signs(m)): m′ = m ∧ Vrfyv(m′, σ) = 1

  • = neg(n)

Claim 35 OWFs imply target one-time signatures.

slide-86
SLIDE 86

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Definition 36 (random one-time signatures) A signature scheme (Gen, Sign, Vrfy) is random one-time existential unforgeable (for short, random one-time signature), if for any PPT A and any samplable ensemble M = {Mn}n∈N, it holds that Pr

  • m ← Mn; (s, v) ← Gen(1n); (m′, σ) ← A(m, Signs(m)) :

m′ = m ∧ Vrfyv(m′, σ) = 1

  • = neg(n)
slide-87
SLIDE 87

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Definition 36 (random one-time signatures) A signature scheme (Gen, Sign, Vrfy) is random one-time existential unforgeable (for short, random one-time signature), if for any PPT A and any samplable ensemble M = {Mn}n∈N, it holds that Pr

  • m ← Mn; (s, v) ← Gen(1n); (m′, σ) ← A(m, Signs(m)) :

m′ = m ∧ Vrfyv(m′, σ) = 1

  • = neg(n)

Claim 37 Assume (Gen, Sign, Vrfy) is target one-time existential unforgeable, then it is random one-time existential unforgeable.

slide-88
SLIDE 88

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Lemma 38 Assume that (Gen, Sign, Vrfy) is a target one-time signature scheme, then (Gen′, Sign′, Vrfy′) from Construction 29 is a stateful existential unforgeable signature scheme.

slide-89
SLIDE 89

Message Authentication Code (MAC) Constructions Signature Schemes OWFs = ⇒ Signatures Without CRH

Lemma 38 Assume that (Gen, Sign, Vrfy) is a target one-time signature scheme, then (Gen′, Sign′, Vrfy′) from Construction 29 is a stateful existential unforgeable signature scheme. Proof: ?