Hardware Random Number Generators
Hardware random number generators are used often in computer technology - like in operating systems, so I want to learn more about them.
References
Related
- Recommendation for the Entropy Sources Used for Random Bit Generation
- Statistically Random
- A numeric sequence is said to be statistically random when it contains no recognizable patterns or regularities; sequences such as the results of an ideal dice roll or the digits or exhibit statistical randomness
- Noise
- In signal processing, noise is a general term for unwanted modifications that a signal may suffer during capture, storage, transmission, processing, or conversion.
- Thermal Noise (Johnson-Nyquist Noise)
- The electron noise generated by the thermal agitation of the charge carriers inside an electrical conductor at equilibrium, which happens regardless of any applied voltage. Thermal noise is present in all electronic circuits, and in sensitive electronic equipment can drown out weak signals, and can be the limiting factor on sensitivity of electrical measuring instruments.
- Shot Noise or Poisson noise
- A type of noise which can be modeled by the Poisson process. In electronics, shot noise originates from the discrete nature of electrical charge. Shot noise also occurs in photon counting in optical devices, where shot noise is associated with the particle nature of light.
- Poisson Process
- In probability theory, statistics and related fields, a Poisson point process is a type of random mathematical object that consists of points randomly located on a mathematical space with the essential feature that the points occur independently of one another.
- Jitter
- In electronics and telecommunications, jitter is the deviation from true periodicity of a presumably periodic signal, often in relation to a reference clock signal. In clock recovery applications it is called timing jitter. Jitter is a significant, and usually undesired, factor in the design of all communication links.
- Metastability
- In chemistry and physics, metastability is an intermediate energetic state within a dynamical system other than the system's state within a dynamical system other than the system's state of least energy. Bowling pins show metastability by either merely wobbling for a moment or tipping over completely.
- Brownian Motion
- Brownian motion is the random motion of particles suspended in a medium (a liquid or a gas). The motion pattern typically consists of random fluctuations in a particles position inside a fluid sub-domain, followed by relocation to another sub-domain.
- Atmospheric Noise
- Atmospheric noise is random noise, or
static
, caused by natural atmospheric processes, primarily lightning discharges in thunderstorms. On a worldwide scale, there are about 40 lightning flashes per second, or 3.5 million lightning discharges per day.
- Atmospheric noise is random noise, or
- Photoelectric Effect
- The photoelectric effect is the emission of electrons from a material caused by electromagnetic radiation such as ultraviolet light. Electrons emitted in this manner are called photoelectrons.
- Beam Splitter
- A beam splitter is an optical device that splits a beam of light into transmitted and reflected beam. It is a crucial part of many optical experimental and measurement systems, such as interferometers, also finding widespread application in fiber optic telecommunications.
- Nuclear Decay
- Radioactive decay is the process by which an unstable atomic nucleus loses energy by radiation. A material containing unstable nuclei is considered radioactive. Three of the most common types of decay are alpha, beta, and gamma decay. The weak force is the mechanism that is responsible for beta decay, while the other two are governed by electromagnetism and nuclear force.
- Full Entropy
- In cryptography full entropy is a property of an output of a random number generator. The output has full entropy if it cannot practically be distinguished from an output of a theoretical perfect random number source (has almost n bits of entropy for an n-bit output).
Notes
In computing, a hardware random number generator (HRNG), true random number generator (TRNG), non-deterministic random bit generator (NRBG), or physical random number generator is a devices that generates random numbers from a physical process capable of producing entropy (in other words, the device always has access to a physical entropy source), unlike the pseudorandom number generator (PRNG, a.k.a.deterministic random bit generator, DRBG) that utilizes deterministic algorithm and non-physical nondeterministic random bit generators that do not include hardware dedicated to generation of entropy.
- Many natural phenomena generate low-level, statistically random
noise
signals, including thermal and shot noise, jitter and metastability of electronic circuits, Brownian motion, atmospheric noise. - Researches also used the photoelectric effect, involving a beam splitter, other quantum phenomena and even nuclear decay.
- While
classical
(non-quantum) phenomena are not truly random, an unpredictable physical system is usually acceptable as a source of randomness, so the qualifierstrue
andphysical
are used interchangeably. - A hardware random number generator is expected to output near-perfect random numbers (
full entropy
). A physical process usually does not have this property, and a practical TRNG typically includes a few blocks: - a noise source that implements the physical process producing the entropy. Usually this process is analog, so a digitizer is used to convert the output of the analog source into a binary representation
- a conditioner (randomness extractor) that improves the quality of the randomness bits
- health tests. TRNGs are mostly used in cryptography algorithms that get completely broken id random numbers have low entropy, so the testing functionality is usually included.
- Because HRNGs are constrained by the physical world, they are often only used to generate the seed of PRNGs.
Uses
- Hardware random number generators can be used in any application that needs randomness.
- The TRNGs are primarily used in applications where their unpredictability and the impossibility to rerun the sequence of numbers are crucial to the success of the implementation: in cryptography and gambling machines.
Cryptography
- The major use for hardware random number generators is in the field of data encryption, for example to create random cryptographic keys and nonces needed to encrypt and sign data.
- Typically the TRNG is used to seed a cryptographically secure pseudo random number generator.
History
- The need to generate random numbers dates back to ancient times, where a dice or coin flip was used.
- The first documented use of a physical random number generator for scientific process was by Francis Galton (1890).
- In 1947, the RAND corporation began generating random digits with an
electronic roulette wheel
, consisting of a random frequency pulse source of about 100,000 pulses per second gated once per second with a constant frequency pulse and fed into a five-bit binary counter. - Since the early 1950s, research into TRNGs has been highly active, with thousands of research works published and about 2000 patents granted by 2017.
Physical Properties With Random Processes
- A lot of different TRNG designs were proposed over time with a large variety of noise sources and digitization techniques. However, practical considerations dictate the following traits:
- Use of commonly available inexpensive silicon process
- exclusive use of digital design techniques
- Compact and low power design
- Mathematical justification of the entropy collision mechanisms
- The physical phenomena used to implement TRNG were classified into four groups in 2014:
- electrical noise
- free-running oscillators
- Chaos
- Quantum effects
Electrical Noise-Based RNG
- Noise-based RNGs follow the same outline: the source of noise generator is def into a comparator. if the voltage is above the threshold, the comparator output is 1, otherwise 0. The random bit value is latched using a flip-flop.
Chaos-Based RNG
- The idea of chaos-based noise stems from the use of a complex system that is hard to characterize by observing its behavior over time.
- This technique is
most objectionable
due to the fact that chaotic behavior is usually controlled by a differential equation and no new randomness is introduced, thus there is a possibility of the chaos based TRNG producing a limited subset of possible output strings.
Free-Running Oscillators-Based RNG
- The TRNGs based on a fee-running oscillator (FRO) typically utilize one or more ring oscillators, outputs of which are sampled using yet another oscillator.
Quantum Based RNG
- Quantum random number generation technology is well established with 8 commercial quantum random number generator (QRNG) products offered before 2017.
- The following stochastic processes are
quantum
: - Nuclear Decay
- Shot Noise
- Quantum Optics
- To reduce costs and increase robustness of quantum random number generators, online services have been implemented.
Performance Test
The failure of TRNG can be quite complex and subtle, necessitating validation of not just the results, but of the unpredictability of the entropy source. Hardware random number generators should be constantly monitored for proper operation to protect against the entropy source degradation due to natural causes and deliberate attacks.
Problems
- It is very easy to misconstruct hardware or software devices which attempt to generate random numbers. Almost all
break
silently, often producing decreasingly random numbers as they degrade. - Failure modes in such devices are plentiful and are complicated, slow, and hard to detect.
Attacks
- Just as with other components of a cryptography system, a cryptographic random number generator should be designed to resist certain attacks.
Estimating Entropy
- There are mathematical techniques for estimating the entropy of a sequence of symbols.