Random numbers are useful beasts, in particular for cryptographers who use them to generate their codes.
But how best to make random numbers at useful speeds? The question is intimately linked to the nature of randomness. One way is to rely on a computer to do the task using an algorithm that generates numbers that look and feel random. For example, the digits of pi appear random but can be generated by a simple algorithm.
Mathematicians treat these so-called pseudo random numbers with caution. One reason they value random numbers is precisely because they cannot be generated by any logical process: anything that can be calculated, like pi, clearly falls outside this category. Cryptographers, in particular, want codes that cannot be calculated by an eavesdropper with a powerful enough computer.
The current consensus is that the best source of randomness is the quantum world where uncertainty rules. We recently looked at just how good this randomness is. Any uncertainty in the value of physical quantities such as position, momentum, electric field will do.
One way of exploiting this uncertainty is to send photons towards a semi-silvered mirror and measure whether they are reflected or transmitted. The resulting sequence of 0s and 1s ought to be truly random.
The problem here is the rate at which truly random numbers can be generated. Commercial devices that work in this way with semi-silvered mirrors generate random numbers at the rate of up 16 Mbits per second.
Today, Yu Liu and buddies at Peking University in China reveal a way to dramatically speed this up. Their idea is to use the phase noise in a laser to generate random numbers.
Phase noise is the result of quantum uncertainties in the way photons are spontaneously emitted inside a laser–due to vacuum fluctuations of the electric field, for example. The causes the photons to be emitted with frequencies which differ very slightly.
Liu and co use this small change in frequency to create a beat signal by delaying a portion of the laser light and interfering it with the later output. They then sample the beat signal with an analogue to digital converter.
After a little mathematical cleaning, the resulting sequence of numbers passes a number of standard tests of randomness and Liu and friends are able to pronounce it truly random.
What’s impressive about this technique is the data rate they achieve. Liu and co are claiming data rates of up to 300 Mbits per second. And since the vertical cavity laser that they use for this can be relatively easily integrated into modern electronic circuitry, there’s nothing to stop it being used almost immediately for commercial applications
That’s not the fastest random number generator–that record goes to an Israeli team that recently achieved 3 Gbits per second using the chaotic output of a laser. That’s good but not quantum-based randomness, which is the gold standard for many physicists.
Earlier this month, a team in the US claimed the record for the fastest quantum generated random number at 100 Mbits per second, based on the intervals between photon arrivals at a detector.
Now, just a few days later, the Chinese have done even better. That’s should set in train an interesting numbers battle with other providers of random numbers over who can generate randomness of the highest quality the fastest. Prepare for battle!
Ref: arxiv.org/abs/1006.3512: Truly Random Number Generation Via Entropy Amplification