1. Cryptanalysis of Block Ciphers
2. Exhaustive Key Search
| Key Size (bits) | Time (1us/test) | Time (1us/106test) |
|---|---|---|
| 32 | 35.8 mins | 2.15 msec |
| 40 | 6.4 days | 550 msec |
| 56 | 1140 years | 10.0 hours |
| 64 | ~500000 years | 107 days |
| 128 | 5 x 1024years | 5 x 1018 years |
3. Structural Attacks
4. Implementation Attacks
5. Inventing Attacks
6. Differential Cryptanalysis
7. Overview of Differential Cryptanalysis
Ri = Li-1 XOR f(Ki XOR Ri-1)
8. Differential Cryptanalysis Compares Pairs of Encryptions
Rai = f(Ki XOR Rai-1)
Rbi = f(Ki XOR Rbi-1)
hence
Yi = Rai XOR Rbi
= f(Ki XOR Rai-1 XOR Ki XOR Rbi-1)
= f(Rai-1 XOR Rbi-1)
= f(Xi)
9. XOR Profiles and Characteristics
10. Using Characteristics
f(x')->y', with Pr(p)
(a',b')->(b',a' XOR f(b')) with Pr(p)
(a',b')
11. Useful Charcteristics
f(0')->0', Pr(1) ie always(x,0)->(0,x) always
f(x')->0', Pr(p0)(0,x)->(x,0) with probability p0
12. N-round Charcteristics
13. Useful N-round Charcteristics
A.(x,0)->(0,x) always B.(0,x)->(x,0) with probability p
A.(x,0)->(0,x) always B.(0,x)->(x,x) with probability p1 C.(x,x)->(x,0) with probability p2
14. Using Differential Cryptanalysis
15. Linear Cryptanalysis
16. Linear Cryptanalysis Approach
P[i1,i2,...,ia](+)C[j1,j2,...,jb]=K[k1,k2,...,kc] where ia,jb,kc are bit locations in P,C,K
|p - 1/2|
17. Linear Cryptanalysis of DES
PL[7,18,24] XOR PR[12,16] XOR CL[15] XOR CR[7,18,24,29] XOR F16(CR,K16)[15] = K1[19,23] XOR K3[22] XOR K4[44] XOR K5[22] XOR K7[22] XOR K8[44] XOR K9[22] XOR K11[22] XOR K12[44] XOR K13[22] XOR K15[22]
18. Other Forms of Structural Attacks
19. Current Status of Block Ciphers
| Cipher | Data/Key/Rounds | Attack Pairs/Encrypts/Memory (Rounds) |
|---|---|---|
| DES | 64/56/16 | Known 43/19/13 |
| Triple-DES | 64/168/48 | Known 2/112/56 |
| IDEA | 64/128/8.5 | Chosen 64/112/32 (4,5) |
| LOKI91 | 64/64/16 | Chosen 58/./. (13) |
| LOKI91 | 64/64/16 | Known 60/./. (11) |
20. Implementation Attacks
21. Timing Attacks
22. Power Attacks
23. Differential Fault Analysis
24. Current State of Play
25. Summary
26. Exercises