Random Bit Stream Independence Testing for Cryptographic RNGs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing random number generators lack an efficient, on-the-fly method to verify the independency of bits in the output stream, leading to potential vulnerabilities that attackers can exploit.
Innovation Solution
A method for generating an independent bit sequence by testing the binary candidate random stream for bit pairs using a Gaussian distribution-based acceptance range and adjusting a configuration parameter to ensure bit independency, such as under-sampling, until the stream meets predetermined criteria.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional offline testing methods are used to verify bit independency, then measurement precision is improved, but productivity deteriorates due to the need to store long sequences and perform tests offline
Solution Approach 1:
The patent pre-defines acceptance ranges for bit pair differences before actual verification occurs. These ranges are calculated based on statistical parameters (standard deviation, confidence levels) and stored for immediate use during online operation, eliminating the need for offline computation while maintaining verification accuracy
Solution Approach 2:
The patent introduces intermediate statistical parameters (bit pair counts, differences, acceptance ranges) that serve as mediators between the raw bit stream and the final independence verification result. These intermediates enable simplified online calculation while preserving the statistical rigor of offline methods
2Measurement precision
If offline testing with long sequence storage is performed, then measurement precision is improved, but device complexity increases due to storage and computing requirements
Solution Approach 1:
The patent segments the verification process into independent, sequentially computable steps: counting specific bit pairs, calculating differences, comparing against pre-defined acceptance ranges. Each step uses only immediate previous results, eliminating the need to store entire long sequences while maintaining statistical verification capability
Solution Approach 2:
The patent performs a simplified version of the full independence test by focusing on specific bit pair patterns (00, 01, 10, 11) and their differences, rather than implementing complete autocorrelation analysis. This partial action provides sufficient verification for cryptographic purposes with minimal computational overhead
3Productivity
If lightweight on-the-fly tests are used, then productivity is improved, but measurement precision deteriorates due to larger false negative rates
Solution Approach 1:
The patent implements a feedback mechanism where the random number generator continuously monitors bit pair differences and compares them against dynamically calculated acceptance ranges. When results fall outside acceptance ranges, the system can trigger regeneration or alert, providing continuous quality feedback that reduces false negatives while maintaining online operation
Solution Approach 2:
The patent adjusts verification parameters (acceptance ranges, confidence levels, bit pair samples) based on the observed characteristics of the generated stream. This adaptive parameter adjustment allows the lightweight online test to maintain higher precision by tailoring its sensitivity to the actual random stream properties
Data Source
AI summary
Provided is a method for generating, by a random number generator of a cryptographic system, an independent bit sequence from a binary candidate random stream, said random generator comprising a source of randomness configured to generate a random noise, an analog to digital converter configured to generate a binary raw random stream by digitizing said random noise, said candidate random stream being obtained from said raw random stream. Other embodiments disclosed.


