Random Release

Practical cryptography is often an encounter with many random numbers in just a few moments. Entropy is the raw material that gives birth to the random number, but it’s harder to come by than you might think.

Creating havoc with a computer is an easy thing to do, but today, I need a more ordered kind of chaos: entropy. I need to generate high-quality random numbers with minimal predictability. Anybody who plumbs the depths of cryptographic functions will need a good and fast entropy generator at some time, say, to make sure that keys really are generated from genuinely random data, rather than predictable numbers.

You need to be creative to achieve high-quality entropy. Creative people have invented methods for generating random numbers from the bubbles in a lava lamp, the noise generated by feedback from a microphone input, and the luminance values of a camera sensor in a closed black box. All of these work really well, but they’re slow.