Unified Random Number Generation Instruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing random number generation technologies in computing environments rely on either pseudorandom number generators, which are deterministic, or true random number generators, which may not efficiently provide both raw and conditioned entropy for secure data encryption and other processing needs.

Innovation Solution

A computer program product that executes a single instruction to produce true random numbers, providing raw entropy directly from a noise source and conditioned entropy processed by a pseudorandom number generator, along with a raw-to-conditioned ratio, facilitating secure data encryption and other processing requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a pseudorandom number generator (PRNG) is used, then the generation process is deterministic and computationally efficient, but the randomness quality is insufficient for high-security applications

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidrandomness quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent combines a pseudorandom number generator (PRNG) with a true random number generator (TRNG) into a hybrid system. The TRNG provides high-entropy seed values from physical noise sources, while the PRNG expands these seeds into long sequences of pseudorandom numbers. This merging allows the system to achieve both computational efficiency (from PRNG) and high randomness quality (from TRNG), resolving the contradiction between productivity and reliability.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If a true random number generator (TRNG) is used, then high-quality randomness is achieved, but the system complexity increases and entropy management becomes challenging

Engineering Contradiction:
Improverandomness qualityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the random number generation system into distinct functional components: a TRNG module for generating raw entropy from noise sources, a conditioning module for processing the raw entropy into usable random numbers, and a PRNG module for efficient sequence generation. This segmentation allows each component to be optimized independently and managed separately, reducing overall system complexity while maintaining high randomness quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an entropy pool as an intermediary buffer between the TRNG and the PRNG. This entropy pool accumulates and conditions raw entropy from the TRNG, providing a stable supply of high-quality random seeds to the PRNG. The intermediary entropy pool simplifies entropy management by decoupling the TRNG from the PRNG, allowing independent optimization and reducing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If separate instructions are used for raw entropy and conditioned entropy generation, then functional clarity is achieved, but the instruction overhead and processing time increase

Engineering Contradiction:
Improvefunctional clarityVSAvoidinstruction overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements a universal random number generation instruction that can perform multiple functions: generating raw entropy from the TRNG, conditioning the entropy through the entropy pool, and generating pseudorandom sequences from the PRNG. This multi-functional instruction reduces instruction overhead and processing time by eliminating the need for separate instructions for each operation, while maintaining functional clarity through a unified interface.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3519941B1Instruction to provide true random numbers
Publication Date: 2021.03.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP3519941B1 patent drawingFigure 1A
  • EP3519941B1 patent drawingFigure 1B
  • EP3519941B1 patent drawingFigure 2A~2B

AI summary

An instruction configured to perform a plurality of functions is executed. Based on a function code associated with the instruction having a selected value, one or more inputs of the instruction are checked to determine which one or more functions of the plurality of functions are to be performed. Based on a first input of the one or more inputs having a first value, a function of providing raw entropy is performed, in which the providing of raw entropy includes storing a number of raw random numbers. Further, based on a second input of the one or more inputs having a second value, a function of providing conditioned entropy is provided, in which the providing of conditioned entropy includes storing a number of conditioned random numbers.