[37647] in bugtraq

home help back first fref pref prev next nref lref last post

Re: MD5 To Be Considered Harmful Someday

daemon@ATHENA.MIT.EDU (Dan Kaminsky)
Wed Dec 8 17:44:54 2004

Message-ID: <41B77A4C.3010103@doxpara.com>
Date: Wed, 08 Dec 2004 14:03:56 -0800
From: Dan Kaminsky <dan@doxpara.com>
MIME-Version: 1.0
To: Solar Designer <solar@openwall.com>
Cc: Gandalf The White <gandalf@digital.net>, davids@webmaster.com,
        BugTraq <bugtraq@securityfocus.com>
In-Reply-To: <20041208211757.GA2564@openwall.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


>The algorithm is far more complicated than "raw" MD5.  It consists of
>1000 iterations of MD5 with both output from the previous iteration
>and the original input (plaintext password and salt) being rolled into
>the hash on each iteration.
>  
>
Brute force work efforts like password cracking tend to be an 
exponential times a constant -- say, 2^32 operations that take 100ms 
each.  Increasing the complexity of a legitimate password verification 
increases the constant.  Interestingly, the more efficient a legitimate 
verifier becomes, the more efficient your brute forcer is.

Not that brute force is the only approach available.  There are numerous 
attacks that might break "pure" MD5 but fail given such massive 
overlapping.  There are, however, others that abuse extra rounds to 
great effect.  For instance, SHA-0 is an 80 round algorithm.  Biham's 
paper (http://eprint.iacr.org/2004/146/) showed that an 82 round variant 
is actually much weaker.  And Joux's unreleased paper makes it very 
clear that simply stacking primitives doesn't create nearly the level of 
combinatorial complexity that you'd expect.

Of course, as I've said elsewhere passwords really aren't at all 
vulnerable to the MD5 attack.  But, if they were, extra iterations 
wouldn't be helpful.  Once the first round collided, all future rounds 
would continue to collide.

--Dan
www.doxpara.com


home help back first fref pref prev next nref lref last post