Cryptographically secure pseudo-random number generator
AssigneeQUALCOMM Incorporated
InventorsGregory Gordon Rose, Alexander Gantman, Lu Xiao
Life of this patent
Estimating the term…
Loading patent…
AssigneeQUALCOMM Incorporated
InventorsGregory Gordon Rose, Alexander Gantman, Lu Xiao
Estimating the term…
A cryptographically secure pseudo-random number generator is configured to obtain one or more unpredictable sources of entropy that provide a seed. A current internal state of the number generator is modified as a function of the current internal state and the seed to accumulate entropy. The modified internal state may be obtained by using non-linear feedback shift register operations on the internal state and the seed. A pseudo-random number is then generated based on the modified internal state of the number generator. The one or more unpredictable sources of entropy may be combined into the seed. The internal state of the number generator may be continually modified with additional seeds obtained from the one or more unpredictable sources and the current internal state. Additionally, the internal state of the number generator may be modified on demand with a new seed received from a calling application.
A method for operating a secure pseudo-random number generator, comprising:
A cryptographically secure number generator comprising:
A number generator, comprising:
A processing circuit comprising
A machine-readable storage medium having one or more instructions for generating pseudo-random numbers, which when executed by a processor causes the processor to:
Dependencies are inferred from the claim text.
From the US filing history. Foreign family members aren’t listed.
Drawings are temporarily unavailable. Open the PDF at USPTO
Random or pseudo-random number generators: random number generators, i.e. based on natural stochastic processes
Methods or arrangements for processing data by operating upon the order or content of the data handled: random or pseudo-random number generators
Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher: with particular…
Masking or blinding: of tables, e.g. lookup, substitution or mapping
About 2 years 7 months of term left · ends 8 Jun 2029 (estimated)
1. Field
The present invention relates to cryptography and more particularly to a secure generation of pseudo-random numbers in electronic devices.
2. Background
FIG. 1 is a block diagram illustrating a stream cipher NLS that may be modified to implement a cryptographically secure pseudo-random number generator (CSPRNG).
FIG. 2 illustrates how a pseudo-random number generator may be represented as separate functions according to one implementation.
FIG. 3 is a block diagram illustrating one example of a seed function.
In the following description, specific details are given to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams, or not be shown at all, in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, structures and techniques may be shown in detail in order not to obscure the embodiments.
Also, it is noted that the embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
Moreover, a storage medium may represent one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices, and/or other machine readable mediums for storing information. The term “machine readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels, and various other mediums capable of storing, containing, or carrying instruction(s) and/or data.