Last year, when I attended the European Conference on Lasers and Electrooptics, one of the "big things" was "chaotic laser oscillators for security purposes." The basic idea is that chaotic systems are unpredictable yet still retain many controllable properties, and therefore they make a good fit for security applications. I didn't think very highly of such security schemes then, but recent research into using chaotic lasers to generate random numbers looks much more promising.

Although they mostly operate behind the scenes, random number generators are the workhorses of both computer security and computational methods used in scientific simulations. Even quantum key distribution relies on having a good random number generator. Unfortunately, truly random number generators—usually these are based on noise associated with physical processes—are incredibly slow.

To get around this, pseudo-random number generators are often used. These are algorithms that, given a seed number, generate a sequence of numbers that have all the statistical properties of random numbers—except that they aren't random.

Pseudo-random number generators are now pretty good but, if the starting value is known, the random sequence is entirely predictable. Furthermore, pseudo-random number generators have been shown to be vulnerable before, and there is no reason to suppose that such vulnerabilities can't happen again.



Random numbers, faster

The obvious solution is a fast generator of truly random numbers. This is exactly what researchers in Japan have demonstrated. The system is based on a chaotic laser—the researchers took the output from a standard telecommunications laser and feed some of it back to itself after a short time delay. This delayed feedback creates large, unpredictable amplitude oscillations.

The additional feedback first increases the laser amplitude by extracting light from the semiconductor more efficiently. Afterwards, there aren't enough electron-hole pairs around to sustain the high amplitude output, so the laser crashes to a low output. In the meantime, the high amplitude pulse is still traveling around the delay circuit, allowing the electron-hole pair numbers build up again. If the timing is just right, the high amplitude pulse can hit just as the numbers peak again, which would create a regular train of pulses.

To get a random series of pulses, the electrical current, feedback delay, and feedback level are adjusted so that they never quite match. The electron-hole pair numbers peak a little early, or a little late, providing a set of randomly spaced pulses. These pulses are converted into a train of random ones and zeros.

To make extra sure that this is random, the researchers built two of these chaotic lasers and then used an exclusive-or to combine the outputs. They then finely tuned the laser's feedback until the average ratio of ones to zeros was balanced.

With this one adjustable parameter set to the right value, the researchers obtained strings of ones and zeros that pass all the standard tests for randomness. The crucial difference: the lasers generate random bits at 1.7Gb/s, which is at least an order of magnitude faster than any other true random number generator.

You might think that, since normal lasers include a bit of noise in their amplitude (which is the basis of this technique), it would be possible to use this directly to derive a random sequence. In principle, that is possible, but the amplitude noise is quite small, making it practically impossible to choose a one-zero threshold that results in a non-biased sequence of ones and zeros. This points out the role of chaos in this system—it acts to amplify the normal amplitude noise to the point where it's large enough to allow the researchers to choose a threshold that balances the one-zero ratio.

The moral of the story is that sometimes a crappy laser can do the job better than a good laser.

Further reading: