[17155] in cryptography@c2.net mail archive

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

RE: Propping up SHA-1 (or MD5)

daemon@ATHENA.MIT.EDU (Pablo Abad)
Fri Mar 25 10:38:03 2005

X-Original-To: cryptography@metzdowd.com
X-Original-To: cryptography@metzdowd.com
From: "Pablo Abad" <pabad@fibertel.com.ar>
To: "'Ben Laurie'" <ben@algroup.co.uk>
Cc: "'Cryptography'" <cryptography@metzdowd.com>
Date:	Fri, 25 Mar 2005 12:22:59 -0300
In-reply-to: <42404D00.6030001@algroup.co.uk>
X-Fib-Al-From: pabad@fibertel.com.ar

Ben,

>> I believe the fatal flaw here is not the crypto, but losing the ability
>> to hash a stream without keeping all of it.  Both the hashes and HMAC
>> have this sometimes-vital property.
>
>This can be fixed quite easily:
>
>H'(x)=H(H(x || H(x)) || H(x))

I think this construction doesn't provide any additional security. If
someone manages to find x1 and x2 such that H(x1)=H(x2), he will have also
broken H'(X).

If you get h=H(x1)=H(x2) (of course we are talking about hash functions
using the same iterative model as SHA-1), then you would end calculating
H(H(x1 || h) || h) vs H(H(x2 || h) || h), but since both x1 and x2 leave the
internal state of the hash function the same, H(x1 || h) = H(x2 || h) and
hence H'(x1) = H'(x2)

Cheers,
Pablo


---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo@metzdowd.com

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