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.


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.


    SGI曾经在不同的“glob阶段”使用了一个熔岩灯的照片作为熵的来源,最终演变成一个名为LavaRnd的开源随机数发生器。


    I use Random.ORG, they provide free random data from Atmospheric noise, that I use to periodically re-seed a Mersene-Twister RNG. Its about as random as you can get with no hardware dependencies.

    链接地址: http://www.djcxy.com/p/61912.html

    上一篇: 软件许可证密钥如何生成?

    下一篇: 可供选择的熵源