Block Cipher Cryptanalysis: An Overview
Subhabrata Samajder
Indian Statistical Institute, Kolkata 17th May, 2017
0/52
Block Cipher Cryptanalysis: An Overview Subhabrata Samajder Indian - - PowerPoint PPT Presentation
Block Cipher Cryptanalysis: An Overview Subhabrata Samajder Indian Statistical Institute, Kolkata 17 th May, 2017 0/52 Iterated Block Cipher Outline Iterated Block Cipher 1 S-Boxes 2 A Basic Substitution Permutation Network 3 Linear
0/52
Iterated Block Cipher
0/52
Iterated Block Cipher
1/52
Iterated Block Cipher
2/52
Iterated Block Cipher
3/52
Iterated Block Cipher
3/52
Iterated Block Cipher Designs
3/52
Iterated Block Cipher Designs
Sub-key k(1) Mixing S11 S12 S13 S14 Sub-key k(2) Mixing S21 S22 S23 S24 Sub-key k(3) Mixing S31 S32 S33 S34 Sub-key k(4) Mixing S41 S42 S43 S44 Sub-key k(5) Mixing P1 . . . Plaintext P16 . . . C1 . . . Ciphertext C16 . . . Round 1 Round 2 Round 3 Round 4
4/52
Iterated Block Cipher Designs
5/52
Iterated Block Cipher Designs
5/52
Iterated Block Cipher Designs
5/52
Iterated Block Cipher Designs
5/52
Iterated Block Cipher Designs
L0 R0 k(0) F
F
F
Lr+1 Ciphertext Plaintext Encryption Rr+1 Lr+1 k(r) F
F
F
R0 Plaintext Ciphertext Decryption
6/52
Iterated Block Cipher Designs
7/52
Iterated Block Cipher Designs
8/52
Iterated Block Cipher Designs
L0 R0
⊟
F
⊞ ⊞
k(0) H
⊟
F
⊞ ⊞
k(1) H
⊟
F
⊞ ⊞
k(r) H Lr Rr H Ciphertext Plaintext Encryption Lr+1 Rr+1
⊟
F
⊟ ⊟
k(r) H−1
⊟
F
⊟ ⊟
k(r−1) H−1
⊟
F
⊟ ⊟
k(0) H−1 L0 R0 H−1 Plaintext Ciphertext Decryption
9/52
Iterated Block Cipher Designs
10/52
Iterated Block Cipher Designs
11/52
Iterated Block Cipher Attacks
11/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
12/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
Iterated Block Cipher Attacks
13/52
S-Boxes
13/52
S-Boxes
14/52
S-Boxes
15/52
S-Boxes
15/52
A Basic Substitution Permutation Network
15/52
A Basic Substitution Permutation Network
16/52
A Basic Substitution Permutation Network
Sub-key k(1) Mixing S11 S12 S13 S14 Sub-key k(2) Mixing S21 S22 S23 S24 Sub-key k(3) Mixing S31 S32 S33 S34 Sub-key k(4) Mixing S41 S42 S43 S44 Sub-key k(5) Mixing P1 . . . Plaintext P16 . . . C1 . . . Ciphertext C16 . . . Round 1 Round 2 Round 3 Round 4
17/52
A Basic Substitution Permutation Network
18/52
A Basic Substitution Permutation Network
18/52
A Basic Substitution Permutation Network
18/52
A Basic Substitution Permutation Network
19/52
A Basic Substitution Permutation Network
20/52
A Basic Substitution Permutation Network
20/52
Linear Cryptanalysis
20/52
Linear Cryptanalysis
21/52
Linear Cryptanalysis
22/52
Linear Cryptanalysis
22/52
Linear Cryptanalysis
22/52
Linear Cryptanalysis
22/52
Linear Cryptanalysis
23/52
Linear Cryptanalysis
S-box X1 X2 X3 X4 Y1 Y2 Y3 Y4
23/52
Linear Cryptanalysis
24/52
Linear Cryptanalysis
24/52
Linear Cryptanalysis
25/52
Linear Cryptanalysis
26/52
Linear Cryptanalysis
26/52
Linear Cryptanalysis
26/52
Linear Cryptanalysis
X1 X2 X3 X4 Y1 Y2 Y3 Y4 X2 ⊕ X3 Y1 ⊕ Y3 ⊕ Y4 X1 ⊕ X4 Y2 X3 ⊕ X4 Y1 ⊕ Y4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
27/52
Linear Cryptanalysis
Input Mask in Hexadecimal 1 2 3 4 5 6 7 8 9 A B C D E F Output Mask in Hexadecimal +8 1
+6 +2 +2 +2 +2 2
+2 +2
+2 3 +2
+2 +2
4 +2
+2 +2
+2 5
+4 +2
+2
6 +2
+4 +2 +2
+2 +4
7
+2 +2
+2
+2 +4 +2 +2 8
+2 +2
+2
9
+2 +4 +2
A +4
+2
+2
+2 +2 +2 +2 B +4
+4 +4 C
+4
+2 +2 +2 +4 +2
D +2 +2
+4 +2
+2 +2 +2 E +2 +2
+2
+2
F
+2
+4
+2
28/52
Linear Cryptanalysis
29/52
Linear Cryptanalysis
S11 S12 S13 S14 S21 S22 S23 S24 S31 S32 S33 S34 S41 S42 S43 S44 P5 P7P8 k(1)
5
k(1)
7
k(1)
8
k(2)
6
k(3)
6
k(3)
14
k(4)
6
k(4)
14
k(4)
6
k(4)
14
U(4)
6
U(4)
8
U(4)
14 U(4) 16
k(5)
5 . . . k(5) 8
k(5)
13 . . .k(5) 16
Round 1 Round 2 Round 3 Round 4
30/52
Linear Cryptanalysis
31/52
Linear Cryptanalysis
32/52
Linear Cryptanalysis
33/52
Linear Cryptanalysis
34/52
Linear Cryptanalysis
35/52
Linear Cryptanalysis
36/52
Linear Cryptanalysis
36/52
Linear Cryptanalysis
L many known plaintext/ ciphertext pairs. 37/52
Linear Cryptanalysis
L many known plaintext/ ciphertext pairs.
37/52
Linear Cryptanalysis
38/52
Linear Cryptanalysis
38/52
Linear Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
38/52
Linear Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
38/52
Linear Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
10000
38/52
Linear Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
10000
38/52
Linear Cryptanalysis
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
39/52
Linear Cryptanalysis
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
39/52
Linear Cryptanalysis
40/52
Linear Cryptanalysis
40/52
Linear Cryptanalysis
40/52
Linear Cryptanalysis
40/52
Linear Cryptanalysis
40/52
Differential Cryptanalysis
40/52
Differential Cryptanalysis
41/52
Differential Cryptanalysis
42/52
Differential Cryptanalysis
42/52
Differential Cryptanalysis
42/52
Differential Cryptanalysis
42/52
Differential Cryptanalysis
42/52
Differential Cryptanalysis
43/52
Differential Cryptanalysis
44/52
Differential Cryptanalysis
45/52
Differential Cryptanalysis
46/52
Differential Cryptanalysis
S11 S12 S13 S14 S21 S22 S23 S24 S31 S32 S33 S34 S41 S42 S43 S44 ∆P = [0000, 1011, 0000, 0000] ∆U(4)
5
. . . ∆U(4)
8
∆U(4)
13 . . . ∆U(4) 16
k(5)
5 . . . k(5) 8
k(5)
13 . . .k(5) 16
Round 1 Round 2 Round 3 Round 4
47/52
Differential Cryptanalysis
48/52
Differential Cryptanalysis
48/52
Differential Cryptanalysis
49/52
Differential Cryptanalysis
50/52
Differential Cryptanalysis
50/52
Differential Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
50/52
Differential Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
50/52
Differential Cryptanalysis
6 , U(4) 8 , U(4) 14 , U(4) 16 .
50/52
Differential Cryptanalysis
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
51/52
Differential Cryptanalysis
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
5 , . . . , k(5) 8 , k(5) 13 , . . . , k(5) 16 ]
51/52
Appendix
51/52
Appendix
52/52
Appendix
1 A Tutorial on Linear and Differential Cryptanalysis by Howard
2 Wikipedia. 52/52
Appendix
52/52