Method and apparatus for generating truly random numbers
First Claim
1. A method of generating random numbers comprising the steps of:
- generating a signal from an RC oscillating circuit to provide a source of entropy;
providing software which performs the processing steps of;
extracting entropy data from the signal generated by the RC oscillating circuit, andprocessing the data to reduce any cycle-to-cycle data correlation.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for generating truly random numbers which may be used in a cryptographic key generator is adapted to extract entropy from the output signal of an RC oscillating circuit comprised of a resistor, a capacitor, and two nand gates. The entropy data is extracted by comparing the period of a first cycle with the period of a second cycle where the first and second periods are separated by two cycles. If the compared periods are equal, the data is discarded. If the previous period is greater than the later period, a "1" is assigned to a shift register. Otherwise, a ".O slashed." is assigned to the shift register. In this way, a plurality of bits are assigned to the shift register. A routine is then called which processes the bit data to reduce any cycle to cycle data correlation.
-
Citations
29 Claims
-
1. A method of generating random numbers comprising the steps of:
-
generating a signal from an RC oscillating circuit to provide a source of entropy; providing software which performs the processing steps of; extracting entropy data from the signal generated by the RC oscillating circuit, and processing the data to reduce any cycle-to-cycle data correlation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of generating random numbers for use in a cryptographic key generator comprising the steps of:
-
generating an oscillating signal from an RC oscillating circuit; determining the periods of a plurality of cycles of the oscillating signal; comparing at least two of the determined periods; assigning a bit value to a memory location based on the comparison of the at least two of the determined periods; repeating the steps of comparing and assigning in order to assign a plurality of bit values to the memory location; and processing the plurality of bit values to reduce any cycle-to-cycle data correlation to increase the randomness of the plurality of bits. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for generating random numbers comprising:
-
an RC oscillating circuit comprising a resistor, a capacitor, and two logic gates for creating a digital signal having a period for each cycle of the digital signal; a processor for performing the processing steps of; (a) determining the period of a first cycle, (b) determining the period of a second cycle, (c) determining the difference between the determined periods of the first and second cycles, (d) assigning a bit to a memory location with the value of the bit being dependent on the determined difference, (e) repeating steps (a) through (d) for a plurality of cycles, to assign a plurality of bits to the memory location, and (f) processing the plurality of bits in the memory location to reduce and correlation between successive bits. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification