Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jul 2000 10:05:41 +0200
From:      Mark Murray <mark@grondar.za>
To:        Kris Kennaway <kris@FreeBSD.org>
Cc:        current@FreeBSD.org
Subject:   Re: randomdev entropy gathering is really weak 
Message-ID:  <200007230805.KAA02107@grimreaper.grondar.za>
In-Reply-To: <Pine.BSF.4.21.0007230030230.81127-100000@freefall.freebsd.org> ; from Kris Kennaway <kris@FreeBSD.org>  "Sun, 23 Jul 2000 00:40:44 MST."
References:  <Pine.BSF.4.21.0007230030230.81127-100000@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> This is basically the model I am advocating for /dev/random. It's also the
> alternative "basic design philosophy" described in the yarrow paper.

Erm, read 4.1 again :-). The paragraph that begins "One approach..." is
the old approach. It is also the approach that you are advocating.

The next paragraph "Yarrow takes..." is Yarrow, and the current
implementation.

> See "important issue" number 2 on p6. Yarrow-derived numbers are only
> "good for" 256 bits of strength. Modulo reseeds, Yarrow never accumulates
> more than 256 bits of entropy. Therefore you are silly to use it for
> applications which require more than 256 bits of randomness.
> 
> > Where do you draw the line? I could make it Yarrow-N, only to have
> > someone insist on $((N+1)) in the very next breath.
> 
> Precisely, which is why /dev/random shouldn't use Yarrow, or any other
> seeded-cipher PRNG.

It should not use the old method, which is attackable for many
reasons that Schneier makes clear. (Effectively a 128 bit hash with
a reseed ("stir") every read. Can you spell "Iterative attack"? :-) ).

Where does that leave us?

How good were our old numbers? How many users have I screwed by implementing
that system?

How do we fix it? What accumulation algorithm do we use that does not
clue the reader into what the internal state is?

> > With what we have, I am staking my career on the "uncrackability"
> > of Blowfish-256. If that holds then Yarrow is safe. (The old one
> 
> I'm not bothered about this. My point is that, by design, Yarrow is not
> suitable as a replacement for /dev/random (/dev/urandom, yes).

_My_ point is that the old system is broken, and that IMO Yarrow is a
good replacement. (I support my point by noting that Schneier is a far
better cryptographer than I, and he designed the algorithm that I
implemented).

M
--
Mark Murray
Join the anti-SPAM movement: http://www.cauce.org


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?200007230805.KAA02107>