Re: [Security] [patch] random: make get_random_int() more random

From: Matt Mackall
Date: Sat May 16 2009 - 10:45:32 EST


On Sat, May 16, 2009 at 05:02:42AM -0700, Eric W. Biederman wrote:
> Ingo Molnar <mingo@xxxxxxx> writes:
>
> > * Willy Tarreau <w@xxxxxx> wrote:
> >
> >
> > Bad idea IMHO ...
> >
> > It is a bad idea because such sort of tunables do not really help
> > the user as those who tweak are a distinct minority.
> >
> > Also, having a two-way hack _hinders_ your good idea from being
> > adopted for example. Why bother with a faster hash and with using
> > the resulting bits sparingly if we can get an 'easy' tunable in and
> > can have two sub-par solutions instead of one (harder to implement)
> > good solution?
> >
> > So tunables are really counter-productive - and this is a pet peeve
> > of mine.
> >
> > Every time we have such a tunable for something fundamental we've
> > not improved the kernel, we've documented a _failure_ in kernel
> > design and implementation.
> >
> > Sure, we do use tunables for physical constants, limits and other
> > natural parameters - and _sometimes_ we just grudingly admit defeat
> > and admit that something is really impossible to implement. IMHO
> > here we are not at that point yet, at all.
>
> In the lwn comment section there was a suggestion to use a high
> quality stream cipher (AES?) instead of sha1 or the half md4 thing.
> Apparently those should be both stronger and faster.

Yes, this is something we've discussed. Unlike AES, the two hashes
we've been discussing are readily available in the kernel without
requiring cryptoapi.

It's also unclear that encrypting small blocks with software AES is
actually a performance win relative to SHA1, once you look at the key
scheduling overhead and the cache footprint of its s-boxes.

--
Mathematics is the supreme nostalgia of our time.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/