back to article Using virtual particles to get real random numbers

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 topic is closed for new posts.
  1. Bill Posters

    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.

    1. Annihilator

      Beer - random?

      Sadly for me, beer seems all too predictable with no element of randomness.

      Generally it's drink -> fun -> loud, obnoxiousness -> singing (optional depending on gender) -> unconsciousness -> headache + regret.

  2. This post has been deleted by its author

    1. Anon

      Re: Want one NOW!

      In a sort of Schrödinger-esque fashion, you can use a cat and a door. You open the door for the cat, and there is a 50/50 chance it will actually go through.

      1. Thomas 18

        Quantum uncertainty states that

        The cat may both go through the door and simultaneously remain on the original side at the same time so it's more like 40/40/20. You can avoid this by substituting a Schrödinger cat for a regular moggie.

    2. Anonymous Coward
      Anonymous Coward

      Way back, when I were a kid, there were Zener diode circuits for noise sources, but getting from that to digital isn't trivial. And I don't know if a small bias is significant for cryptography. To my amateur eye, it still looks as though you can't know the next bit, even with a 60:40 bias.

      1. Anonymous Coward
        Anonymous Coward

        Is a small bias significant for cryptography?

        The normal technique is to take a lot of data which is not completely random but does at least contain a genuinely random (i.e. unpredictable) component and feed it into a cryptographic hash function such as SHA-256.

    3. Anonymous Coward
      Anonymous Coward

      True random number generator available now

      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.

      1. PyLETS

        /dev/random and cousins

        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.

    4. Stumpy

      Try here:

      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.

    5. Alan Firminger

      And I want one in a USB stick. Preferably plug it in and it looks like a drive carrying one read only file which delivers an unlimited number of random bytes and longer denominations.

    6. Tom 13
      Black Helicopters

      I'm told you can manufacture one sufficient for NSA cryptography

      using a refractive filter, 7 working lava lamps, and a detector. Not sure of the exact details, I expect that's classified.

  3. Thomas 18

    Uncertainty principle

    states that there must always be a degree of uncertainty about physics in order to secure future research funds. Where uncertainty does not exist, new theories are needed to make introduce it.

  4. Mike Bell


    “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.

    1. Anonymous Coward
      Anonymous Coward

      You don't need to abandon causality.

      >"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!

  5. Charles King

    "particles and anti-particles spontaneously come into existence and annihilate so as to preserve the uncertainty principle"

    Somehow, I don't think they're doing this just to make Heisenberg happy...

  6. Anonymous Coward
    Anonymous Coward

    Shoes - True Randomness

    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..

  7. blofse

    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?

    1. Schultz

      True randomness

      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.

    2. PyLETS

      Einstein's dice

      "Does anyone have any thoughts on these comments?"

      Einstein had, see :

      '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)'

  8. Schultz

    Cheap versus expensive randomness

    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!)

    1. Anonymous Coward

      I'm off to the patent office right now with *your* idea...

  9. This post has been deleted by its author

  10. bertino

    I did actually design one back in the day....

    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.

  11. Martin Budden Bronze badge

    here's my JavaScript random number generator...

    function getRandomNumber() {

    var myRandomNumber = 4; // determined by fair roll of a die.

    return MyRandomNumber;


This topic is closed for new posts.

Biting the hand that feeds IT © 1998–2019