In
computing, a
hardware random number generator (
TRNG,
True Random Number Generator) is a device that generates random numbers from a physical process, rather than a computer program. Such devices are often based on microscopic phenomena that generate low-level,
statistically random "noise" signals, such as
thermal noise, the
photoelectric effect, and other
quantum phenomena. These processes are, in theory, completely unpredictable, and the theory's assertions of unpredictability are subject to experimental test. A hardware random number generator typically consists of a
transducer to convert some aspect of the physical phenomena to an electrical signal, an
amplifier and other electronic circuitry to increase the amplitude of the random fluctuations to a measurable level, and some type of
analog to digital converter to convert the output into a digital number, often a simple binary digit 0 or 1. By repeatedly sampling the randomly varying signal, a series of random numbers is obtained.