Interrupt-Driven Hardware Random Number Generator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hardware random number generators (RNGs) face challenges in achieving high throughput, low latency, and low power consumption while occupying less die area, as they often generate pseudorandom numbers with low entropy, requiring additional cryptographic functions that increase complexity and power usage.

Innovation Solution

The solution involves an interrupt-driven hardware random number generator that conditions low-entropy numbers using software algorithms, such as hash functions or block ciphers, to produce high-entropy random numbers, reducing the need for dedicated hardware and minimizing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic functions are added to the RNG hardware to increase entropy, then the entropy of generated random numbers is improved, but the device complexity and power consumption increase

Engineering Contradiction:
Improveentropy qualityVSAvoidRNG hardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the cryptographic conditioning function from the hardware RNG and relocates it to software execution. The hardware RNG generates raw random numbers without embedded cryptographic logic, while a separate software module performs the conditioning. This separation eliminates the complexity of integrating cryptographic circuits into the RNG hardware while maintaining high entropy output through software-based post-processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary buffer structure that decouples the hardware RNG from the software conditioning process. The buffer serves as a mediator that stores raw random numbers generated by the simple hardware RNG, allowing software to process them at its own pace without requiring complex real-time hardware integration. This intermediary layer enables asynchronous operation and simplifies both hardware and software design.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cryptographic functions are added to the RNG hardware to increase entropy, then the entropy of generated random numbers is improved, but the power consumption increases

Engineering Contradiction:
Improveentropy qualityVSAvoidRNG power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the power-intensive cryptographic conditioning operation from the always-on hardware RNG and places it in software that executes only when random numbers are needed. The hardware RNG operates in a low-power mode generating raw numbers into a buffer, while the software conditioning function is invoked on-demand, significantly reducing overall power consumption compared to having cryptographic circuits continuously active in hardware.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements periodic batching where the hardware RNG continuously fills a buffer with raw random numbers at low power, and the software conditioning function processes these numbers in periodic batches when requests are made. This periodic action pattern allows the system to maintain high entropy output while minimizing the time cryptographic operations are active, thereby reducing power consumption.

Inventive Principle:
Principle #19Periodic action

3Productivity

If hardware RNG is used to improve throughput, then the generation speed is improved, but the entropy rate may be insufficient for computing systems

Engineering Contradiction:
Improverandom number throughputVSAvoidentropy rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent replaces the mechanical/hardware approach to entropy generation with a hybrid system where simple hardware generates raw data and software algorithms process it. Instead of relying solely on complex hardware circuits to generate high-entropy numbers, the system uses software-based cryptographic functions (hashing, XOR operations) to transform low-entropy hardware output into high-entropy random numbers, achieving both high throughput and high entropy rate.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements preliminary generation where the hardware RNG continuously pre-fills a buffer with raw random numbers before they are needed. This preliminary action allows the system to maintain a ready supply of candidate numbers, and when high-entropy numbers are required, the software can quickly process pre-collected data without waiting for slow hardware generation, thus achieving both high throughput and high entropy rate.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9152380B2Interrupt driven hardware random number generator
Publication Date: 2015.10.06 QUALCOMM INC
  • US9152380B2 patent drawing
  • US9152380B2 patent drawing
  • US9152380B2 patent drawing

AI summary

A method, an apparatus, and a computer program product for generating and processing random numbers are provided. An apparatus comprises a processing system that includes a processor, a random number generator and a pair of buffers. A first buffer receives low-entropy random numbers generated by the random number generator and a second buffer provides high-entropy random numbers directly to a processing system. The processing system may directly access the second buffer in response to an instruction executed by the processing system. The processing system responds to an interrupt based on occupancy levels of the buffers by conditioning low-entropy random numbers read from the first buffer to obtain high-entropy random numbers that are then stored in the second.