Merkle-damgård revisited: How to construct a hash function

313Citations
Citations of this article
134Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

The most common way of constructing a hash function (e.g., SHA-1) is to iterate a compression function on the input message, The compression function is usually designed from scratch or made out of a block-cipher. In this paper, we introduce a new security notion for hash-functions, stronger than collision-resistance. Under this notion, the arbitrary length hash function H must behave as a random oracle when the fixed-length building block is viewed as a random oracle or an ideal block-cipher. The key property is that if a particular construction meets this definition, then any cryptosystem proven secure assuming H is a random oracle remains secure if one plugs in this construction (still assuming that the underlying fixed-length primitive is ideal). In this paper, we show that the current design principle behind hash functions such as SHA-1 and MD5 - the (strengthened) Merkle-Damgård transformation - does not satisfy this security notion. We provide several constructions that provably satisfy this notion; those new constructions introduce minimal changes to the plain Merkle-Damgård construction and are easily implementable in practice. © International Association for Cryptologic Research 2005.

Cite

CITATION STYLE

APA

Coron, J. S., Dodis, Y., Malinaud, C., & Puniya, P. (2006). Merkle-damgård revisited: How to construct a hash function. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3621 LNCS, pp. 430–448). https://doi.org/10.1007/11535218_26

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free