faster /dev/random
Roberto Ragusa
mail at robertoragusa.it
Sun Aug 22 15:46:38 UTC 2010
Wolfgang S. Rupprecht wrote:
> Is there an approved way to increase the speed at which the random pool
> for /dev/random fills up? I'm playig with dnssec and getnerating 2k rsa
> keys is taking up to 3 hours. I've been googling a bit and Intel x86_64
> machines seem to have random number hardware built in (perhaps also
> AMD???) Is there a way to funnel this into the entropy pool?
You need two things:
1) an entropy source
2) a program to feed entropy to the kernel
As for 1) there are hardware generators based on physical phenomenons
(from electronic noise to nuclear decay). I would suggest you to use
an audio input sampling some noise (fan noise). The ambient noise
in addition to the electrical noise will be a good entropy source
if you sample at 48000Hz/16bits. Another opportunity is a webcam
(pointed to a fan, blinking LEDs, or a window with wind moving leaves
and clouds...) or an analogic TV acquisition board (not tuned).
If you take this data and write it into /dev/random, the entropy pool
gets cryptographically messed up.
But the entropy count will not go up.
You need a tool issuing a specific ioctl to do that.
Maybe it already exists, if not, it should be just a few lines of C.
See:
http://en.wikipedia.org/wiki//dev/random
Be very conservative with your entropy count (for example: for 1 second
of audio, just add 100 bits). I just did a quick test with ambient noise
and gzip is almost unable to compress down what I've sampled. That is a
sign that there is a good quantity of entropy.
Even at these paranoia levels, you will cut down the 3 hours a lot.
--
Roberto Ragusa mail at robertoragusa.it
More information about the users
mailing list