Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternative Entropy Sources

Okay, I guess this is entirely subjective and whatnot, but I was thinking about entropy sources for random number generators. It goes that most generators are seeded with the current time, correct? Well, I was curious as to what other sources could be used to generate perfectly valid, random (The loose definition) numbers.

Would using multiple sources (Such as time + current HDD seek time [We're being fantastical here]) together create a "more random" number than a single source? What are the logical limits of the amount of sources? How much is really enough? Is the time chosen simply because it is convenient?

Excuse me if this sort of thing is not allowed, but I'm curious as to the theory behind the sources.

like image 336
Peter C. Avatar asked Nov 19 '08 02:11

Peter C.


2 Answers

SGI once used photos of a lava lamp at various "glob phases" as the source for entropy, which eventually evolved into an open source random number generator called LavaRnd.

like image 97
Turnkey Avatar answered Oct 27 '22 05:10

Turnkey


The Wikipedia article on Hardware random number generator's lists a couple of interesting sources for random numbers using physical properties.

My favorites:

  • A nuclear decay radiation source detected by a Geiger counter attached to a PC.
  • Photons travelling through a semi-transparent mirror. The mutually exclusive events (reflection — transmission) are detected and associated to "0" or "1" bit values respectively.
  • Thermal noise from a resistor, amplified to provide a random voltage source.
  • Avalanche noise generated from an avalanche diode. (How cool is that?)
  • Atmospheric noise, detected by a radio receiver attached to a PC

The problems section of the Wikipedia article also describes the fragility of a lot of these sources/sensors. Sensors almost always produce decreasingly random numbers as they age/degrade. These physical sources should be constantly checked by statistical tests which can analyze the generated data, ensuring the instruments haven't broken silently.

like image 20
Brian Gianforcaro Avatar answered Oct 27 '22 05:10

Brian Gianforcaro