| 
	
 | 
 Posted by Erwin Moller on 09/05/05 17:43 
Jerry Stuckle wrote: 
 
<snip> 
 
Hi Jerry, 
 
For clarity's sake: I do not claim to be an encryption-expert. You might  
very well know a lot more than me. 
I am just restating what Schneier and Slashdot wrote because I think it is  
important to all people using the SHA-0/SHA-1/MD5 algoritms. 
(The math behind it all is way over my head.) 
 
>  
> One thing you're all forgetting. 
 
Tell me. :-) 
 
>  
> Obviously different strings can create the same MD5 hash.  After all, it 
> is a one-way hash.  If the hash were unique, it could be bi-directional. 
 
I knew that. 
That would be a great zip-algoritm. ;-) 
 
>  
> Additionally, the results of a unique encryption must be at least as 
> long as the data being encrypted (before any compression algorithms). 
> This obviously isn't true here. 
 
Agree. 
 
>  
> Yes, the hash value may be duplicated by changing only a few bits of a 
> 1024 bit input.  That's possible - an MD5 hash is not 128 bytes long. 
> So there is a 100% chance that there will be at least 2 128 byte strings 
> with the same hash.  In fact, there is probably almost a 100% chance 
> that EVERY 128 bit string has another 128 bit string producing the same 
> hash. 
 
Indeed. 
 
>  
> That this can be accomplished by "changing a few bits" doesn't surprise 
> me, either.  But finding the right bits to change would be very 
> difficult.  There would be 1024! (1024 factorial - 1024 x 1023 x 1022 x 
> ...) possible combinations.  And yes, there would probably be more than 
> one which gave that same hash value. 
 
And here you missed the important point (I think):  
You do NOT need to try brute-force all possible combinations. 
The new MD5-cracking algoritm can do that smarter/quicker/better-guessing. 
(I am not sure since they didn't publish their results yet AFAIK) 
 
>  
> Now - you might be able to analyze the algorithm to limit the 
> possibilities - I haven't tried, so I don't know. 
 
And that is excactly what happened. 
 
> But that might help 
> in certain circumstances. 
 
It did for Xiaoyun Wang, Yiqun Lisa Yin, and Hongbo Yu: the Chineese  
researchers.  :-) 
 
>  
> Virtually any hash or encryption method can be broken for specific 
> examples. 
> That doesn't mean it isn't secure for general use.  Only in 
> those specific examples. 
 
True. 
But we just do not know how many SHA-1 hashes are prone to collions-finding  
algoritms. 
A good algoritm will let the Bad Guys only break it brute force, hence  
forcing them to try random inputstrings for a zillion years. 
 
From Schneier's weblog: 
 
<quote> 
Jon Callas, PGP's CTO, put it best: "It's time to walk, but not run, to the  
fire exits. You don't see smoke, but the fire alarms have gone off." That's  
basically what I said last August. 
 
It's time for us all to migrate away from SHA-1.  
 
Luckily, there are alternatives. The National Institute of Standards and  
Technology already has standards for longer -- and harder to break -- hash  
functions: SHA-224, SHA-256, SHA-384, and SHA-512. They're already  
government standards, and can already be used. This is a good stopgap, but  
I'd like to see more. 
</quote> 
 
 
 
For clarity's sake: I do not claim to be an encryption-expert. You might  
very well know a lot more than me. 
I am just restating what Schneier and Slashdot wrote. 
The math behind it all is way over my head. 
 
Some links: 
http://www.schneier.com/blog/archives/2005/02/sha1_broken.html 
 
or this newer and much more informative article: 
 
http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html 
 
Regards, 
Erwin Moller
 
[Back to original message] 
 |