Java Glossary : true random numbers
Last updated 2004-06-28 by Roedy
Green ©1996-2004 Canadian Mind Products
Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
You are here : home : Java
Glossary : T words : true random numbers.
- true random numbers
- There are two kinds of random numbers, pseudo random
numbers that can be rapidly generated from mathematical formulae, and true
random numbers, generated from some random physical process such as
radioactive decay. We are discussing true random numbers here.
Creating true random numbers requires considerably more effort than pseudo-random
ones. You need to build a peripheral that is a true random number source.
This would be useful for creating one-time
cryptography pads, and also in various simulations. Here are several ways it
could work:
-
Monitoring the timing between click of radioactive (such as the tiny piece of
Americium in a smoke detector) registered by a crude Geiger counter.
Aware electronics
sells the RM-60 model for $150. The RM-60 produces a down-going 75-90us pulse
each time it detects a radioactive decay particle. The times between clicks
follow a Poisson distribution. You could expect about 300 counts per second with
that exposed bit of Americium. If you buy one, ask them to throw in a free copy
of Aw-rand.exe to use their Geiger
counters to create files of random numbers. Intel and AMD are buying them to
generate random numbers.
-
Similar to above, but count alpha particles emitted by a thorium Coleman lantern
mantle.
-
Noisy transistor, or transistor bank. This is what Turing wanted in the original
Eniac.
-
Monitoring the precise timing between the user's keyclicks. This is how ENCRYPT
works.
-
Measuring some irregular biometric function.
-
Buy an Orion Random Number Generator.
-
Custom random number generator card. It contains a high frequency 8 bit circular
hardware counter that just increments rapidly. Whenever a random click occurs,
you metaphorically stick your finger in the wheel of fortune and sample the
value of the counter. If a click comes sooner than two complete revolutions of
the "wheel"/counter, you discard that click.
-
See this survey article
on random number machines.
-
Use the random.org method. A radio is tuned
into a frequency where nobody is broadcasting. The atmospheric noise picked up
by the receiver is fed into a workstation through the microphone port where it
is sampled by a program as an eight bit mono signal at a frequency of 8KHz. The
upper seven bits of each sample are discarded immediately and the remaining bits
are gathered and turned into a stream of bits with a high content of entropy.
Skew correction is performed on the bit stream, in order to insure that there is
an approximately even distribution of 0s and 1s using transition mapping. Even
though random.org serves random numbers, you can't use them for cryptography,
since they are not securely delivered. Just hook up your stereo to the input of
your sound card.