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.

Date Created:

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.
  • 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 qualifiers true and physical 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.



Insert Math Markup

ESC
About Inserting Math Content
Display Style:

Embed News Content

ESC
About Embedding News Content

Embed Youtube Video

ESC
Embedding Youtube Videos

Embed TikTok Video

ESC
Embedding TikTok Videos

Embed X Post

ESC
Embedding X Posts

Embed Instagram Post

ESC
Embedding Instagram Posts

Insert Details Element

ESC

Example Output:

Summary Title
You will be able to insert content here after confirming the title of the <details> element.

Insert Table

ESC
Customization
Align:
Preview:

Insert Horizontal Rule

#000000

Preview:


Insert Chart

ESC

View Content At Different Sizes

ESC

Edit Style of Block Nodes

ESC

Edit the background color, default text color, margin, padding, and border of block nodes. Editable block nodes include paragraphs, headers, and lists.

#ffffff
#000000

Edit Selected Cells

Change the background color, vertical align, and borders of the cells in the current selection.

#ffffff
Vertical Align:
Border
#000000
Border Style:

Edit Table

ESC
Customization:
Align:

Upload Lexical State

ESC

Upload a .lexical file. If the file type matches the type of the current editor, then a preview will be shown below the file input.

Upload 3D Object

ESC

Upload Jupyter Notebook

ESC

Upload a Jupyter notebook and embed the resulting HTML in the text editor.

Insert Custom HTML

ESC

Edit Image Background Color

ESC
#ffffff

Insert Columns Layout

ESC
Column Type:

Select Code Language

ESC
Select Coding Language