Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
Block Ciphers - The Basics
Lars R. Knudsen Spring 2011
L.R. Knudsen Block Ciphers - The Basics
Block Ciphers - The Basics Lars R. Knudsen Spring 2011 L.R. - - PowerPoint PPT Presentation
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis Block Ciphers - The Basics Lars R. Knudsen Spring 2011 L.R. Knudsen Block Ciphers - The Basics Intro Attack on iterated ciphers Differential cryptanalysis
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 exhaustive key search
2 table attack
3 Hellman tradeoffs of 1 and 2, e.g. n = κ, 22n/3 time &
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 Collect 2n/2 ciphertext blocks 2 With 2 equal ciphertext blocks
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
k2
kr
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 assume e·(·) is a block cipher 2 double encryption
k1
k2
3 triple encryption
k1
k2
k3
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 assume p(·) is ideal n-bit bijection (permutation) 2 Even-Mansour (1991)
k0
k1
3 security bound of 2n/2 4 bound tight, attack by Daemen L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 assume p(·) and q(·) are two ideal n-bit bijections 2 Knudsen-Leander et al. (work in progress)
k0
k1
k2
3 security bound of 2 2 3 n 4 with r “rounds”, bound is 2 r r+1 n L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
k2
cr−1
kr
1 assume “correlation” between m and cr−1 2 given a number of pairs (m, c) 3 repeat for all pairs and all values i of kr: 1
2
4 value of i which yields cor(m, cr−1) taken as value of kr L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
k2
kr
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
k2
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
k2
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
k2
1 choose random m, compute m′ = m ⊕ fx, obtain (m, c) and
2 for i = 0, . . . , 15:
1
2
3 go to 1, until one counter holds significant value L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 exclusive-or round key to text 2 split text, evaluate each nibble via S-box
3 permute bits in y according to:
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 choose pairs of plaintexts with difference ∆m 2 get the pairs of ciphertexts c and c∗ 3 for i = 0, . . . , 2k − 1 do:
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
kr−1
kr
i
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
ki
ki+1
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
kr−1
kr
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
k0
k1
kr−1
kr
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
1 exclusive-or round key to text 2 split text, evaluate each nibble via S-box
3 permute bits in y according to:
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics
Intro Attack on iterated ciphers Differential cryptanalysis Linear cryptanalysis
L.R. Knudsen Block Ciphers - The Basics