Practical attacks on AES-like cryptographic hash functions
Stefan K¨
- lbl, Christian Rechberger
DTU - Technical University of Denmark
Practical attacks on AES-like cryptographic hash functions Stefan K - - PowerPoint PPT Presentation
Practical attacks on AES-like cryptographic hash functions Stefan K olbl, Christian Rechberger DTU - Technical University of Denmark September 12, 2014 Cryptographic Hash Functions Today is the 12th of September... h 4981A99EDA782
DTU - Technical University of Denmark
2/23
3/23
◮ Message Integrity ◮ Digital Signature Schemes ◮ Password Protection ◮ Key Derivation ◮ Payment Schemes (Bitcoin) ◮ ...
◮ No secret parameter is involved. ◮ Fast to compute.
4/23
◮ Preimage Resistance:
◮ Second-Preimage Resistance:
◮ Collision Resistance:
5/23
6/23
◮ semi-free-start collision: Find {mi, m′ i, xi} s.t.
i, xi) ◮ free-start collision: Find {mi, m′ i, xi, x′ i } s.t.
i, x′ i )
7/23
◮ Whirlpool (ISO/IEC 10118-3)
◮ Maelstrom ◮ Whirlwind
◮ Streebog (GOST R 34.11-2012) ◮ SHA-3 Competiton
◮ Grøstl ◮ ECHO ◮ LANE 8/23
9/23
◮ AK Adds the key byte-wise by XORing it to the state. ◮ S Substitutes each byte of the state independently using an
◮ P Transposes the state. ◮ L Multiplies each row by an 8 × 8 MDS matrix.
AK S P L
10/23
◮ AK Adds the key byte-wise by XORing it to the state. ◮ S Substitutes each byte of the state independently using an
◮ P Transposes the state. ◮ L Multiplies each row by an 8 × 8 MDS matrix.
AK S P L
10/23
◮ AK Adds the key byte-wise by XORing it to the state. ◮ S Substitutes each byte of the state independently using an
◮ P Transposes the state. ◮ L Multiplies each row by an 8 × 8 MDS matrix.
AK S P L
10/23
◮ AK Adds the key byte-wise by XORing it to the state. ◮ S Substitutes each byte of the state independently using an
◮ P Transposes the state. ◮ L Multiplies each row by an 8 × 8 MDS matrix.
AK S P L
10/23
Function Rounds Time Memory Type Reference GOST R 4.5 264 216 collision [WYW13] 4.75 practical 28 near-collision [AKY13] 4 219.8 216 collision this work 4.5 219.8 216 collision this work 5.5 264 264 collision [WYW13] 6.5 264 216 collision this work Whirlpool 4 225.1 216 collision this work 6.5 225.1 216 near-collision this work 4 28 28 collision1 [WYW13] 7 264 28 collision1 [SWWW12]
1free-start collision 11/23
◮ ∆x = 0 and ∆y = 0 gives a collision. ◮ Find a differential characteristic leading to zero output
◮ Find a confirming message pair.
12/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
◮ Inbound phase: Match-in-the-middle ◮ Outbound phase: Probabilistic
13/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
1 2 3
14/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
◮ First we fix the values of AK 2 such that S2 = S(AK 2). ◮ This solves 64 byte conditions but uses all degrees of freedom
15/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
◮ First we fix the values of AK 2 such that S2 = S(AK 2). ◮ This solves 64 byte conditions but uses all degrees of freedom
15/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
◮ How to solve the conditions for AK 1 = S(S1)...
16/23
AC S P L
AK1 S1 P1 L1 AK2 S2 P2 L2
AK S P L AK S P L
K1 K2
17/23
AC S P L
AK1 S1 P1 L1 AK2 S2 P2 L2
AK S P L AK S P L
K1 K2
17/23
AC S P L
AK1 S1 P1 L1 AK2 S2 P2 L2
AK S P L AK S P L
K1 K2
17/23
AC S P L
AK1 S1 P1 L1 AK2 S2 P2 L2
AK S P L AK S P L
K1 K2
17/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
◮ How to solve the conditions for AK 3 = S(S3)...
18/23
AC2 KS2 KP2 K2 AC3 KS3 KP3 K3
AC S P L AC S P L AK AK
AK2 AK3
19/23
AC2 KS2 KP2 K2 AC3 KS3 KP3 K3
AC S P L AC S P L AK AK
AK2 AK3
19/23
AC2 KS2 KP2 K2 AC3 KS3 KP3 K3
AC S P L AC S P L AK AK
AK2 AK3
19/23
AK0 AK1 AK2 AK3 AK4
S P L AK S P L AK S P L AK S P L AK
◮ One byte condition remaining in AK 1. ◮ ∆AK 0 = ∆AK 4.
20/23
◮ Finding Characteristic: 219.8 ◮ Finding Message Pair: 216
S-Box MDP ANS Matching Costs #S2 AES 2−6 127 26.42 255.91 Whirlpool 2−5 101.49 225.10 253.32 GOST R 2−5 107.05 219.77 253.94
21/23
Function Rounds Time Memory Type GOST R 4 219.8 216 collision 4.5 219.8 216 collision 6.5 264 216 collision Whirlpool 4 225.1 216 collision 6.5 225.1 216 near-collision ◮ Technique could be used to fulfill more conditions ◮ Application on other designs ◮ https://github.com/kste/aeshash
22/23
23/23
1/2
2/2