partial collision attack on the round reduced compression
play

Partial-Collision Attack on the Round- Reduced Compression Function - PowerPoint PPT Presentation

Partial-Collision Attack on the Round- Reduced Compression Function of Skein-256 Hongbo Yu, Jiazhe Chen, Xiaoyun Wang Tsinghua University Shandong University 1 Outline Brief description of Skein-256 Previous results related to


  1. Partial-Collision Attack on the Round- Reduced Compression Function of Skein-256 Hongbo Yu, Jiazhe Chen, Xiaoyun Wang Tsinghua University Shandong University 1

  2. Outline • Brief description of Skein-256 • Previous results related to near(partial)-collision on Skein • Our attacks 2

  3. Skein • One of the 5 finalists of SHA-3 competition • Designers – Niels Ferguson , Stefan Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare,Tadayoshi Kohno, Jon Callas, Jesse Walker • Unique Block Iteration (UBI) based the block cipher Threefish • The block size : 256/512/1024 bits – Skein-512 is primary proposal – Skein-256 is a low-memory variant – Skein-1024 is a ultra-conservative variant 3

  4. Skein • Compression function H i+ 1 = E(H i , T , M i ) ⊕ M i , – E( ): block cipher threefish – M i : The plaintext, block size 256/512/1024 bits – H i : The key, same size with M i – T=(t 0 , t 1 ): the tweak of 128 bits 4

  5. Threefish-256 (72 Rounds) Plaintext M The MIX function Subkey0 x 0 x 1 MIX MIX Permute MIX MIX R , <<< d j Permute MIX MIX Permute y 0 y 1 MIX MIX Permute = + 64 y ( x )mod 2 x 0 0 1 Subkey1 = <<< ⊕ y ( x ( R ) y ( 1 1 d mod8), j 0 Four of the 72 rounds of the Threesh-256 block cipher. 5

  6. Key Schedule • The key schedule starts with the 256-bit master key K = ( k 0 ,k 1 , k 2 ,k 3 ) and the 128-bit tweak value T = ( t 0 ,t 1 ) . • First compute two additional words k 4 and t 2 : k 4 = C 240 ⊕ k 0 ⊕ k 1 ⊕ k 2 ⊕ k 3 and t 2 =t 0 ⊕ t 1 • Then the subkeys K s = ( K s,a , K s,b , K s,c , K s,d ) are derived by: for s= 0 to 18 K s,a = k ( s+ 0) mod 5 K s,b = k ( s+ 1) mod 5 + t s mod 3 K s,c = k ( s+ 2) mod 5 + t ( s+ 1) mod 3 K s,d = k ( s+ 3) mod 5 + s 6

  7. Near-collision and Partial- collision • Near-collision resistance : It should be hard to find any two inputs m, m ∗ with m ≠m ∗ such that H(m) and H(m ∗ ) differ in only a small number of bits. [Handbook] • w -bit near-collision: a pair message m and m* collides ⊕ = ≤ * such that H M ( ) H M ( ) w , w n   w n ∑ 2 n /2 – Generic attack: time complexity , memory n 2   2   i = i 0 • w -bit partial-collision: a pair message m and m* collides in the fixed w bits 2 w 2 – Generic attack: 7

  8. Comparison of attacks related to (near)- collision on Skein-256 Target Round Time Type Authors 2 24 Skein-512 17(0-17) 434-bit free-start near-collision [SWWD10] 2 97 Skein-256 20(0-20) 130-bit free-start near-collision 2 52 Skein-512 20(20-40) 266-bit free-start near-collision 2 253.7 Skein-512 22 Free-start collision [LIS12] 2 255.7 Skein-512 37 Free-start collision 2 42 Skein-256 24(4-28) 254-bit near-collision 2 44 Skein-256 28(0-28) 222-bit near-collision This paper 2 42 Skein-256 28(4-32) 228-bit near-collision 2 85 Skein-256 32(0-32) 206-bit partial-collision 8

  9. The Basic Idea of Our Attack  Long differential path  Low Hamming Weight 9

  10. The Subkey Difference 10

  11. 16 rounds 8 rounds 8 rounds Fig. Near(partial)-collision path 11

  12. Strategy to Connect two Short Parths • Select the round 20 as the connection point – the subkey is involved • Connect a 20 and c 20 – adjust the difference from h 21 to h 24 , • Connect b 20 and d 20 – adjust the difference from h 16 to h 19 • Using two kinds of difference modes – XOR differential – ‘+’ the integer modular subtraction difference 12

  13. a 16 b 16 c 16 d 16 a 17 b 17 c 17 d 17 a 18 b 18 c 18 d 18 a 19 b 19 c 19 d 19 a 20 b 20 c 20 d 20 a 20 b 20 c 20 d 20 a 21 b 21 c 21 d 21 a 22 b 22 c 22 d 22 a 23 b 23 c 23 d 23 a 24 b 24 c 24 d 24 13

  14. 32 round Skein-256 Differential path 14

  15. The Conditions Distribution Groups Conditions Modified Used message/IV Conditions 1 216 174 a 20 ,b 20 ,c 20 ,d 20 2 168 150 K 5,a , K 5,b , K 5,c , K 5,d 3 104 15 K 4,b , K 4,d Group-1: conditions in round 16 to 20 Group-2: conditions in round 20 to 24, and c16 Group-3: other conditions 15

  16. Partial(near)-Collision Attack Phase 1: • Search 256-bit h 20 =(a 20 ,b 20 ,c 20 ,d 20 ) to fulfil rounds 16-20 – Message modification technique – Time complexity: 2 42 Phase 2: • Search 256-bit K 5 =(K 5,a , K 5,b , K 5,c , K 5,d ) to fulfil rounds 20 to 24 and conditions in c 16 – Message modification technique – Time complexity: 2 18 16

  17. Partial(near)-Collision Attack Phase 3: • Search 128-bit K 4,b , K 4,d to fulfil other rounds (0-16, 24-32) – Message modification technique – Time complexity: 2 85 The complexity of our attack • 32 rounds(0-32): 2 42 +2 18 +2 85 ≈ 2 85 • 24 rounds(4-28): 2 42 +2 26 ≈ 2 42 • 28 rounds(0-28): 2 42 +2 18 +2 44 ≈ 2 44 • 28 rounds(4-32): 2 42 +2 18 +2 41 ≈ 2 42 17

  18. Degrees of Freedom Analysis • The total degrees of freedom – come from the messge M, the master Key K and the tweak T: 256+256+128=640 – Number of conditions: 488 • The degrees of freedom in rounds 16-20 (Phase 1) – Come from h 20 : 256 – Number of conditions: 216 • The degrees of freedom in rounds 20-24 (Phase 2) – Come from K 5 : 256 – Number of conditions: 168 • The degrees of freedom in other rounds (Phase 3) – Come from K 5 : 128 – Number of conditions: 104 18

  19. Examples 19

  20. 20

  21. 21

  22. Thanks you for your attention! 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend