Skip site navigation (1)Skip section navigation (2)
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>