High-Entropy Symbol Generator
ABSTRACT: We discuss the principles of a High-Entropy Randomness
Generator (also called a Hardware Random Number Generator,
or True Random Number Generator) that
is suitable for a wide range of applications, including cryptography
and other high-stakes adversarial applications. It harvests entropy
from physical processes, and uses that entropy efficiently. The
hash saturation principle is used to distill the data,
resulting in virtually 100% entropy density. This is calculated, not
statistically estimated, and is provably correct under mild
assumptions. In contrast to a Pseudo-Random Number Generator, it has
no internal state to worry about, and does not depend on unprovable
assumptions about ``one-way functions''. We also describe a low-cost
high-performance implementation, using the computer's audio I/O
system.
You can view the full paper,
which covers the theoretical principles and engineering features,
including installation instructions.
You can download turbid.tgz source.
~100kB.
You can have a look at the main program, turbid.c
The code is in "beta" status. People are using it. There are no
open bug reports.
Request: I would like to be able to ship configuration and
calibration info for a wider range of soundcards. Therefore: If you
calibrate a card, please send me <jsd@av8n.com> the resulting .ctl
file, and the values for the -Q -R -B
and -K
settings.
Copyright © 2002 – 2013 jsd