The Merkle–Damgård construction — used in the design of many popular hash algorithms such as MD5, SHA1 and SHA2 — is a method of building collision-resistant cryptographic hash functions from collision-resistant one-way compression functions. The Merkle–Damgård construction is also referred to as ...

learn more… | top users | synonyms (1)

0
votes
1answer
28 views

What is the exact purpose of length padding in Merkle–Damgård hash functions? [duplicate]

Is a length padding technique in a hash function used to avoid length extension attacks ?
2
votes
1answer
74 views

One Way function and Merkle Damgård

Is it possible keep the "one wayness property" of certain one way function in Merkle-Damgård construction? I'm asking this question because according to Collision-Resistant hashing: Towards making ...
1
vote
2answers
70 views

Different padding rules for Merkle-Damgard and Keccak/sponge function

We learned that length padding was used in Merkle-Damgard where after padding with zeros another block is added that contains the initial length of the input. This is supposed to prevent same hash ...
1
vote
0answers
103 views

Generalize the Merkle-Damgard construction for any compression function

I am trying to figure out this question: Generalize the Merkle-Damgard construction for any compression func­tion that compresses by at least one bit . You should refer to a general input length ...
0
votes
0answers
34 views

In Merkle Damgard Constructoin, why do we add another block with value of number of blocks? [duplicate]

I'm trying to understand how can we find collisions, in simpler Merkle-Damgard constructions. consider my question as, what are the collisions for these cases of Merkle-Damgard constructions: we pad ...
0
votes
0answers
42 views

Merkle-Damgard transform: necessity of the Length block [duplicate]

The Merkel-Damgard transform append the message length (in blocks) to the message itself and then computing the 'chained hash' algorithm. Does the last block (which contains the length of the ...
1
vote
1answer
123 views

Why is an IV used in Merkle-Damgard transform?

In Merkle-Damgard transform, a fixed vector IV is chosen at the beginning, and it is hashed together with the first block x1. I wonder why we don't use x1 straightforward, i.e. hash x1 and the next ...
0
votes
0answers
73 views

Why is Merkle-Damgård construction insecure? [duplicate]

I've been reading about SHA-1. I read that SHA-1 is insecure as it uses the Merkle-Damgård construction and the Merkle-Damgård construction is — according to Wikipedia — susceptible to a variety of ...
4
votes
1answer
281 views

Why is H(message||secret_key) not vulnerable to length-extension attack?

Given a Merkle-Damgård hash function $H$, I know that an attacker can forge a message protected by a MAC computed as $H(\textrm{secret_key}||\textrm{message})$. Why can't he perform the same ...
2
votes
1answer
171 views

Finding a collision for a hash function

I'm trying to find a collision for the following (modified) Merkle-Damgard hash function. Suppose we already have a hash function $h : \mathbb{Z}_2^{2·n} \to \mathbb{Z}_2^n$ for fixed length bit ...
8
votes
1answer
991 views

Is a second preimage attack on MD5 feasible?

What's the practical status of MD5 w.r.t. second-preimage? Integrity of a piece of data is protected by an MD5 hash, itself assumed genuine. The data (and thus the hash) is known to the adversary. ...
12
votes
2answers
539 views

Attacks of the MAC construction $\mathcal{H}(m||k)$ for common hashes $\mathcal{H}$?

Consider a common practically-collision-resistant hash function $\mathcal{H}$ (e.g. SHA-1, SHA-256, SHA-512, RIPEMD-160), perhaps based on the Merkle–Damgård construction as are the first three. We ...
12
votes
3answers
1k views

Why does the padding in Merkle–Damgård hash functions like MD5 contain the message length?

I understand the need for padding in MD5. But why do we append the message length to the padding? I heard it strengthens the hash but how? Please provide an example if possible and how it applies to ...