el tit.
I bet when they make one, it will look EXACTLY like a Flux Capacitor.
Beer, because that's the best random anything generator I've found yet.
number generator, by bouncing photons off empty space. As regular readers know, empty space isn’t actually empty – it’s home to “quantum fluctuations”, one of the stranger manifestations of quantum theory, in which particles and anti-particles spontaneously come into existence and annihilate so as to preserve the uncertainty …
This post has been deleted by its author
I think there are genuinely random events happening in a typical PC. The Linux device /dev/random gives you access to them. See "man 4 random". There is probably some documentation somewhere that describes in more detail how /dev/random works. That might reveal what the underlying random events are and how much they each contribute. Then you might know what to do to increase the supply of randomness if you need more.
Presumably you can get some thermal noise from a sound card, for example.
Of course you can also use /dev/random to seed /dev/urandom which uses a cryptographically strong pseudorandom generator to fill in the gaps when the very slow output of /dev/random blocks. Try generating 3 GPG 4096 bit keys in a row and you are likely to have to wait quite a while while /dev/random blocks. This is a larger problem if you are using stream ciphers to transfer GB of data requiring a one time pad, but the same manpage you refer to suggests /dev/urandom may be suitable for this job due to lack of literature for known and published attacks.
In practice an attacker can compromise a truly random key source if also able to observe the same bits. Also even though some actions e.g. throwing a dice, or using crypto-strong pseudorandom algorithms are not truly random (the physics of dice are also known) these methods are likely to be sufficiently uncertain and unknown in outcome such that if unobserved and incapable of manipulation by an attacker, these approaches are probably good enough for security purposes. If not in your case, you are likely to need a hardware RNG module.
Try here: http://www.idquantique.com/true-random-number-generator/products-overview.html
IIRC the RNG for ERNIE (the premium bond computer) is a physical RNG. The old version I saw used two drilled spinning disks that were at a large potential difference. The time between electrons jumping from one disc to the other (visible as arcing) was used to generate the random digits.
“While the evolution of a quantum function is deterministic, the outcome of a particular measurement on a state is not”.
This apparent contradiction of determinism and randomness is something that threw me for some time until I had a brain-bash with Wikipedia a while ago.
In layman's terms: things happen randomly in quantum physics, but the *chance* of something happening is very well defined and predictable.
For example, if you look at an individual uranium atom, you're stuffed when it comes to predicting when it might spontaneously split into pieces. But if you watch loads of them, the decay rates are very repeatable and the boffins can even work out what it should be on average. That's why you can confidently say that a particular radioactive element has a given half-life.
As to what is "truly" random, I have to confess that it's something that bothers me quite a bit. It bothered Einstein, too, so I guess I'm in good company. To accept that something is truly random, you must concede that an effect has no cause. If God really is playing with dice, on what stage is it actually being played? Questions like that hurt my head.
>"To accept that something is truly random, you must concede that an effect has no cause"
Not necessarily, you just need to accept that there isn't a one-to-one relation between cause and effect but a one-to-many; you have causes that may produce 1 of N different effects, but which one they actually produce on any given occasion can be random. It's still cause-and-effect, but it's not predictable!
I've got a solution - simply connect whatever needs randomising to my wife's shoe collection. It matters not what she wears on the rest of her; there's no rhyme or reason to determine which pair of shoes she wears. Totally random I tell you.
AC 'cos she does read El Reg on occassion. Although she's probably already rumbled me. Damn. Sorry, dear... etc..
My thought about this - true randomness cannot exist if space is finite, as space itself (and everything in it) could be considered a constant. I.e. everything and nothing exist at the same time (matter and anti-matter and there is no concept of time other than reference points, because everything exists at the same time) and everything is equal. So I reckon there is no point bothering unless you can create a universe...
If space is non-fininite (I am not sure infinity exists), that randomness is possible.
There - my own thought blurb which makes no sense. Does anyone have any thoughts on these comments?
From a philosophical point of view, you may postulate that everything is deterministic within a finite Universe and that true randomness does not exist.
But from a practical point of view, randomness exists even within a finite universe: To make a prediction, you must take the state of all matter into account. But within the universe, there is not enough matter to build the machine that could track the state of all matter. Hence, prediction is not possible, and for any observer within the universe, true randomness exists.
"Does anyone have any thoughts on these comments?"
Einstein had, see http://en.wikiquote.org/wiki/Albert_Einstein :
'Quantum mechanics is certainly imposing. But an inner voice tells me that it is not yet the real thing. The theory says a lot, but does not really bring us any closer to the secret of the "old one." I, at any rate, am convinced that He does not throw dice.
Letter to Max Born (4 December 1926); The Born-Einstein Letters (translated by Irene Born) (Walker and Company, New York, 1971) ISBN 0-8027-0326-7.
Einstein himself used variants of this quote at other times. For example, in a 1943 conversation with William Hermanns recorded in Hermanns' book Einstein and the Poet, Einstein said: "As I have said so many times, God doesn't play dice with the world." (p. 58)'
Any measurement of quantum properties will result in a truly random distribution. If a photon flies through a polarizer, it must pick a quantized polarization to be reflected or transmitted. So here is a cheaper random number generator:
(1) Replace the 400 k$ short-pulse laser with a 1$ light bulb.
(2) Replace the diamond (some dollars) with some attenuators (some dollars) to reduce the output until you can count single photons.
(3) Replace the detection scheme (many k$) with two single photon counters to detect reflected and transmitted photons (few k$ for fast counting rates).
Is it random? Yes, in the sense that nobody within our universe can predict the outcome. It's a matter of when and how the atoms in the lightbulb decide to emit the photon, and that is a decoherent process, i.e., the coupling to the universe is fast enough that no observation allows to extrapolate to the next observation. Call it 'vacuum quantum fluctuations' if you want.
Somebody will surely be able to integrate this random number generator into a few $ integrated device (replace the lightbulb with a diode and use an avalanche photodiode for detection). Else, you might just ask your physicist friend for some experimental data from whatever he has been measuring in the recent past and use his experimental noise for a starter. (I'd be happy to sell you all our noise for a really good price!)
This post has been deleted by its author
For a company that made encryption devices.
You can amplify thermal noise in a resistor (although I was never convinced by this, the noise must also have come from within the high input Z op amp too) to a level that you can then feed into a comparator, which you then feed into a flip flop. You then sample the output of the flip flop with 2 more in series flip flops with a given clock frequency (need 2 for metastability purposes), which then gives a constant stream of random bits. This was tested heavily and proven up to the job, except when the PCB designer ran an address track right underneath the source of the thermal noise. We had a big can over this part of the circuit to shield it from this sort of stuff, silly PCB designer. I got 1Mbps of random bits out of it.
I would have much prefered to have used a reverse biased zener diode as the noise source as this was a much larger signal so more noise immune, but you had to tweak the bias in order to generate the quantum tunneling in the zener that produced the quantum random noise (like a random saw toothed wave), which meant a pot or something which is not so good for mass production and drift over time.