branching heuristics in differential collision search
play

Branching Heuristics in Differential Collision Search: Application - PowerPoint PPT Presentation

Branching Heuristics in Differential Collision Search: Application to SHA-512 Maria Eichlseder Florian Mendel Martin Schl affer IAIK, Graz University of Technology, Austria FSE 2014 Practical Collisions for Round-Reduced Hash Functions


  1. Branching Heuristics in Differential Collision Search: Application to SHA-512 Maria Eichlseder Florian Mendel Martin Schl¨ affer IAIK, Graz University of Technology, Austria FSE 2014

  2. Practical Collisions for Round-Reduced Hash Functions 64/64 MD5 [WY05] 75/80 SHA-1 [AG12] 38/64 SHA-256 [MNS13] 24/80 SHA-512 [IMPR08, SS08] 4/24 Keccak [DDS12] � semi-free-start collision for 38 steps of SHA-512 Contribution: using improved automatic search tools 1

  3. Practical Collisions for Round-Reduced Hash Functions 64/64 MD5 [WY05] 75/80 SHA-1 [AG12] 38/64 SHA-256 [MNS13] 38 / 24/80 now SHA-512 [IMPR08, SS08] 4/24 Keccak [DDS12] � semi-free-start collision for 38 steps of SHA-512 Contribution: using improved automatic search tools 1

  4. SHA-2 Family – SHA-256 / SHA-512 Iterated hash function 32-bit/64-bit words 16-word message blocks (= 512/1024 bits) 8-word hash value and chaining value (= 256/512 bits) m 1 m 2 m 3 m t f f f f IV hash Compression function f Message expansion: expand 16 words M i to 64/80 words W i State update: 64/80 steps with status words A i , E i 2

  5. SHA-2 Compression Function Message expansion: expand 16 words M i to 64/80 words W i W i = f W ( W i − 2 , W i − 7 , W i − 15 , W i − 16 ) for i ≥ 16 State update: 64/80 steps with status words A i , E i E i = f E ( A i − 4 , E i − 1 , . . . , E i − 4 , K i , W i ) , A i = f A ( E i , A i − 1 , . . . , A i − 4 ) A i − 1 A i − 2 A i − 3 A i − 4 E i − 1 E i − 2 E i − 3 E i − 4 − Σ 0 Σ 1 + K i MAJ IF W i A i − 1 A i − 2 A i − 3 E i − 1 E i − 2 E i − 3 A i E i 3

  6. SHA-2 Compression Function State -4 IV ( A ) IV ( E ) -3 -2 -1 0 1 2 m 0 3 4 m 0 5 6 7 8 9 10 f h 1 IV 11 12 13 14 15 16 17 18 19 SHA-2 compression function: 20 21 22 23 shows state words A i , E i , W i 24 25 26 27 inputs IV, m 0 28 29 30 output h 1 31 32 33 34 A i E i W i 35 36 37 0 h ( A ) h ( E ) 1 2 1 1 3 4

  7. Previous Collision Attack on SHA-256 [MNS13] Starting point -4 IV ( A ) IV ( E ) ∆ =0 ∆ =0 -3 -2 -1 0 Few message words different 1 2 3 4 High probability m 0 ∆ = ? 5 6 7 8 Local collisions 9 10 11 12 13 14 Differential characteristic 15 16 17 Automated search tool [DR06] 18 19 20 1 Guess undetermined bits 21 22 23 24 2 Determine consequences 25 26 27 28 3 Backtrack if contradiction 29 30 31 32 33 34 ∆ A i = ? ∆ E i = ? ∆ W i = ? Message Pair 35 36 37 Automated search tool 0 h ( A ) h ( E ) =0 ∆ =0 ∆ 1 2 1 1 3 5

  8. Previous Collision Attack on SHA-256 [MNS13] Starting point -4 IV ( A ) IV ( E ) -3 -2 -1 0 Few message words different 1 2 3 4 High probability m 0 5 6 7 8 Local collisions 9 10 11 12 13 14 Differential characteristic 15 ⇓ ⇓ 16 17 Automated search tool [DR06] ⇐ 18 19 ⇓ 20 1 Guess undetermined bits 21 22 ⇐ 23 24 2 Determine consequences 25 26 27 28 3 Backtrack if contradiction 29 30 31 32 33 34 A i E i W i Message Pair 35 36 37 Automated search tool 0 h ( A ) h ( E ) 1 2 1 1 3 5

  9. Previous Collision Attack on SHA-256 [MNS13] Starting point -4 IV ( A ) IV ( E ) -3 -2 -1 0 Few message words different 1 2 3 4 High probability m 0 5 6 7 8 Local collisions 9 10 11 12 13 14 Differential characteristic 15 ⇓ ⇓ 16 17 Automated search tool [DR06] ⇐ 18 19 ⇓ 20 1 Guess undetermined bits 21 22 ⇐ 23 24 2 Determine consequences 25 26 27 28 3 Backtrack if contradiction 29 30 31 32 33 34 A i E i W i Message Pair 35 36 37 Automated search tool 0 h ( A ) h ( E ) 1 2 1 1 3 5

  10. Previous Collision Attack on SHA-256 [MNS13] Starting point -4 IV ( A ) IV ( E ) -3 -2 -1 0 Few message words different 1 2 3 4 High probability m 0 5 6 7 8 Local collisions 9 10 11 12 13 14 Differential characteristic 15 16 17 Automated search tool [DR06] 18 19 20 1 Guess undetermined bits 21 22 23 24 2 Determine consequences 25 26 27 28 3 Backtrack if contradiction 29 30 31 32 33 34 A i E i W i Message Pair 35 36 37 Automated search tool 0 h ( A ) h ( E ) 1 2 1 1 3 5

  11. Previous Collision Attack on SHA-256 [MNS13] Starting point -4 IV ( A ) IV ( E ) -3 -2 -1 0 Few message words different 1 2 3 4 High probability m 0 5 6 7 8 Local collisions 9 10 11 12 13 14 Differential characteristic 15 16 17 Automated search tool [DR06] 18 19 20 1 Guess undetermined bits 21 22 23 24 2 Determine consequences 25 26 27 28 3 Backtrack if contradiction 29 30 31 32 33 34 A i E i W i Message Pair 35 36 37 Automated search tool 0 h ( A ) h ( E ) 1 2 1 1 3 5

  12. Problem – SHA-256 vs. SHA-512 -4 -4 IV ( A ) IV ( E ) IV ( A ) IV ( E ) -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 m 0 m 0 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 A i E i W i A i E i W i 34 34 35 35 36 36 37 37 0 h ( A ) h ( E ) 0 h ( A ) h ( E ) 1 1 2 1 1 2 1 1 3 3 state size Consequences: Larger search space Contradictions take longer to detect More conditions to fulfill 6

  13. Improving Guess & Determine? Problem description [MNS13] Starting point Hash function description High-level strategy Guessing strategy, branching rules [MNS11] Which variable to pick first? Which value to guess first for this variable? Propagation [MNS11, EMN + 13, Leu12, Leu13] How to detect contradictions? How to determine implications of a guess? Backtracking [MNS11] How many guesses to undo? Restart? 7

  14. Improving Guess & Determine? Problem description [MNS13] Starting point Hash function description High-level strategy Guessing strategy, branching rules [MNS11] Which variable to pick first? Which value to guess first for this variable? Propagation [MNS11, EMN + 13, Leu12, Leu13] How to detect contradictions? How to determine implications of a guess? Backtracking [MNS11] How many guesses to undo? Restart? 7

  15. Branching: Inspiration from SAT Solvers. . . SAT Solvers (Guess-and-Determine for CNF formulas) Different strategies and paradigms: Many small clauses first (B¨ ohm, MOM, JW) Many clauses first (DLCS, DLIS) Conflict-driven, recent conflicts first (VSIDS) Localized, recently updated clauses first Preview consequences (UPLA) 8

  16. Look-Ahead Branching Heuristic Rationale: Propagation is good Reduce search space Better explicit than implicit conditions Contradictions are good Better handle them sooner rather than later -4 -3 IV ( A ) IV ( E ) -2 -1 0 1 2 3 4 5 m 0 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 A i E i W i 35 36 37 0 1 h ( A ) h ( E ) 1 1 2 3 ⇒ simulate outcome for candidate guessing variables and pick best 9

  17. Randomized Look-Ahead Problems of basic approach: Simulating for many candidates is very costly Search is not well randomized – essential after restarts Solution: Limit absolute candidate set size Limit relative set size Avoid redundant evaluation of candidates -4 -3 IV ( A ) IV ( E ) -2 -1 0 1 2 3 4 5 m 0 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 A i E i W i 35 36 37 0 1 h ( A ) h ( E ) 1 1 2 3 10

  18. Effect of Branching Heuristic (16 Candidates) Semi-free-start collisions: 27 or 38 steps of SHA-256 with heuristic: about 5–50 times faster 27 steps of SHA-512 without heuristic: 4 days on 40 CPUs with heuristic: seconds on standard PC 38 steps of SHA-512 without heuristic: no results with heuristic: ≈ 1 . 5 h on 40 CPUs Collisions with correct IV: not enough freedom in message left 11

  19. Application to 38 steps of SHA-512 – Characteristic -4 IV ( A ) IV ( E ) -3 -2 -1 0 1 2 3 4 m 0 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 A i E i W i 34 35 36 37 0 h ( A ) h ( E ) 1 2 1 1 3 12

  20. Application to 38 steps of SHA-512 – Result Semi-free-start collision for 38 of 80 steps ( ≈ 1 . 5 h on 40 CPUs): e8626f53a3771964 2ae427b8c5065790 c8fd5a1628fc3337 0f362d297f82f987 h 0 89166a0c022ffc40 c2c49c30e629239f d1fa8bd692843025 ad4bba64c797e6ec 610519a88f0d2809 3addc83f01c8b179 84afa7a2772c6141 ad539854e64c9cce 85450b73549b2085 7296b5291f31c0d9 fc978d9624e2c2cc fffffffffffffffe m 92114cb9d2f4cd9b 34a3198b79871212 cca7f43154e38081 ac0598a589168fe1 f32ae6a0070a8d2e 755aa5cada87e894 4b9bd7df3c94b667 65291f2b80cc8c51 610519a88f0d2809 3addc83f01c8b179 84afa7a2772c6141 ad539854e64c9cce 85450b73549b2085 7296b5291f31c0d9 fc978d9624e2c2cc 0000000000000001 m ∗ 92114cb9d2f4cd9c 34a3198b79871212 cca8143154e38079 ac0598a589168fe1 f32ae6a0070a8d2e 755aa5cada87e894 4b9bd7df3c94b667 65291f2b80cc8c50 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ffffffffffffffff ∆ m 0000000000000007 0000000000000000 000fe000000000f8 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000001 946a28eedc3b2ff6 c4573d0a13ea6268 11f07b04b06900dd 897c606e4053bbe4 h 1 2406aae9d58504b4 89b237932b061ba8 663402cb4bb1972c d99c062dce945423 13

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