Method and apparatus for generating random numbers
First Claim
1. A random number generator comprising:
- an oscillator supplying an oscillator output signal having a frequency determined according to a control input;
a sampling circuit coupled to the oscillator to sample the oscillator output signal, using a sample clock at a sampling frequency that is asynchronous to and lower than the frequency of the oscillator output signal;
wherein the control input is coupled to cause the oscillator output frequency to change significantly within each sample period of the sample clock; and
wherein the oscillator is one of a numeric controlled, voltage controlled and current controlled oscillator; and
further comprising an exclusive OR circuit coupled to provide a signal used in generating the control input for the oscillator, an output from the exclusive OR gate changing within each sample period, thereby causing the oscillator output frequency to change significantly within each sample period.
1 Assignment
0 Petitions
Accused Products
Abstract
A random number generator generates high quality random numbers by sampling the output of a voltage controlled oscillator (VCO) at a frequency much lower than the frequency of the oscillator output. The output frequency of the oscillator is changed significantly during each sampling interval to help ensure the phase relationship of the VCO output and the sampling frequency is unpredictable. That may be accomplished by logically combing the sampling clock and an output from a linear feedback shift register in an exclusive OR gate and supplying that output as the most significant bit used to generate the voltage to control the oscillator. Additional outputs from the linear feedback shift register are also used to generate the control input to the VCO. A distilling circuit such as a CRC circuit or a linear feedback shift register shifts in successive output samples and generates a number therefrom to further increase the randomness of the generated random number.
72 Citations
45 Claims
-
1. A random number generator comprising:
-
an oscillator supplying an oscillator output signal having a frequency determined according to a control input;
a sampling circuit coupled to the oscillator to sample the oscillator output signal, using a sample clock at a sampling frequency that is asynchronous to and lower than the frequency of the oscillator output signal;
wherein the control input is coupled to cause the oscillator output frequency to change significantly within each sample period of the sample clock; and
wherein the oscillator is one of a numeric controlled, voltage controlled and current controlled oscillator; and
further comprising an exclusive OR circuit coupled to provide a signal used in generating the control input for the oscillator, an output from the exclusive OR gate changing within each sample period, thereby causing the oscillator output frequency to change significantly within each sample period. - View Dependent Claims (14, 15)
-
-
2. A random number generator comprising:
-
an oscillator supplying an oscillator output signal having a frequency determined according to a control input;
a sampling circuit coupled to the oscillator to sample the oscillator output signal, using a sample clock at a sampling frequency that is asynchronous to and lower than the frequency of the oscillator output signal;
wherein the control input is coupled to cause the oscillator output frequency to change significantly within each sample period of the sample clock; and
wherein the oscillator is one of a numeric controlled, voltage controlled and current controlled oscillator; and
wherein the sample clock is coupled to generate, at least in part, the control input for the oscillator, the sample clock changing values within each sample period, thereby causing the oscillator output frequency to change significantly within each sample period.
-
-
3. A random number generator comprising:
-
an oscillator supplying an oscillator output signal having a frequency determined according to a control input;
a sampling circuit coupled to the oscillator to sample the oscillator output signal, using a sample clock at a sampling frequency that is asynchronous to and lower than the frequency of the oscillator output signal;
a linear feedback shift register whose outputs are coupled to generate at least, in part, the control input; and
wherein the control input is coupled to cause the oscillator output frequency to change significantly within each sample period of the sample clock. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
16. A random number generator comprising:
-
an oscillator supplying an oscillator output signal having a frequency determined according to a control input;
a sampling circuit coupled to the oscillator to sample the oscillator output signal, using a sample clock at a sampling frequency that is asynchronous to and lower than the frequency of the oscillator output signal;
a distilling circuit coupled to receive the output of the sampling circuit and generate an N bit output therefrom; and
wherein the control input is coupled to cause the oscillator output frequency to change significantly within each sample period of the sample clock. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
33. A method of generating a random number comprising:
-
supplying an oscillator output signal having a frequency determined according to a control input;
sampling the oscillator output signal in a sampling circuit using a sampling clock at a sampling frequency lower than and asynchronous to the frequency of the oscillator output signal and supplying a sampled output signal indicative thereof, changing the oscillator output frequency significantly during each sampling interval using the control input;
shifting the sampled output signal into a linear feedback shift register;
generating pseudo random numbers in the linear feedback shift register; and
generating the control input using the pseudo random numbers. - View Dependent Claims (34, 35, 36, 37, 43)
supplying the sampling clock as the most significant bit used in generating the control input, thereby causing the oscillator output frequency to change significantly during each sampling interval.
-
-
35. The method as recited in claim 33 further comprising:
providing the outputs from the linear feedback shift register to a digital to analog converter and supplying an analog output from the digital to analog converter as the control input to the oscillator.
-
36. The method as recited in claim 33 wherein generating the control input further includes logically combining one of the outputs of the linear feedback shift register in an exclusive OR circuit and providing an output from the exclusive OR circuit to generate, at least in part, the control input.
-
37. The method as recited in claim 33 wherein the output from the exclusive OR circuit is the most significant bit used to generate the control input.
-
43. The method as recited in claim 33 further comprising modifying a clock, which is a periodic waveform used to clock the linear feedback shift register, to be aperiodic by an external event.
-
38. A method of generating a random number comprising:
-
supplying an oscillator output signal having a frequency determined according to a control input;
sampling the oscillator output signal in a sampling circuit using a sampling clock at a sampling frequency lower than and asynchronous to the frequency of the oscillator output signal and supplying a sampled output signal indicative thereof;
changing the oscillator output frequency significantly during each sampling interval using the control input; and
shifting successive outputs from the sampling circuit into a distilling circuit to generate an N bit random number. - View Dependent Claims (39, 40, 41, 42)
-
-
44. A random number generator comprising:
-
an oscillator supplying an output signal;
means for sampling the output signal and supplying a sample signal indicative thereof;
means for changing oscillator output frequency significantly during each sampling period; and
means for distilling successive sample signals. - View Dependent Claims (45)
-
Specification