Whitener Reduces Bias in Oscillator Random Number Generators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Random number generators using oscillators produce biased outputs, often skewed towards more ones or zeros due to duty cycle variations, which fail to meet security requirements for randomness and bias, necessitating a method to reduce bias while maintaining randomness.
Innovation Solution
A whitener is introduced to dynamically create a mask based on the parity of previous random numbers, applying it to the generated random numbers to reduce bias and produce a whitened output with a 50% distribution of ones and zeros, maintaining sufficient randomness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If random numbers are generated using oscillators, then random numbers are produced, but bias towards ones or zeros occurs due to duty cycle variations
Solution Approach 1:
A whitener component is introduced as an intermediary between the oscillator-based random number generator and the output. The whitener receives the biased random numbers and applies a whitening process using a dynamically created mask to eliminate bias while preserving randomness, thereby mediating between the biased source and the unbiased output requirement
Solution Approach 2:
The patent changes the parameter distribution of the output by applying a whitening mask that dynamically adjusts the bias parameter. By XORing the biased random numbers with a mask derived from parity calculations, the output distribution parameter is transformed from biased (non-50%) to unbiased (50% ones and zeros)
2Reliability
If bias reduction is applied to meet security requirements, then randomness quality improves, but system complexity increases
Solution Approach 1:
The system is segmented into distinct functional components: the oscillator-based random number generator and the separate whitening stage. This segmentation allows the complex bias reduction function to be isolated in a dedicated whitener module, making the overall system more manageable and maintainable despite the added complexity
Solution Approach 2:
The whitening process uses feedback from previous random number outputs to dynamically create the whitening mask. By calculating parity of previous outputs and using that information to generate the mask, the system adapts to the actual bias characteristics, improving reliability while keeping the feedback mechanism relatively simple
Data Source
AI summary
A random number generator of a processor comprises a whitener for reducing the bias in random numbers generated by the random number generator. The whitener receives a random number of a first length read by an array of latches with inputs from an array of oscillators. The whitener dynamically creates a mask of the first length based on a parity of at least one previous random number read from the array of latches during at least one cycle prior to reading the random number. The whitener applies a compare operation between the random number and the mask to generate a whitened random number of the first length, with reduced bias, without reducing randomness.


