Re: insufficient entropy for rnd

Greg Troxel <[email protected]>
Newsgroups gmane.os.netbsd.devel.crypto
Message-ID <[email protected]>
Daniel Carosone <[email protected]> writes:

> On Mon, Aug 25, 2003 at 12:55:22PM -0400, Greg Troxel wrote:
> > Basically, I was commenting on the notion of having 'full entropy'
> > bits as the prime commodity via /dev/random, v.s. second-class bits
> > from /dev/urandom.  If the seed has enough entropy, and the hash
> > construction and the hash are sound, then the multiple outputs should
> > all be unguessable and independent.
> 
> Yes.  They are identical, apart from the blocking property.

Sure, except there is a notion that the /dev/urandom bits might be
deficient in entropy and should not be used.  That's what I was
getting at.

> The idea of putting yarrow (or some similar PRNG) behind urandom
> was to prevent the "don't really care" consumers from starving the
> "really do care" consumers who are prepared to block.

I would have expected to put yarrow in place for the entire system,
and perhaps not to provide a non-blocking full-entropy device.

> > Being deeply worried about having
> > full-entropy bits (which Yarrow is not) to me indicates a distrust of
> > the hash function.  
> 
> No, of its input.

I meant that if one has a secret X of adequate length (say 160 bits)
and computes (loosely speaking - not trying to get the hash function
subtleties right here)

SHA1(X | 0)
SHA1(X | 1)
...
SHA1(X | n)

then for some reasonable n, perhaps 1000, all of the output bits
should be unguessable and usable.  If not, one can argue that the hash
function is broken.

> > But, rnd depends critically on using the hash
> > function for mixing in bits.
> 
> No, for extracting them.  Bits are mixed in using an LFSR construction
> of xor's. See the comments at the top of rnd_pool.c.

Sorry, I was typing too fast and not checking the details.  I meant
for mixing the state bits as they are extracted, to prevent a
requestor of random bits from finding out the state of the pool.

-- 
        Greg Troxel <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.