I had a discussion recently about looking for a mehtod to generate truly random numbers. The discussion ended up talking about using atmospheric noise. Has anyone done this? What is involved in the process? Has anyone created a web service that returns random numbers obtained from noise?
Random.org does this if I recall correctly. They use atmospheric noise because it has very little "patterned" noise that skews the uniform distribution that you want.
Your best bet for a web-service for randomness is RANDOM.ORG, they do use atmospheric noise as a source of entropy:
RANDOM.ORG is a true random number service that generates randomness via atmospheric noise
You can use RANDOM.ORG to retrieve truly random numbers. They have both a website and webservice that support this, and use atmospheric noise (IIRC) to produce the values.
The API for their HTTP protocol is available here.
This entire website is based around "truly random" numbers generated using atmospheric noise. They have an API that you can hook into if you like:
Interestingly, Intel is currently researching a method to embed random-number generation based on fluctuations in voltage and temperature inside a chip. While it's possible to generate randomness based on noise outside of a processor as an external unit, when the generator is outside of the CPU, it's possible to isolate power constraints and other factors to be unique to the generator, thus making the external unit more vulnerable. From the article:
Building the circuit into the main processor shuts off that possibility, says Krishnamurthy, although the barrier to doing that has been practicality. The best-established methods of generating random numbers use analog circuits that rely on thermal noise as a source of randomness, and those circuits are not easily fabricated with the techniques used to make the digital circuits of a microprocessor. Nor are they easily scaled down to the size of components on modern chips.