[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hole in MD5 (Not)
What follows is a private e-mail exchange with Burt Kaliski (posted with
his permission), where he clarifies the 'hole in MD5' and shows that it
does not afford the attack I described previously.
Mike Ingle:
>Recently there was a message here about MD5 having a hole in it.
>Maybe this is what the person was talking about...
Bruce Schneier:
[ describes Bart Preneel's Ph.D. thesis, which cites the work of
den Boer and Bosselaer ]
Burt Kaliski:
[ a LaTeX document noting the implications, or lack thereof, of den Boer
and Bosselaers' work ]
Scott Collins:
[ describes an attack on (e.g.) Bellcore's timestamp system; wonders
if den Boer and Bosselaers' work makes this attack possible ]
Burt Kaliski (private response):
>When operating on single blocks, MD5 computes a function z = f(x,y0),
>where x is the 512-bit message block, y0 is a fixed 128-bit value, and
>z is the 128-bit message digest.
>
>den Boer and Bosselaers found a way to construct a triple (x,y1,y2)
>such that f(x,y1) = f(x,y2). The y1 and y2 values are not the same as
>the fixed y0, so clearly this is different than an MD5 collision,
>which would have different message blocks.
>
>I'm not sure how this relates to the attack you have in mind, although
>I'd be interested in more details. Also, the attack you describe is
>"after-the-fact" in the sense that the target value h_N is already
>published. To forge a time-stamp at that point, what I need is not a
>collision, but an inversion. (I have to find something that hashes to
>h_N.) Collisions play a greater role "before-the-fact," where I might
>give Eve something to sign, where I happen to know another message
>with the same digest.
>
>-- Burt Kaliski
>RSA Laboratories
Scott Collins:
> [ ... ]
>
>Ahh. This is not (even close to) a big enough foothold to support my
>attack. :-)
>
> [ ... ]
>
>The attack does, in fact, require inversion. Since the verifier can't
>compare the depth of the alleged hash tree to the actual one, the attack is
>still possible even when only _some_ inversions are possible, as long as
>the attacker can find one along the actual path to the root (the degenerate
>case being when the attacker can find an inversion for the root itself).
>
>The attack only came to mind because the the depth cannot be verified, and
>so the attacker is not limited in the number of steps (in case she can only
>find inversions of a special form); the intermediate hash values are all of
>minimal size; the intermediate hash values are expected to be 'random', and
>so there is no constraint requiring human-readable inversions. Thus, it
>seemed that if an the hash could be usefully inverted, this would be the
>situation that allowed it.
>
>Thanks for the clarification. May I repost your answer, or at least _this_
>message which quotes it, to the original distribution list of my question?
Permission was granted.
Scott Collins | "Few people realize what tremendous power there
| is in one of these things." -- Willy Wonka
......................|................................................
BUSINESS. voice:408.862.0540 fax:974.6094 [email protected]
Apple Computer, Inc. 5 Infinite Loop, MS 305-2B Cupertino, CA 95014
.......................................................................
PERSONAL. voice/fax:408.257.1746 1024:669687 [email protected]