vanheusden.com
audio entropy daemon
This program feeds the /dev/random device with entropy-data read from an audio device.
The audio-data is not copied as is but first 'de-biased' and analysed to determine how much bits of entropy is in it.
This program is usefull for systems doing lots of cryptographic stuff like VPN endpoints or GPG clients; it helps preventing that the /dev/random device gets depleted and blocks reads.
Download
This package requires the Alsa development libraries. On Debian that is the libasound2-dev package.
Changes
2.0.1: now also works on big endian systems
2.0.0: major bugfixes, added ALSA support
1.0.5: logging can now be switched of, code clean-up, help-output fixed
1.0.1: no longer exits when random data is not random enough, it now skips it and continues when data is random enough again
1.0.0: the buffer was only refilled once
0.0.7: added code which checks the quality of the random data
FAQ
- no entropy data is added
First, start audio-entropyd with the '-vv' flags.
Check the following:
- check in the logging that "n_output_bytes: 0" is logged. if so, verify that the recording-channel is not muted
- verify that no errors like "Poker test failed!" are logged. that means that the data fetched is not random enough. if that doesn't matter to you, start audio-entropyd with '-s'
Links
- TimerEntropyd is like audio-entropyd but requires no soundcard or webcam. It uses the timers which are in every system.
- VideoEntropyd is like audio-entropyd for a 'video-4-linux'-compatible device. E.g. a tv-card or a webcam.
- inventgeek.com - use a radiation-source from a smoke-dector and a webcam for generating random numbers.
- fourmilab - another article about generating true random numbers using an radioactive source.
- This website: http://www.cs.berkeley.edu/~daw/rnd/ lists a whole lot of links to information on entropy-gathering on computers.
- lavarnd.org - generating random values using a lavalamp and a webcam.
Hardware solutions
- Soekris engineering sells a board for aprox. $80 with a hardware RNG on it.
- ComScire has an USB solution producing upto 1Mb of random data per second.
- Orion has an RS232 solution producing 7.6Kb per second.
- hg400 USB2.0 connected hardware RNG. data-rates from 16Mb upto 32Mb.
- protego.se an RS232 and USB solution.
- qrbg - a USB connected quantum RNG. 12Mb/s
- idquantique - another quantum solution. 4 upto 16Mb
For contact info, see this page.