Interrupt driven hardware random number generator
AssigneeQUALCOMM Incorporated
InventorGregory Gordon Rose
Life of this patent
Estimating the term…
Abstract
A method, an apparatus, and a computer program product for generating and processing random numbers are provided. An apparatus comprises a processing system that includes a processor, a random number generator and a pair of buffers. A first buffer receives low-entropy random numbers generated by the random number generator and a second buffer provides high-entropy random numbers directly to a processing system. The processing system may directly access the second buffer in response to an instruction executed by the processing system. The processing system responds to an interrupt based on occupancy levels of the buffers by conditioning low-entropy random numbers read from the first buffer to obtain high-entropy random numbers that are then stored in the second.
Claims38
An apparatus, comprising:
- a random number generator;
- a first storage device that receives random numbers generated by the random number generator;
- a processing system configured to:
- read a sequence of random numbers from the first storage device in response to an interrupt;
- generate at least one conditioned random number by conditioning the sequence of random numbers;
- and
- store the at least one conditioned random number in a second storage device,
- wherein the second storage device is configured to maintain a plurality of conditioned random numbers and to output one of the plurality of conditioned random numbers in response to an instruction executed by the processing system.
A method for generating random numbers, comprising:
- reading random numbers generated by a physical random number generator from a first storage device in response to an interrupt;
- conditioning the random numbers generated by the random number generator to obtain at least one high-entropy random number;
- and
- storing the at least one high-entropy random number in a second storage device,
- wherein the second storage device is adapted to output the at least one high-entropy random number in response to an instruction executed by a processor.
An apparatus for generating random numbers, comprising:
- means for reading random numbers generated by a random number generator from a storage device in response to an interrupt;
- means for conditioning the random numbers generated by the random number generator to obtain at least one high-entropy random number;
- and
- means for storing the at least one high-entropy random number,
- wherein the means for storing is configured to output the at least one high-entropy random number in response to a machine language instruction executed by a processor.
A processor-readable storage medium having one or more instructions which, when executed by at least one processing circuit, cause the at least one processing circuit to:
- read random numbers generated by a random number generator from a first buffer in response to an interrupt;
- condition the random numbers generated by the random number generator to obtain at least one high-entropy random number;
- and
- store the at least one high-entropy random number in a second buffer,
- wherein the second buffer is adapted to output the at least one high-entropy random number in response to a machine language instruction executed by a processor.
Dependencies are inferred from the claim text.