From: Damien Miller <dmiller@ilogic.com.au>
Newsgroups: isaac.lists.linux-ipsec
Subject: linux-ipsec: audio-entropyd
Date: 15 Aug 1999 07:32:12 -0700
Message-ID: <Pine.LNX.4.10.9908160009270.681-100000@mothra.ilogic.com.au>


With all this talk about /dev/random, I have decided to do a bit of
hacking which should help mitigate kernel random number generator
depletion attacks.

audio-entropyd reads a user-defined amount data from the soundcard,
takes the difference between the left and the right channels, hashes
this into a (much) smaller user-defined buffer using SHA1 and credits
a user-defined subset of this into the KRNG. It then sleeps for a 
user-defined period and starts the process again.

The differencing between stereo channels should limit some external 
signals such as mains noise, etc. audio-entropyd performs a few other
tricks to help prevent it getting fooled by regular signals.

It can be configured to dump a lot of random bits into the KRNG at 
once - this should prevent the iterated guessing attack people have
been talking about.

This is an alpha release intended for people to review and find 
"improvement opportunities". Please do not use this on a production
server. Consider this code guilty until proven innocent :)

http://www.ilogic.com.au/~dmiller/files/audio-entropyd-0.0.0.tar.gz

I am particulaly curious about what people consider a safe entropy 
estimation. 

My soundcard gets about 3 bits per byte (37.5%) entropy on differenced
input as calculated by the 'ent' tool. The default estimate used in
audio-entropyd is much more conservative - around 0.06%. 

The README file encourages users to base their settings on their own
entropy measurements.

Regards,
Damien Miller

--
| "Bombay is 250ms from New York in the new world order" - Alan Cox
| Damien Miller - http://www.ilogic.com.au/~dmiller
| Email: dmiller@ilogic.com.au (home) -or- damien@ibs.com.au (work)
