18 July 2007

get your random numbers here!

From slashdot: a true random number generator goes online. It's called the quantum random bit generating service.

Note that these are classical bits it's generating -- things that are 0 or 1 -- and not quantum bits, which might not be totally obvious from the name. More information is available at the QRBG page. It appears that you can either get your random numbers online or get them from a little box you plug into the computer via a USB port.

The random number generators included in various programming languages are in fact "psuedorandom" numbers -- basically what this means is that they look random, but they are actually generated by a deterministic process. Often this process starts with some "seed" number and repeatedly performs some operation on it to spit out a sequence of random numbers. The random number generators used by modern technology pass known tests of randomness but there is always a possibility that there is some pattern that remains undiscovered. There are some cryptographic techniques that depend on numbers being random.

The technical paper about all this, "Quantum Random Number Generator" by M. Stipcevic and B. Medved Rogina, can be found at the research group's web site or at the arXiv. The way the algorithm works is roughly as follows: photons are emitted by a light source and pass through a beam splitters. The emission of photons can be assumed to be a Poisson process; what's important about this, for this process, is that the time between the emission of the second photon and the emission of the third photon doesn't depend on the time between the emission of the first photon and the second. We spit out "0" if the first of these is larger, "1" if it's smaller. Then we repeat for the 3rd, 4th, 5th photons (and thus the third and fourth intervals between photons); the 5th, 6th, 7th photons (and thus the fifth and sixth intervals between photons); and so on. Since the interval lengths are independent, this works. Of course, it might not work perfectly due to the limitations of the equipment, but the authors show that they need not worry.

Random.org does something similar; their random numbers come from "atmospheric noise". They're a little short on the technical details but you might find something of interest there. There's also lavarnd, which used to give random numbers that were derived from the input of a camera watching a lava lamp, but doesn't work that way any more.

No comments: