Re-Visiting HAIFA and Why You Should Visit Too

Re-Visiting HAIFA and Why You Should Visit Too

Merkle-Damg˚ard HAIFA New Results Summary Re-Visiting HAIFA and why you should visit too Orr Dunkelman D´epartement d’Informatique Ecole´ Normale sup´erieure and France Telecom Chaire 3rd of June 2008 Joint work with Eli Biham, Charles Bouillaguet, Pierre-Alain Fouque, S´ebastian Zimmer. Orr Dunkelman Re-Visiting HAIFA and why you should visit too 1/ 42 Merkle-Damg˚ard HAIFA New Results Summary Outline 1 Iterative Hashing — The Merkle Damg˚ard Construction The Merkle-Damg˚ard Construction Generic Attacks on the Merkle-Damg˚ard Construction Possible Conclusions 2 HAsh Iterative FrAmework The HAIFA Construction Dealing with Fix-Points Variable Hash Size Salts 3 New Results on HAIFA Implementing Other Suggested Modes in HAIFA On the Security of HAIFA 4 Summary Orr Dunkelman Re-Visiting HAIFA and why you should visit too 2/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Outline 1 Iterative Hashing — The Merkle Damg˚ard Construction The Merkle-Damg˚ard Construction Generic Attacks on the Merkle-Damg˚ard Construction Possible Conclusions 2 HAsh Iterative FrAmework The HAIFA Construction Dealing with Fix-Points Variable Hash Size Salts 3 New Results on HAIFA Implementing Other Suggested Modes in HAIFA On the Security of HAIFA 4 Summary Orr Dunkelman Re-Visiting HAIFA and why you should visit too 3/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions The Merkle-Damg˚ard Construction ◮ Presented by Merkle and Damg˚ard independently as an answer to the following problem: ◮ Given a compression function f : {0, 1}mc × {0, 1}n → {0, 1}mc , how would you ∗ m generate a hash function Hf : {0, 1} → {0, 1} . Orr Dunkelman Re-Visiting HAIFA and why you should visit too 4/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions The Merkle-Damg˚ard Construction ◮ Presented by Merkle and Damg˚ard independently as an answer to the following problem: ◮ Given a compression function f : {0, 1}mc × {0, 1}n → {0, 1}mc , how would you ∗ m generate a hash function Hf : {0, 1} → {0, 1} . ◮ The solution is as follows: 1 Pad the message M to a multiple of b (with 1, and many 0’s as needed and the length of the message). 2 Divided the padded message into l blocks m1m2 . ml . 3 Set h0 = IV . 4 For i =1 to l, do hi = f (hi−1, mi ). 5 Output hl (or some function of it). Orr Dunkelman Re-Visiting HAIFA and why you should visit too 4/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions The Security of the Merkle-Damg˚ard Construction ◮ Finding a collision in Hf means finding a collision in f . ◮ Thus, if f is collision-resistant, so is Hf . Orr Dunkelman Re-Visiting HAIFA and why you should visit too 5/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions The Security of the Merkle-Damg˚ard Construction ◮ Finding a collision in Hf means finding a collision in f . ◮ Thus, if f is collision-resistant, so is Hf . ◮ Also, finding a second preimage in Hf means finding collision in f . Orr Dunkelman Re-Visiting HAIFA and why you should visit too 5/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions The Security of the Merkle-Damg˚ard Construction ◮ Finding a collision in Hf means finding a collision in f . ◮ Thus, if f is collision-resistant, so is Hf . ◮ Also, finding a second preimage in Hf means finding collision in f . ◮ The same is true for finding a preimage (because you can use it to find a second preimage). Orr Dunkelman Re-Visiting HAIFA and why you should visit too 5/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions The Security of the Merkle-Damg˚ard Construction ◮ Finding a collision in Hf means finding a collision in f . ◮ Thus, if f is collision-resistant, so is Hf . ◮ Also, finding a second preimage in Hf means finding collision in f . ◮ The same is true for finding a preimage (because you can use it to find a second preimage). To conclude, if f is collision resistant (i.e., it takes O(2mc /2) invocations to find a collision), then Hf is collision resistant and (second) preimage resistant with security level of O(2mc /2). Orr Dunkelman Re-Visiting HAIFA and why you should visit too 5/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Attacks against the Merkle-Damg˚ard Construction Let m be the hash size, and mc be the chaining value size. Let l be the number of blocks of a given message M, and let k be the number of given messages (for one-of-many attacks). ◮ Easily invertible compression functions (the backward attack) — 2mc /2 (late 1970’s) ◮ One-of-many preimage attacks, one-of-many second preimage attacks — 2m−k , 2m/2 (Merkle 1979) Orr Dunkelman Re-Visiting HAIFA and why you should visit too 6/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Multi-collision — O(2mc /2) (Joux, 2004) 1 1 1 1 m1 m2 m3 m4 h0 h1 h2 h3 h4 2 2 2 2 m1 m2 m3 m4 Finding 2t collisions takes O(t · 2mc /2) (ideally we would t − 2 1 ·m expect O(2 2t c )). Orr Dunkelman Re-Visiting HAIFA and why you should visit too 7/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Fixpoint and second preimage attacks (long messages) — − 2mc l , O(2mc /2) (Dean, 1999) [mainly for Davies-Meyer functions] ◮ Find O(2mc /2) fix-points denoted by h A =(h, m). i ◮ Select O(2mc /2) single blocks and compute m B =(CMD (IV , m˜ ), m˜ ). i E ◮ Find a collision between A and B. ◮ Voil`a— an expandable message m˜ ||mt for all t lead to the same chaining value h. hi+1 Orr Dunkelman Re-Visiting HAIFA and why you should visit too 8/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Fixpoint and second preimage attacks (long messages) — − 2mc l , O(2mc /2) (Dean, 1999) [mainly for Davies-Meyer functions] ◮ Find O(2mc /2) fix-points denoted by A =(h, m). ◮ Select O(2mc /2) single blocks and compute B =(CMD (IV , m˜ ), m˜ ). E ◮ Find a collision between A and B. 0 ◮ Voil`a— an expandable message m˜ ||mt for all t lead to the same chaining value h. Orr Dunkelman Re-Visiting HAIFA and why you should visit too 8/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Fixpoint and second preimage attacks (long messages) — − 2mc l , O(2mc /2) (Dean, 1999) [mainly for Davies-Meyer functions] ◮ Find O(2mc /2) fix-points denoted by A =(h, m). ◮ Select O(2mc /2) single blocks and compute m B =(CMD (IV , m˜ ), m˜ ). i E Pick at ◮ Find a collision between A and B. Random 0 ◮ Voil`a— an expandable message m˜ ||mt for all t lead to the same chaining value h. Orr Dunkelman Re-Visiting HAIFA and why you should visit too 8/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Fixpoint and second preimage attacks (long messages) — − 2mc l , O(2mc /2) (Dean, 1999) [mainly for Davies-Meyer functions] ◮ Find O(2mc /2) fix-points denoted by h A =(h, m). i ◮ Select O(2mc /2) single blocks and compute m B =(CMD (IV , m˜ ), m˜ ). i E Pick at ◮ Find a collision between A and B. Random 0 ◮ Voil`a— an expandable message m˜ ||mt for all t lead to the same chaining value h. Orr Dunkelman Re-Visiting HAIFA and why you should visit too 8/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Fixpoint and second preimage attacks (long messages) — − 2mc l , O(2mc /2) (Dean, 1999) [mainly for Davies-Meyer functions] ◮ Find O(2mc /2) fix-points denoted by h A =(h, m). i ◮ Select O(2mc /2) single blocks and compute m B =(CMD (IV , m˜ ), m˜ ). i E Pick at ◮ Find a collision between A and B. Random 0 ◮ Voil`a— an expandable message m˜ ||mt for all t lead to the same chaining value h. hi+1 = hi Orr Dunkelman Re-Visiting HAIFA and why you should visit too 8/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) ◮ Fixpoint and second preimage attacks (long messages) — − 2mc l , O(2mc /2) (Dean, 1999) [mainly for Davies-Meyer functions] ◮ Take the message M. hi ◮ Starting from h, try to find a message block x f h x h m s.t., ( , )= i , for one of the chaining i E values of M. ◮ If succeeded, pad the message to the right length and obtain a second preimage. hi+1 = hi Orr Dunkelman Re-Visiting HAIFA and why you should visit too 9/ 42 Merkle-Damg˚ard HAIFA New Results Summary MD Generic Attacks Conclusions Generic Attacks against MD Construction (cont.) − ◮ One-of-many second preimage attacks — 2mc kl , O(2mc /2) (Dean, 1999) ◮ Expandable messages and second preimage attacks (long − messages) — 2mc l , O(2mc /2) (Kelsey, Schneier, 2005) [any iterative hash function]. They forgot to mention, applicable also to one-of-many second preimage attacks − — 2mc kl , O(2mc /2) ◮ In [KS05] the expandable message is constructed as a multi-collision.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    60 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us