Random Data Generator Using Bit Swapping for Uniform Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing random number generators often produce deterministic byte streams with non-uniform statistical properties, leading to vulnerabilities in encryption systems, as demonstrated by the failure of widely-used encryption algorithms like DES, SSL, and RSA, where approximately 27,000 public keys were found to be non-truly random, compromising data security.
Innovation Solution
A system comprising multiple physical random number generators operating cyclically, with each generator initialized by three n-bit values and employing bit swapping to produce a sequence with uniform statistical distribution, preventing 'banding' and increasing the number of possible values through permutations, thereby generating a non-linear output sequence with an exponentially long period.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single random number generator is used to generate byte streams, then the device complexity is low, but the statistical distribution is non-uniform and deterministic patterns emerge
Solution Approach 1:
The system divides a single random number generation function into multiple parallel generators (num_r generators), each producing a byte stream. These streams are then cyclically combined to create the final output. This segmentation allows the system to maintain low individual generator complexity while achieving high overall statistical uniformity through the combination of multiple independent streams.
2Reliability
If post-processing is applied to generated values to improve statistical properties, then the uniformity of distribution improves, but the processing time and complexity increase
Solution Approach 1:
Instead of applying post-processing to correct non-uniform distribution, the system performs preliminary action by generating multiple byte streams with inherently good statistical properties from the start. The cyclic combination of these pre-generated streams directly produces uniformly distributed output without requiring additional post-processing steps, thereby eliminating the time loss associated with correction processing.
3Ease of operation
If the random number generator produces deterministic results, then the ease of operation is high, but the security and reliability of encryption systems deteriorates
Solution Approach 1:
The system combines multiple deterministic random number generator operations into a composite generation process. Each individual generator operates deterministically with well-defined algorithms, but their cyclic combination produces a result with high entropy and apparent randomness. This composite approach maintains the ease of operation through deterministic algorithms while achieving the security requirements through the complexity of the combined output.
Data Source
AI summary
A random data generator, a method, and a non-transitory machine-readable medium each operate a plurality of random number generators. Each random number generator is coupled to receive inputs comprising seed numbers, and generates an output stream of n-bit numbers. A bit-swap module receives each n-bit number and reorders the bits of the n-bit number to provide a reordered n-bit number. A byte select circuit selects a byte from the reordered n-bit number and provides a selected byte as an output to the random data stream.


