Date: Sun, 23 Jul 2000 14:42:00 -0400 From: "Jeroen C. van Gelderen" <jeroen@vangelderen.org> To: David Schwartz <davids@webmaster.com> Cc: Mark Murray <mark@grondar.za>, current@FreeBSD.ORG Subject: Re: randomdev entropy gathering is really weak Message-ID: <397B3C78.1C16D34A@vangelderen.org> References: <NCBBLIEPOCNJOAEKBEAKKEBAJOAA.davids@webmaster.com>
next in thread | previous in thread | raw e-mail | index | archive | help
David Schwartz wrote:
>
> > > /dev/random should block if the system does not contain as much
> > real entropy
> > > as the reader desires. Otherwise, the PRNG implementation will be the
> > > weakest link for people who have deliberately selected higher levels of
> > > protection from cryptographic attack.
>
> > I don't want to rehash this thread from the beginning. Please go
> > back, read the Yarrow paper, and recognise that Yarrow is not an
> > entropy-counter, it is a cryptographically secure PRNG. The "count
> > random bits and block" model does not apply.
>
> Then the current implementation cannot provide the usual semantics for
> /dev/random, while it can provide the semantics for /dev/urandom. As I
> understand it, /dev/random is supposed to provide true randomness suitable
> for generating keys of unlimited length, whereas /dev/urandom is supposed to
> provide cryptographically-strong randomness for general applications.
>
> If people want /dev/random to seed 1024-bit keys, /dev/random must be
> stronger than a 1024-bit key.
1. The current /dev/random cannot do it, it's less secure
than Yarrow for a variety of reasons. So we have a net
improvement anyway. Thanks Mark.
2. Most people do not want to seed 1024-bit keys as outlined
in another mail in this thread. If they *understand* the
issues involved they will realize that 2^256 complexity
is plenty uncrackable for all practical purposes. FreeBSD
is about practical purposes IMHO.
3. Yarrow can be modified to just do this, should someone
think this is neccessary. Read the paper and think of
what happens when you set Pg to 1/(2^(k/3)). (Note that
the paper restricts this value to 1 <= Pg but that's of
no importance here.)
** This is overly conservative for most applications I can
think of; Even a multi-million dollar financial
transactioning system will be practically secure when Pg
is set to 1.
4. Nothing prevents you from adapting Yarrow so that current
/dev/random semantics are preserved, making Yarrow even
better. It can be done with the current design it's just
not very beneficial to do it.
5. Yarrow was designed as a better replacement for most any
PRNG by a couple of bright cryptographers. Can you do
better than that?
Cheers,
Jeroen
--
Jeroen C. van Gelderen o _ _ _
jeroen@vangelderen.org _o /\_ _ \\o (_)\__/o (_)
_< \_ _>(_) (_)/<_ \_| \ _|/' \/
(_)>(_) (_) (_) (_) (_)' _\o_
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?397B3C78.1C16D34A>
