Cryptanalysis of RadioGatn Thomas Fuhr 1 Thomas Peyrin 2 1 Direction - - PowerPoint PPT Presentation

cryptanalysis of radiogat n
SMART_READER_LITE
LIVE PREVIEW

Cryptanalysis of RadioGatn Thomas Fuhr 1 Thomas Peyrin 2 1 Direction - - PowerPoint PPT Presentation

Cryptanalysis of RadioGatn Cryptanalysis of RadioGatn Thomas Fuhr 1 Thomas Peyrin 2 1 Direction Centrale de la Scurit des Systmes dInformation 2 Ingenico FSE 2009 - February 22-25 - Leuven Thomas Fuhr , Thomas Peyrin Cryptanalysis


slide-1
SLIDE 1

Cryptanalysis of RadioGatún

Cryptanalysis of RadioGatún

Thomas Fuhr 1 Thomas Peyrin 2

1Direction Centrale de la Sécurité des Systèmes d’Information 2Ingenico

FSE 2009 - February 22-25 - Leuven

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 1 / 22

slide-2
SLIDE 2

Cryptanalysis of RadioGatún Introduction

Outline

1

Description of RadioGatún

2

Symmetric differential cryptanalysis

3

Path search algorithm

4

Collision search algorithm

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 2 / 22

slide-3
SLIDE 3

Cryptanalysis of RadioGatún Introduction

Hash functions - Definition and security

Definition A hash function is a function H : {0, 1}∗ → {0, 1}n Security against... Collision attacks: find M = M′ s.t. H(M) = H(M′) 2nd-preimage attacks: given M, find M′ = M s.t. H(M) = H(M′) Preimage attacks: given h, find M s.t. H(M) = h

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 3 / 22

slide-4
SLIDE 4

Cryptanalysis of RadioGatún Introduction

Hash functions - Definition and security

Definition A hash function is a function H : {0, 1}∗ → {0, 1}n Security against... Collision attacks: find M = M′ s.t. H(M) = H(M′) 2nd-preimage attacks: given M, find M′ = M s.t. H(M) = H(M′) Preimage attacks: given h, find M s.t. H(M) = h

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 3 / 22

slide-5
SLIDE 5

Cryptanalysis of RadioGatún Description of RadioGatún

Overview of RadioGatún

A family of stream-oriented hash functions Designed by Bertoni et al. (2006) Based on a round permutation of a large internal state Parameters: w (size of variables), n (digest length)

Notation: RadioGatún[w] Usually 32 or 64 Word: w-bit variable

Three stages

P P P P P

b0 bx h0 hy

P Message Insertion Blank Rounds Digest Output P

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 4 / 22

slide-6
SLIDE 6

Cryptanalysis of RadioGatún Description of RadioGatún

The belt-and-mill structure

State (58 words) = Belt (3 × 13 words) + Mill (19 words) Message block: 3 words Mill to belt and belt to mill x-ors Rotation of the belt Nonlinear update of the mill

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 5 / 22

slide-7
SLIDE 7

Cryptanalysis of RadioGatún Description of RadioGatún

The mill function

5 steps, the first one is nonlinear Permutation, rotation, diffusion and disymmetry

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 6 / 22

slide-8
SLIDE 8

Cryptanalysis of RadioGatún Description of RadioGatún

Security claims and previous results on RadioGatún

Maximum digest size: 19w

Collisions: birthday bound in 29.5w

Best generic collision search: 227.5w Bouillaguet and Fouque: 224.5 hash computations for RadioGatún[1] (SAC2008) Khovratovich (2008): semi-free-start collisions in 218w

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 7 / 22

slide-9
SLIDE 9

Cryptanalysis of RadioGatún Description of RadioGatún

Our attack

Collision on the internal state before the blank rounds A symmetric differential path Independent from w Collision search complexity: 211w computations of the state update function A 148-block collision for RadioGatún[2]

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 8 / 22

slide-10
SLIDE 10

Cryptanalysis of RadioGatún Symmetric differential cryptanalysis

Differential cryptanalysis

Choose equal-length message pairs {M, M′} with a specific difference

Our paper: x-or difference

Find a differential path

Probabilistic propagation through elementary operations For each pair of equivalent variables: a set of admissible differences Succession of admissible differences = differential path No difference on the digests

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 9 / 22

slide-11
SLIDE 11

Cryptanalysis of RadioGatún Symmetric differential cryptanalysis

RadioGatún and differential cryptanalysis

RadioGatún properties:

Blank rounds → No freedom degrees to control difference propagation Large internal state → No easy automated search for differential path Shorter digests → Security margin on the internal state

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 10 / 22

slide-12
SLIDE 12

Cryptanalysis of RadioGatún Symmetric differential cryptanalysis

Symmetric differential cryptanalysis

A tool introduced by Rijmen et al. at FSE 2001 Restriction to a linear subspace of the differential path space Improving a probabilistic search for a differential path For each word: no difference, or differences on all bits X X ′ X ⊕ X ′ ∆X 01100011 01100011 00000000 0w 10100110 01011001 11111111 1w 01011010 11001100 10010110 ⊥

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 11 / 22

slide-13
SLIDE 13

Cryptanalysis of RadioGatún Symmetric differential cryptanalysis

Symmetric differential propagation for RadioGatún

Deterministic differential propagation through linear functions Nonlinear part of the mill: c = a ∨ ¯ b ∆a ∆b ∆a∨b Probability Condition 0w 0w 0w 1 0w 1w 0w 2−w a = 1w 0w 1w 1w 2−w a = 0w 1w 0w 0w 2−w b = 0w 1w 0w 1w 2−w b = 1w 1w 1w 0w 2−w a ⊕ b = 0w 1w 1w 1w 2−w a ⊕ b = 1w

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 12 / 22

slide-14
SLIDE 14

Cryptanalysis of RadioGatún Search for a differential path

Differential path search

Meet-in-the-middle technique to find a path Elimination of too complex paths

Computation of a list of differential transitions for the mill function Use of the entropy to evaluate the path complexity

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 13 / 22

slide-15
SLIDE 15

Cryptanalysis of RadioGatún Search for a differential path

Differential path search

Computation of 227 forward paths

Width-first search

Depth-first search for a matching backward path

Collision on a 55-bit variable Cost : 255−27 = 228

P P

dj di-1

Forward search Backward search P P

di+1 d tj ti-1 ti+1 t

easy detection

di

elementary step forward j-1

D -1 D

i+1

D

i

D

i-1

D

j

D

i-1 elementary step backward

D

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 14 / 22

slide-16
SLIDE 16

Cryptanalysis of RadioGatún Search for a differential path

Differential path search

Computation of 227 forward paths

Width-first search

Depth-first search for a matching backward path

Collision on a 55-bit variable Cost : 255−27 = 228

P P

dj di-1

Forward search Backward search P P

di+1 d tj ti-1 ti+1 t

easy detection

di

elementary step forward j-1

D -1 D

i+1

D

i

D

i-1

D

j

D

i-1 elementary step backward

D

P P

d0 di-1

Forward search Backward search P P

di+1 dk t0 ti-1 ti+1 tk

easy detection

di

elementary step forward

Dk-1 D

i+1

D

i

D

i-1

D D

i-1 elementary step backward

Dk

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 14 / 22

slide-17
SLIDE 17

Cryptanalysis of RadioGatún Search for a differential path

Differential path search

Computation of 227 forward paths

Width-first search

Depth-first search for a matching backward path

Collision on a 55-bit variable Cost : 255−27 = 228

P P

d0 di-1

Forward search Backward search P P

di+1 dl t0 ti-1 ti+1 tl

easy detection

di

elementary step elementary step

Dl-1 D

i+1

D

i

D

i-1

D D

i-1

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 14 / 22

slide-18
SLIDE 18

Cryptanalysis of RadioGatún Search for a differential path

Entropy

Evaluation of the path complexity Defined recursively from the last step of a differential path Hk = max(Hk+1 + ck − 3, 0), Hℓ = 0 ck conditions on the mill words before round permutation k

Logarithmic value of the expected number of prefixes of length k to get a collision Computing forward: the expected number of available prefixes of length k (logarithmic value)

No path with a maximum entropy below 8

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 15 / 22

slide-19
SLIDE 19

Cryptanalysis of RadioGatún Search for a differential path

Entropy bounds

Backward search: maximum entropy of 8 Forward search: entropy 8 at the starting point

Entropy Steps

Forward search Backward search

4 8

no difference no difference Colliding Differences

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 16 / 22

slide-20
SLIDE 20

Cryptanalysis of RadioGatún The collision search algorithm

Summary of the collision search algorithm

Block per block computation of colliding messages Backtracking when no suitable block can be found Round k complexity:

Bk × Pk Pk: Number of prefixes of length k Bk: Cost of the message blocks search

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 17 / 22

slide-21
SLIDE 21

Cryptanalysis of RadioGatún The collision search algorithm

Message insertion and conditions

Influence of message insertion k:

After message insertion, round k After message insertion, round k + 1 After message insertion, round k + 2

Variable M0 M0 ⊕ M1 M1 M1 ⊕ M2 M2 M2 ⊕ M3 M3 M3 ⊕ M4 Round k + 2 k + 1 k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 Variable M4 M4 ⊕ M5 M5 M5 ⊕ M6 M6 M6 ⊕ M7 M7 M7 ⊕ M8 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k + 2 Variable M8 M8 ⊕ M9 M9 M9 ⊕ M10 M10 M10 ⊕ M11 M11 M11 ⊕ M12 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 2 k + 2 k + 1 Variable M12 M12 ⊕ M13 M13 M13 ⊕ M14 M14 M14 ⊕ M15 M15 M15 ⊕ M16 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k Variable M16 M16 ⊕ M17 M17 M17 ⊕ M18 M18 M18 ⊕ M0 Round k k k k k k

Conditions on these variables: not affected after message insertion k

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 18 / 22

slide-22
SLIDE 22

Cryptanalysis of RadioGatún The collision search algorithm

Message insertion and conditions

Influence of message insertion k:

After message insertion, round k After message insertion, round k + 1 After message insertion, round k + 2

Variable M0 M0 ⊕ M1 M1 M1 ⊕ M2 M2 M2 ⊕ M3 M3 M3 ⊕ M4 Round k + 2 k + 1 k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 Variable M4 M4 ⊕ M5 M5 M5 ⊕ M6 M6 M6 ⊕ M7 M7 M7 ⊕ M8 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k + 2 Variable M8 M8 ⊕ M9 M9 M9 ⊕ M10 M10 M10 ⊕ M11 M11 M11 ⊕ M12 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 2 k + 2 k + 1 Variable M12 M12 ⊕ M13 M13 M13 ⊕ M14 M14 M14 ⊕ M15 M15 M15 ⊕ M16 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k Variable M16 M16 ⊕ M17 M17 M17 ⊕ M18 M18 M18 ⊕ M0 Round k k k k k k

Conditions on these variables: not affected after message insertion k

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 18 / 22

slide-23
SLIDE 23

Cryptanalysis of RadioGatún The collision search algorithm

Message insertion and conditions

Influence of message insertion k:

After message insertion, round k After message insertion, round k + 1 After message insertion, round k + 2

Variable M0 M0 ⊕ M1 M1 M1 ⊕ M2 M2 M2 ⊕ M3 M3 M3 ⊕ M4 Round k + 2 k + 1 k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 Variable M4 M4 ⊕ M5 M5 M5 ⊕ M6 M6 M6 ⊕ M7 M7 M7 ⊕ M8 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k + 2 Variable M8 M8 ⊕ M9 M9 M9 ⊕ M10 M10 M10 ⊕ M11 M11 M11 ⊕ M12 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 2 k + 2 k + 1 Variable M12 M12 ⊕ M13 M13 M13 ⊕ M14 M14 M14 ⊕ M15 M15 M15 ⊕ M16 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k Variable M16 M16 ⊕ M17 M17 M17 ⊕ M18 M18 M18 ⊕ M0 Round k k k k k k

Conditions on these variables: not affected after message insertion k

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 18 / 22

slide-24
SLIDE 24

Cryptanalysis of RadioGatún The collision search algorithm

Message insertion and conditions

Influence of message insertion k:

After message insertion, round k After message insertion, round k + 1 After message insertion, round k + 2

Variable M0 M0 ⊕ M1 M1 M1 ⊕ M2 M2 M2 ⊕ M3 M3 M3 ⊕ M4 Round k + 2 k + 1 k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 Variable M4 M4 ⊕ M5 M5 M5 ⊕ M6 M6 M6 ⊕ M7 M7 M7 ⊕ M8 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k + 2 Variable M8 M8 ⊕ M9 M9 M9 ⊕ M10 M10 M10 ⊕ M11 M11 M11 ⊕ M12 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 2 k + 2 k + 1 Variable M12 M12 ⊕ M13 M13 M13 ⊕ M14 M14 M14 ⊕ M15 M15 M15 ⊕ M16 Round k + 1 k + 1 k + 1 k + 1 k + 2 k + 1 k + 2 k Variable M16 M16 ⊕ M17 M17 M17 ⊕ M18 M18 M18 ⊕ M0 Round k k k k k k

Conditions on these variables: not affected after message insertion k

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 18 / 22

slide-25
SLIDE 25

Cryptanalysis of RadioGatún The collision search algorithm

Reduction of Bk

A polynomial system in 3w variables Interesting conditions:

At round k: linear dependence on the message At round k + 1: bitwise dependence on the message for some conditions

w 3-variable independent subsystems Overall complexity of the collision search algorithm:

Sum of the round complexities Approximated by the crowded round complexity

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 19 / 22

slide-26
SLIDE 26

Cryptanalysis of RadioGatún Conclusion and openings

Our Results

A 143-block path The crowded round complexity: 211w A RadioGatún[2] collision that confirms the complexity analysis More details: http://eprint.iacr.org/2008/515

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 20 / 22

slide-27
SLIDE 27

Cryptanalysis of RadioGatún Conclusion and openings

Towards breaking the designers’ security claims ?

Increasing the size of the path space

Use (01)w/2 and (10)w/2 differences May lead to paths with a better complexity Problem: the state space has 22×55 elements

Tradeoff: path search vs minimal complexity

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 21 / 22

slide-28
SLIDE 28

Cryptanalysis of RadioGatún Conclusion and openings

Thank you for your attention

Thomas Fuhr , Thomas Peyrin Cryptanalysis of RadioGatún 22 / 22