LavaRnd: A Open Source Project for Truly Random Numbers
Phil Windley writes "Truly random numbers are crucial to good encryption.
Most people have heard of Silicon Graphic's use of Lava Lamps to generate random numbers. There were some problems: it required special SGI hardware and software along with six lava lamps, and the solution wasn't portable. But the biggest drawback was that SGI patented the idea so it wasn't freely available. Now, some of the scientists behind the SGI random number system have create LavaRnd, an open source project for creating truly random numbers using inexpensive cameras, open source code, and inexpensive hardware. The system uses a saturated CCD in a light-tight can as a chaotic source to produce the seed. Software processes the result into truly random numbers in a variety of formats. The result is a random number that is crytographically sound, ranking at the top of its class in the NIST 800-22 Billion bit test. Its even portable, so the truly paranoid can take it with them when they travel."
That being said, could you not measure the exact voltage on a CPU, or the ambient temperature to several decimals, or other environmental conditions, then use that as a base?
***
Radio Shack. You've got questions...we've got blank stares(TM).
audio circuits often use diode junctions in reverse-breakdown mode as a source of "white noise". couldn't we computer folks do the same? seems a similar idea to the the dark CCD technique.
I'm not a math guy. At all.
So forgive me if this is dumb or not the right idea.
But why not just use a sensitive microphone listening to the ambience in a room to "seed" some sort of algorithm?
I had a friend that 5 or 6 years ago used the "white noise" from his SB 16 to generate random numbers. Wouldn't this be much more portable than a lava lamp? -Matt
going back to the original idea, how cool would it be to have a lava lamp inside the case, maybe helping out all those heatsinks by converting heat into lava-moving power...with a window so you can see it as it generated all the random numbers you needed.
"Anyone who considers arithmetical methods of producing random numbers is, of course, in a state of sin."
--John von Neumann
SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
What strikes me as odd is that the term "random numbers" is still used even among us, the excessively nerdy. Of course, pseudo-random is better, but I think that "unpredictable" would be the best term.
All numbers generated are based on something, so they'll never be truly random. The best that we can do is make them truly unpredictable, such that it cannot be determined which specific factors they are based on.
===
http://www.drewbradford.com/
I've always wondered if the double-slit experiment, in a particle mode, would be a good way to generate random numbers.
The phenomena (for those unfamilar with it) is putting two closely-spaced slits in a piece of paper and then shining a light through it. You end up with a spreading fringe of light and dark patterns, as the light waves coming through the slits interfere with each other.
Where it gets spooky is when you drop the light source down to where it emits photons one at a time -- they *still* interfere with each other, even though there aren't any other photons present at any given point to interfere with.
Anyway, I seem to recall that the place where each photon ends up is random. So why not put a low-power, stream-of-single-photons light source on one side of the double-slit, and a pair of sensors on the other side? Label one sensor "0" and the other "1" and interpret the strings as binary numbers. Convert (and optionally send them through a bit blender) and you're done.
I'd think this could be manufactured in a small chip-like package, and made a standard motherboard component.
Has anyone investigated this approach? If so, I'd be curious to hear what their results were (and if it turns out not to be as random as one would like).
Ahh contrair, you assume hidden variables young grasshopper. Even Einstein had trouble believing that quantum physics depended on randomness. The hidden variable theory has been attacked from many angles, and noone has been able to prove yet that there are hidden variables, in fact there is much evidence that quantum mechnics depends on randomness.
I used to wonder what was so holy about a silent night, now I have a child.
"The Antaur also ships with Via's "Padlock" feature, a random-number generator that actually produces "true" random numbers by measuring random components of the thermal energy produced by the chip, according to its designer, Glenn Henry. RNG generators can be used to develop true randomized cryptographic keys."
Nearly every PC also has a sound interface that could also be used as a rich source of random seed bits. You don't even need a microphone; just crank up the gain and digitize the analog noise in the microphone preamp.
When I was in grad school (for mathematics), I took a course on probability. On the first day, the Prof gave an assigment for half the class to create a list of 100 random numbers using dice (actually one die). The other half of the class was to create the same list (numbers between 1 and 6), but without using any dice. The Prof then put all the pages in a pile, and was able to perfectly separate the pile based on which method was used to create the page with only a quick glance at each page.
We later learned that he was able to separate them by looking at runs of numbers. For a list of 100 uniformly distributed numbers (between 1 and 6), there is a very high probability (90% or greater) that there will be a consecutive run where the same number occurs 5 or 6 times in a row. But the people that manually created their list will almost never add such a run, because it doesn't seem "random" enough.
What is really "random" is a very hard question that has occupied many brilliant people over the last century.