HotBits:

Genuine random numbers,
generated by radioactive decay

Click the icon to turn sound effects off and on.

People working with computers often sloppily talk about their system's
“random number generator” and the “random
numbers” it produces. But numbers calculated by a computer
through a deterministic process, cannot, by definition, be random.
Given knowledge of the algorithm used to create the numbers and its
internal state, you can predict all the numbers returned by subsequent
calls to the algorithm, whereas with genuinely random numbers,
knowledge of one number or an arbitrarily long sequence of numbers is
of no use whatsoever in predicting the next number to be generated.

Computer-generated “random” numbers are more properly
referred to as pseudorandom numbers, and pseudorandom
sequences of such numbers. A variety of clever algorithms have
been developed which generate sequences of numbers which pass every
statistical test used to distinguish random sequences from those
containing some pattern or internal order. A test
program is available at this site which applies such tests to
sequences of bytes and reports how random they appear to be, and if
you run this program on data generated by a high-quality pseudorandom
sequence generator, you'll find it generates data that are
indistinguishable from a sequence of bytes chosen at random.
Indistinguishable, but not genuinely random.

HotBits is an Internet resource that brings
genuine random numbers, generated by a process fundamentally
governed by the inherent uncertainty in the quantum mechanical laws of
nature, directly to your computer in a variety of forms.
HotBits are generated by timing successive pairs of
radioactive decays detected by a Geiger-Müller tube interfaced to a
computer. You order up your serving of HotBits by
filling
out a request form specifying how
many random bytes you want and in which format you'd like them
delivered. Your request is relayed to the HotBits server, which
flashes the random bytes back to you over the Web. Since the HotBits generation hardware produces data at
a modest rate (about 100 bytes per second), requests are filled from
an “inventory” of pre-built HotBits. Once the random
bytes are delivered to you, they are immediately discarded—the
same data will never be sent to any other user and no records are kept
of the data at this or any other site. (Of course, if you're using
the random data for cryptography or other security-related
applications, you can't be certain I'm not squirreling away a
copy. But I'm not, really.)

An alternative to downloading HotBits for later use
is provided by the
randomX
package for Java. A program developed with randomX
can select from a variety of pseudorandom sequence generators or genuine
random data from HotBits, obtained on demand across the Internet.