The Collision Security of Tandem-DM in the Ideal Cipher Model - - PowerPoint PPT Presentation

the collision security of tandem dm in the ideal cipher
SMART_READER_LITE
LIVE PREVIEW

The Collision Security of Tandem-DM in the Ideal Cipher Model - - PowerPoint PPT Presentation

The Collision Security of Tandem-DM in the Ideal Cipher Model Jooyoung Lee 1 Martijn Stam 2 John Steinberger 3 1 Faculty of Mathematics and Statistics, Sejong University, Seoul, Korea 2 Department of Computer Science, University of Bristol,


slide-1
SLIDE 1

The Collision Security of Tandem-DM in the Ideal Cipher Model

Jooyoung Lee1 Martijn Stam2 John Steinberger3

1Faculty of Mathematics and Statistics, Sejong University, Seoul, Korea 2Department of Computer Science, University of Bristol, Bristol, United Kingdom 3Institute of Theoretical Computer Science, Tsinghua University, Beijing, China

August 18, 2011

slide-2
SLIDE 2

Tandem-DM

E

M

E

A 3n-bit to 2n-bit compression function making two calls to a blockcipher using 2n-bit keys Proposed by Lai and Massey in Eurocrypt 1992 The first security proof given in FSE 2009, its extension given in ProvSec 2010

slide-3
SLIDE 3

Tandem-DM

E

M

E

Contribution Shows the prior proofs are flawed Presents a novel proof for the collision resistance of Tandem-DM in the ideal cipher model Mostly historical interest, rather than practical interest

slide-4
SLIDE 4

Ideal Cipher Model & Query History

E E-1 Adversary

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-5
SLIDE 5

Ideal Cipher Model & Query History

K1,X1

E E-1 Adversary

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-6
SLIDE 6

Ideal Cipher Model & Query History

K1,X1

E E-1 Adversary

Y

1←{ 0,1} \R K1

$

R

K1←R K1∪{ Y 1}

n

R

K1

R

K1∪{ Y }

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-7
SLIDE 7

Ideal Cipher Model & Query History

K1,X1

E E-1 Adversary

Y

1←{ 0,1} \R K1

$

R

K1←R K1∪{ Y 1}

n

Y1 R

K1

R

K1∪{ Y }

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-8
SLIDE 8

Ideal Cipher Model & Query History

K1,X1

E E-1 Adversary

(X1,K1,Y1) Y1 An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-9
SLIDE 9

Ideal Cipher Model & Query History

E E-1

K2,Y2

Adversary

(X1,K1,Y1) An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-10
SLIDE 10

Ideal Cipher Model & Query History

E E-1

K2,Y2

Adversary

(X1,K1,Y1) X2←{ 0,1} \DK2

$

DK2←DK2∪{ X2}

n

DK2 DK2∪{ X } An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-11
SLIDE 11

Ideal Cipher Model & Query History

E E-1

K2,Y2

Adversary

(X1,K1,Y1) X2←{ 0,1} \DK2

$

DK2←DK2∪{ X2}

n

X2 DK2 DK2∪{ X } An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-12
SLIDE 12

Ideal Cipher Model & Query History

E E-1

K2,Y2

Adversary

(X1,K1,Y1) (X2,K2,Y2) X2 An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-13
SLIDE 13

Ideal Cipher Model & Query History

K3,X3

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-14
SLIDE 14

Ideal Cipher Model & Query History

K3,X3

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) Y

3←{ 0,1} \R K3

$

R

K3←R K3∪{ Y 3}

n

R

K3

R

K3∪{ Y }

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-15
SLIDE 15

Ideal Cipher Model & Query History

K3,X3

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) Y

3←{ 0,1} \R K3

$

R

K3←R K3∪{ Y 3}

n

Y3 R

K3

R

K3∪{ Y }

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-16
SLIDE 16

Ideal Cipher Model & Query History

K3,X3

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) (X3 K3 Y3) Y3 (X3,K3,Y3) An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-17
SLIDE 17

Ideal Cipher Model & Query History

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) (X3 K3 Y3) (X3,K3,Y3) (Xq Kq Y

q)

(Xq,Kq,Y

q)

An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-18
SLIDE 18

Ideal Cipher Model & Query History

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) (X3 K3 Y3) (X3,K3,Y3) (Xq Kq Y

q)

Q e Hi to Q (Xq,Kq,Y

q)

Query History Q An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-19
SLIDE 19

Ideal Cipher Model & Query History

E E-1 Adversary

(X1,K1,Y1) (X2,K2,Y2) (X3 K3 Y3) (X3,K3,Y3) (Xq Kq Y

q)

Q e Hi to Q (Xq,Kq,Y

q)

Query History Q An ideal cipher is simulated by lazy sampling The query history Q determines every evaluation of a blockcipher-based compression function

slide-20
SLIDE 20

Evaluation of Tandem-DM

(A, B||L, R), (B, L||R, S) ∈ Q determine TDME : {0, 1}3n − → {0, 1}2n A||B||L − → A ⊕ R||B ⊕ S

A A R TL A B L R S B S BL

slide-21
SLIDE 21

Collisions in Tandem-DM

The goal of a collision-finding adversary A To find (A, B||L, R), (B, L||R, S), (A′, B′||L′, R′), (B′, L′||R′, S′) such that A||B||L = A′||B′||L′, A ⊕ R = A′ ⊕ R′, B ⊕ S = B′ ⊕ S′ Predicate Coll(Q) is true if and only if such queries exist in Q

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-22
SLIDE 22

Collisions in Tandem-DM

The goal of a collision-finding adversary A To find (A, B||L, R), (B, L||R, S), (A′, B′||L′, R′), (B′, L′||R′, S′) such that A||B||L = A′||B′||L′, A ⊕ R = A′ ⊕ R′, B ⊕ S = B′ ⊕ S′ We want to upper bound Pr[Coll(Q)] = AdvColl

TDME(A)

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-23
SLIDE 23

Collisions in Tandem-DM

The goal of a collision-finding adversary A To find (A, B||L, R), (B, L||R, S), (A′, B′||L′, R′), (B′, L′||R′, S′) such that A||B||L = A′||B′||L′, A ⊕ R = A′ ⊕ R′, B ⊕ S = B′ ⊕ S′ We want Pr[Coll(Q)] to be small

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-24
SLIDE 24

Case Analysis

Coll(Q) ⇒ Coll1(Q) ∨ Coll2(Q) ∨ Coll3(Q), where Coll1(Q) ⇔ Q has a collision with TL, BL, TR, BR distinct Coll2(Q) ⇔ Q has a collision with TL = BL or TR = BR Coll3(Q) ⇔ Q has a collision with TL = BR or BL = TR Ex) Coll2(Q) occurs if (A, A||A, A), (B, B||B, B) s.t. A = B exist

A 0n TL A A A A A 0n BL B 0n TR B B B B B 0n BR

slide-25
SLIDE 25

Case Analysis

Coll(Q) ⇒ Coll1(Q) ∨ Coll2(Q) ∨ Coll3(Q), where Coll1(Q) ⇔ Q has a collision with TL, BL, TR, BR distinct Coll2(Q) ⇔ Q has a collision with TL = BL or TR = BR Coll3(Q) ⇔ Q has a collision with TL = BR or BL = TR We are going to focus on upper bounding Pr[Coll1(Q)] Ex) Coll2(Q) occurs if (A, A||A, A), (B, B||B, B) s.t. A = B exist

A 0n TL A A A A A 0n BL B 0n TR B B B B B 0n BR

slide-26
SLIDE 26

Upper bounding Pr[Coll1(Q)]

General Framework

1

Upper bound the probability of Colli

1(Q) that the i-th query

completes a collision

2

Union bound by summing the upper bounds over all possible queries i = 1, . . . , q (If the upper bounds are independent of each query, then we can just multiply q)

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-27
SLIDE 27

Upper bounding Pr[Coll1(Q)]

General Framework

1

Upper bound the probability of Colli

1(Q) that the i-th query

completes a collision

2

Union bound by summing the upper bounds over all possible queries i = 1, . . . , q (If the upper bounds are independent of each query, then we can just multiply q) How can we upper bound Pr[Colli

1(Q)]?

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-28
SLIDE 28

Upper bounding Pr[Colli

1(Q)]

By symmetry, we can assume the last query is either TL or BL. The last query: TL BL Backward Case 1 Case 3 Forward Case 2 Case 4

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-29
SLIDE 29

Upper bounding Pr[Colli

1(Q)]

By symmetry, we can assume the last query is either TL or BL. The last query: TL BL Backward Case 1 Case 3 Forward Case 2 Case 4 Union bound Pr[Colli

1(Q)] ≤ Pr[Case1] + Pr[Case2] + Pr[Case3] + Pr[Case4]

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-30
SLIDE 30

Upper bounding Pr[Colli

1(Q)]

By symmetry, we can assume the last query is either TL or BL. The last query: TL BL Backward Case 1 Case 3 Forward Case 2 Case 4 Union bound Pr[Colli

1(Q)] ≤ Pr[Case1] + Pr[Case2] + Pr[Case3] + Pr[Case4]

A A R TL A B L R S B S BL A’ A’ R’ TR A B’ L’ R’ S’ S B’ S’ BR

slide-31
SLIDE 31

Case 1: The Last Query is TL and Backward

1

At the point when TL is queried, B, L, R are fixed

2

B, L, R uniquely determine BL, and B ⊕ S

3

The number of BR-queries (B′, L′||R′, S′) such that B′ ⊕ S′ = B ⊕ S is at most α except with small probability

4

Each of BR-queries uniquely determines TR, and A′ ⊕ R′

5

The response should be A′ ⊕ R′ ⊕ R, so Pr[Case1] ≤

α 2n−q

(except with the “bad event")

? B L R

slide-32
SLIDE 32

Case 1: The Last Query is TL and Backward

1

At the point when TL is queried, B, L, R are fixed

2

B, L, R uniquely determine BL, and B ⊕ S

3

The number of BR-queries (B′, L′||R′, S′) such that B′ ⊕ S′ = B ⊕ S is at most α except with small probability

4

Each of BR-queries uniquely determines TR, and A′ ⊕ R′

5

The response should be A′ ⊕ R′ ⊕ R, so Pr[Case1] ≤

α 2n−q

(except with the “bad event")

? B L R S ? S B S

slide-33
SLIDE 33

Case 1: The Last Query is TL and Backward

1

At the point when TL is queried, B, L, R are fixed

2

B, L, R uniquely determine BL, and B ⊕ S

3

The number of BR-queries (B′, L′||R′, S′) such that B′ ⊕ S′ = B ⊕ S is at most α except with small probability

4

Each of BR-queries uniquely determines TR, and A′ ⊕ R′

5

The response should be A′ ⊕ R′ ⊕ R, so Pr[Case1] ≤

α 2n−q

(except with the “bad event")

? B L R S ? S B S B’ L’ R’ S’ S B’ S’

slide-34
SLIDE 34

Case 1: The Last Query is TL and Backward

1

At the point when TL is queried, B, L, R are fixed

2

B, L, R uniquely determine BL, and B ⊕ S

3

The number of BR-queries (B′, L′||R′, S′) such that B′ ⊕ S′ = B ⊕ S is at most α except with small probability

4

Each of BR-queries uniquely determines TR, and A′ ⊕ R′

5

The response should be A′ ⊕ R′ ⊕ R, so Pr[Case1] ≤

α 2n−q

(except with the “bad event")

? B L R S ? S B S A’ R’ A’ B’ L’ R’ S’ A S B’ S’

slide-35
SLIDE 35

Case 1: The Last Query is TL and Backward

1

At the point when TL is queried, B, L, R are fixed

2

B, L, R uniquely determine BL, and B ⊕ S

3

The number of BR-queries (B′, L′||R′, S′) such that B′ ⊕ S′ = B ⊕ S is at most α except with small probability

4

Each of BR-queries uniquely determines TR, and A′ ⊕ R′

5

The response should be A′ ⊕ R′ ⊕ R, so Pr[Case1] ≤

α 2n−q

(except with the “bad event")

A’ R’ R A’ R’ B L R S A R R S B S A’ R’ A’ B’ L’ R’ S’ A S B’ S’

slide-36
SLIDE 36

Case 2: The Last Query is TL and Forward

Subcase 2a: BL-query is Backward

1

At the point when TL is queried, A, B, L are fixed

2

The number of backward queries whose answer is B is at most α except with small probability

3

Since each of such backward queries uniquely determines R, Pr[Subcase2a] ≤

α 2n−q (except with the “bad event")

A B L ?

slide-37
SLIDE 37

Case 2: The Last Query is TL and Forward

Subcase 2a: BL-query is Backward

1

At the point when TL is queried, A, B, L are fixed

2

The number of backward queries whose answer is B is at most α except with small probability

3

Since each of such backward queries uniquely determines R, Pr[Subcase2a] ≤

α 2n−q (except with the “bad event")

A B L R S A S

slide-38
SLIDE 38

Case 2: The Last Query is TL and Forward

Subcase 2a: BL-query is Backward

1

At the point when TL is queried, A, B, L are fixed

2

The number of backward queries whose answer is B is at most α except with small probability

3

Since each of such backward queries uniquely determines R, Pr[Subcase2a] ≤

α 2n−q (except with the “bad event")

A B L R S A S

slide-39
SLIDE 39

Case 2: The Last Query is TL and Forward

Subcase 2b: BL-query is Forward

1

At the point when TL is queried, A, B, L are fixed

2

The number of forward queries whose input block is B?

A B L ?

slide-40
SLIDE 40

Case 2: The Last Query is TL and Forward

Subcase 2b: BL-query is Forward

1

At the point when TL is queried, A, B, L are fixed

2

The number of forward queries whose input block is B?

A B L R S A S

slide-41
SLIDE 41

Case 2: The Last Query is TL and Forward

Subcase 2b: BL-query is Forward

1

At the point when TL is queried, A, B, L are fixed

2

The number of forward queries whose input block is B? It is hard to probabilistically restrict this number!

A B L R S A S

slide-42
SLIDE 42

Case 2: The Last Query is TL and Forward

Subcase 2b: BL-query is Forward

1

At the point when TL is queried, A, B, L are fixed

2

The number of forward queries whose input block is B? We want to eliminate this case

A B L R S A S

slide-43
SLIDE 43

Main Idea: Modified Adversary A′

A′ runs A as a subroutine and records its query history Q′ If A makes a forward query EL||R(B), then A′ makes a query EL||R(B), and an additional query E−1

B||L(R)

If A makes a backward query E−1

B||L(R), then A′ makes a

query E−1

B||L(R), and an additional query EL||R(B)

B L R

slide-44
SLIDE 44

Main Idea: Modified Adversary A′

A′ runs A as a subroutine and records its query history Q′ If A makes a forward query EL||R(B), then A′ makes a query EL||R(B), and an additional query E−1

B||L(R)

If A makes a backward query E−1

B||L(R), then A′ makes a

query E−1

B||L(R), and an additional query EL||R(B)

B L R

slide-45
SLIDE 45

Main Idea: Modified Adversary A′

A′ runs A as a subroutine and records its query history Q′ If A makes a forward query EL||R(B), then A′ makes a query EL||R(B), and an additional query E−1

B||L(R)

If A makes a backward query E−1

B||L(R), then A′ makes a

query E−1

B||L(R), and an additional query EL||R(B)

B L R

slide-46
SLIDE 46

The Property of the Modified Adversary

If A makes q queries, then A′ makes at most 2q queries Since Q ⊂ Q′, AdvColl

TDME(A) ≤ AdvColl TDME(A′)

B L R

slide-47
SLIDE 47

The Property of the Modified Adversary

If A makes q queries, then A′ makes at most 2q queries Since Q ⊂ Q′, AdvColl

TDME(A) ≤ AdvColl TDME(A′)

B L R

slide-48
SLIDE 48

The Property of the Modified Adversary

If A makes q queries, then A′ makes at most 2q queries Since Q ⊂ Q′, AdvColl

TDME(A) ≤ AdvColl TDME(A′)

If A′ obtains the BL position of a certain evaluation by a forward query, then A′ will immediately make an additional backward query and place it at the TL position B L R

slide-49
SLIDE 49

The Property of the Modified Adversary

If A makes q queries, then A′ makes at most 2q queries Since Q ⊂ Q′, AdvColl

TDME(A) ≤ AdvColl TDME(A′)

If the TL position of a certain evaluation is obtained by a forward query after the BL position is determined, then the BL query should have been obtained by a backward query B L R

slide-50
SLIDE 50

The Property of the Modified Adversary

If A makes q queries, then A′ makes at most 2q queries Since Q ⊂ Q′, AdvColl

TDME(A) ≤ AdvColl TDME(A′)

It means that A′ does not create Subcase 2b B L R

slide-51
SLIDE 51

Main Result

Theorem For N = 2n, q < N/2 and 1 ≤ α ≤ 2q, Advcoll

TDM(q) ≤ 2N

  • 2eq

α(N − 2q) α + 4qα N − 2q + 4q N − 2q Asymptotically, using α = n/ log n lim

n→∞ Advcoll TDM (N/n) = 0

Numerically, for n = 128, using α = 16 Advcoll

TDM(2120.87) < 1

2

slide-52
SLIDE 52

Thank You