Asynchronous Clock Boundary Random Number Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing random number generators face challenges in generating random numbers early in the boot process due to unavailability of entropy sources and inefficiencies, requiring additional software or unconventional circuitry, which is costly and impractical for certain applications.
Innovation Solution
A system utilizing asynchronous boundaries and phase-locked loops (PLLs) generates random data by reading a counter with an asynchronous clock boundary, filling a buffer with entropy words, and applying a SHA-1 hash algorithm to produce unpredictable random numbers, even in early boot stages where traditional sources are unavailable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional random number generators are used, then they can generate random numbers using external influences like key presses or timestamps, but they are unavailable or inefficient for early boot stages when entropy sources are unavailable
Solution Approach 1:
The patent applies preliminary action by utilizing the asynchronous boundary between clock domains as a pre-existing entropy source that becomes available immediately at boot time, before traditional entropy sources like keyboard input or timestamps are accessible. The hardware automatically captures entropy at the asynchronous boundary without requiring software initialization or user interaction.
2Reliability
If additional software or unconventional circuitry is added to enable early random number generation, then random numbers can be generated early in boot process, but device complexity and cost increase
Solution Approach 1:
The patent applies self-service by designing a hardware mechanism that automatically captures entropy at the asynchronous boundary without requiring external software intervention or complex additional circuitry. The system uses existing hardware components (counter, clock signals, capture logic) to self-generate entropy, eliminating the need for additional software modules or unconventional circuitry while enabling early random number generation.
3Productivity
If deterministic processes are used for random number generation, then efficiency is improved, but the generated numbers are not truly random
Solution Approach 1:
The patent applies parameter changes by exploiting the timing parameter of the asynchronous boundary between two clock domains with different frequencies. This timing parameter creates unpredictable phase relationships that generate true randomness. The system captures the counter value at this specific timing parameter window, transforming a deterministic counter into a random entropy source without requiring complex cryptographic operations.
Data Source
AI summary
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for generating random data at an early stage in a boot process. A system practicing the method performs, by a processor based on a first clock, a group of reads of a counter running on a second clock to yield entropy words. In order to produce words with entropy, the system introduces a progressively increasing delay between each of the group of reads of the counter. The system generates entropy words by filling the buffer with successive reads of the least significant bit of the counter and then generates random data by applying a hash algorithm to the entropy words stored in the buffer.


