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 systems2.0.0: major bugfixes, added ALSA support1.0.5: logging can now be switched of, code clean-up, help-output fixed1.0.1: no longer exits when random data is not random enough, it now skips it and continues when data is random enough again1.0.0: the buffer was only refilled once0.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.