Cryptanalysis of an Iterated Halving-based hash function: CRUSH

Nasour Bagheri, Matt Henricksen, Lars Ramkilde Knudsen, M Naderi, B Sadeghyian

    Research output: Contribution to journalJournal articleResearchpeer-review


    Iterated Halving has been suggested as a replacement to the Merkle–Damgård (MD) construction in 2004 anticipating the attacks on the MDx family of hash functions. The CRUSH hash function provides a specific instantiation of the block cipher for Iterated Halving. The authors identify structural problems with the scheme and show that they can trivially identify collisions and second preimages on many equal-length messages of length ten blocks or more. The cost is ten decryptions of the block cipher, this being less than the generation of a single digest. In addition, these attacks can be used to differentiate CRUSH from a random oracle in O(1). The authors show that the complexity of finding a preimage in the unpadded CRUSH with the length encoding is negligible and extend this attack on CRUSH with the length encoding in cost O(232). This attack is a multi-preimage attack, since the attacker can produce a large number of messages for a given message digest for the cost of O(232). Hence, this attack can be used as a multi-collision and a multi-second-preimage as well. They show that if the attacker knows the last 64-bits of the message digest in advance, he can do the time-consuming part of the attack off-line. The authors show that even if Iterated Halving is repaired, the construction has practical issues that means it is not suitable for general deployment.
    Original languageEnglish
    JournalI E T Information Security
    Issue number4
    Pages (from-to)129-138
    Publication statusPublished - 2009

    Fingerprint Dive into the research topics of 'Cryptanalysis of an Iterated Halving-based hash function: CRUSH'. Together they form a unique fingerprint.

    Cite this