Processor Register Sampling for High-Entropy Random Numbers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing random number generation techniques, especially for high-security encryption, are complex, require hardware circuitry, are poorly suited for large random numbers, and lack immediate guarantee of high entropy without calibration.

Innovation Solution

A method using internal processor registers, particularly timestamp counters, to generate random numbers without additional hardware, ensuring high entropy and fast generation by iteratively extracting unpredictable bits, with random or pseudo-random selection of register and bit positions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If physical phenomena or user interaction methods are used to generate random numbers, then high entropy is achieved, but device complexity increases due to required hardware circuitry

Engineering Contradiction:
ImproveentropyVSAvoidhardware circuitry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processor serves itself by using its own internal resources (performance counters, registers) to generate random numbers, eliminating the need for external hardware circuitry. The processor's natural operational variability becomes the entropy source, making the system self-sufficient for random number generation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces physical/mechanical entropy sources (thermal noise, electromagnetic phenomena, physical user interactions) with digital/software-based mechanisms that utilize processor operational characteristics. This substitution eliminates hardware circuitry while maintaining entropy through software-controlled sampling of processor states.

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

2Reliability

If hardware-based random number generators are used, then high entropy is achieved, but generation speed decreases for large random numbers

Engineering Contradiction:
ImproveentropyVSAvoidgeneration speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The random number generation process is segmented into multiple independent sampling operations. Instead of generating one large random number through a single slow hardware process, the method samples multiple smaller values from performance counters and combines them, enabling parallel processing and faster generation of large random numbers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor's performance counters continuously update with each clock cycle and processor event, providing a continuous stream of changing values. This continuity allows the random number generator to sample fresh entropy sources at high speed without waiting for hardware generation cycles, maintaining both entropy and speed.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If processor performance counters are sampled for random number generation, then simplicity is improved, but entropy may be reduced due to cyclic processor states

Engineering Contradiction:
Improveimplementation simplicityVSAvoidentropy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The sampling strategy is made dynamic by selecting different performance counters, bit positions, and sampling intervals based on processor state analysis. This adaptability allows the system to avoid cyclic patterns by dynamically adjusting which counter values are sampled and how they are combined, maintaining high entropy while using simple processor resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes multiple parameters including which performance counter is sampled, which bits are extracted, the sampling interval, and the combination method. By varying these parameters based on processor state, the system overcomes cyclic patterns and maintains high entropy without requiring complex additional hardware.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If calibration is performed to ensure high entropy from performance counters, then entropy is improved, but operation complexity increases

Engineering Contradiction:
ImproveentropyVSAvoidcalibration requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs self-calibration by automatically analyzing its own performance counter behavior and adapting sampling parameters accordingly. The processor uses its own operational characteristics to determine optimal sampling strategies without requiring external calibration tools or manual configuration, simplifying operation while ensuring high entropy.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where the generated random numbers are analyzed for entropy quality, and sampling parameters are adjusted based on this feedback. This closed-loop approach automatically maintains high entropy without manual calibration, as the system continuously monitors and adapts to its own operational patterns.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12535992B2Random number generation based upon a random bit sourcing from one or more registers of a computer
Publication Date: 2026.01.27 SPINNION
  • US12535992B2 patent drawing
  • US12535992B2 patent drawing
  • US12535992B2 patent drawing

AI summary

This method is implemented within a digital processor by: a) searching an internal register (R1, R2, R3, . . . R(n)) of the processor which content (b0, b1, b2, . . . b(n)) changes over time; b) extracting at a given time n bits from the register, n≥1; c) using the n bits extracted at step b) as bit(s) for forming a random number of N bits to be generated; d) reiterating (250) steps a) to c) until obtaining the N bits of the random number; and e) providing the random number to an application circuit or software. In order to increase randomness, the method further comprises a selection (240), by a random of pseudo-random process, of the n bits of the register which will be extracted, and/or a selection (230), by a random of pseudo-random process, of one register among a plurality of internal registers (R1, R2, R3, . . . R(n)) of the processor that may be potentially searched and selection of the n bits from the selected register, in particular a selection, by a random of pseudo-random process, of at least one of the bits of the selected register.