Cryptography Reference
In-Depth Information
CHAPTER 12
Large Random Numbers
Mathematics is full of pseudorandomness—plenty enough to supply all
would-be creators for all time.
—D. R. Hofstadter, Gödel, Escher, Bach
Anyone who considers arithmetical methods of producing random digits is,
of course, in a state of sin.
—John von Neumann,
S EQUENCES OF “RANDOM” NUMERICAL VALUES are used in many statistical
procedures, in numerical mathematics, in physics, and also in number-theoretic
applications to replace statistical observations or to automate the input of
variable quantities. Random numbers are used:
to select random samples from a larger set,
in cryptography to generate keys and in running security protocols,
as initial values in procedures to generate prime numbers,
to test computer programs (a topic to which we shall return),
for fun,
as well as in many additional applications. In computer simulations of natural
phenomena random numbers can be used to represent measured values, thereby
representing a natural process ( Monte Carlo methods ). Random numbers are
useful even when numbers are required that can be selected arbitrarily. Before
we set out in this chapter to produce some functions for the generation of
large random numbers, which will be required, in particular, for cryptographic
applications, we should take care of some methodological preparations.
There are many sources of random numbers, but we should be sure to
differentiate between genuine random numbers , which arise as the result
of random experiments, and pseudorandom numbers , which are generated
algorithmically. Genuine random numbers arise from such processes as the
tossing of coins or dice, spinning a (fair) roulette wheel, observing processes of
radioactive decay with the aid of suitable measuring equipment, and evaluating
the output of electronic components. In contrast to these, pseudorandom
 
Search WWH ::




Custom Search