Re: [RFC][PATCH] Make cryptoapi non-optional?

Val Henson
2003-08-15T00:27:03Z

On Thu, Aug 14, 2003 at 10:36:00PM +0100, Jamie Lokier wrote:
> David Wagner wrote:
> > Val Henson wrote:
> > >Throwing away 80 bits of the 160 bit output is much better
> > >than folding the two halves together. In all the cases we've
> > >discussed where folding might improve matters, throwing away half the
> > >output would be even better.
> >
> > I don't see where you are getting this from. Define
> > F(x) = first80bits(SHA(x))
> > G(x) = first80bits(SHA(x)) xor last80bits(SHA(x)).
> > What makes you think that F is a better (or worse) hash function than G?
> >
> > I think there is little basis for discriminating between them.
> > If SHA is cryptographically secure, both F and G are fine.
> > If SHA is insecure, then all bets are off, and both F and G might be weak.
>
> I still do not see why either F or G are any more secure than SHA.

They aren't, in the sense of cryptographically signing a document.
They do reveal less information about the input than SHA-1.

> F, G and SHA are all supposedly strong hash functions, and I don't see
> why the postulated folks capable of getting useful information about
> the inputs to SHA would have any more difficulty getting useful
> information about the inputs to F or G.
>
> Unless we're postulating that SHA is deliberately weak, so that the
> designers have a back door, that is not present in F or G.

That's exactly what Ted described as his reason for doing the folding
in the first place. Matt Mackall simply pointed out that a little bit
of information theory will show you that throwing away half the output
is more effective.

I think Matt's doing an excellent job. His understanding of the
mathematics involved certainly exceeds that of 99% of the operating
systems developers I've met.

-VAL