Medescape

Skepticism, Medicine and Science News

Completely Random

Randomness is a tricky thing. It is easily found in the world around us, but if you want to actively generate, say, a random sequence of numbers, it suddenly becomes quite elusive. The more advanced hand-held calculators have a program that generates, seemingly, random numbers by using specific algorithms, but the fact is that this is not true randomness, but rather pseudorandomness. This means that although the number sequence generated may seem random to a person, a statistical analysis may reveal subtle patterns and skews in the data. For the applications of a pocket calculator, this is probably not a big deal. However, random numbers are a big part of modern cryptography, and are used in, for example, Internet banking. It would be inherently bad if your personal bank ID could be easily predicted by a large statistical analysis of ID-data, so true randomness would be an advantage for these applications.

One common pseudorandom number generator is the linear congruential generator (LCG). It uses the following algorithm to generate seemingly random numbers (click the link for a proper explanation of the equation): 

This is one of the oldest methods for generating random numbers, but it has several problems, and is subsequently not recommended when high-quality randomness is needed.  

A more recent algorithm is the Mersenne twister developed in 1997. It is by far more complicated than the LCG, but also produces a better result. It passes a lot of different tests for true randomness, including the Diehard tests and even some of the more rigorous TestU01 Crush randomness tests (go here for a brief description of these tests, and for the really daring, go here for a more….detailed document). 

To generate a truly random sequence of numbers, a hardware random number generator is required. These devices uses random processes in nature to generate randomness. These processes can range from radioactive decay, thermal noise, avalanche noise and atmospheric noise. These devices have been known to silently break over time though, and the true randomness of the numbers generated should therefore be tested from time to time. 

Another problem with these devices have been that they do not generate random numbers very fast. Typical existing devices only generate a random string of numbers with a speed of 10s-100s megabits per second. To deal with this problem, a new method for generating random numbers have recently been developed. According to the researchers, the method is capable of generating random numbers with a speed of up to 1.7 gigabits, which is 10 times faster than previous devices. The method was developed by researchers at Saitama University in Japan, and uses semiconductor lasers. The process itself is really quite simple, and consist of an external mirror that reflect some of the light back inside the laser. This feedback causes the light to oscillate randomly, and this is then converted into an AC current and further to a binary signal. In total, the process uses two of these lasers to produce a single, random number sequence. According to the researchers, Atsushi Uchida and Peter Davis, the system can be built into cryptographic systems for secure network links with very little extra cost.

Advertisements

November 24, 2008 - Posted by | General Science, Math, Physics | , , , , , , , , , , , , , , , , , , , , , , , , , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: