IP Library Granted Patent US 6,968,460
Granted Patent B1
US 6,968,460 · App. 09/854,040 · Granted Nov 22, 2005

Cryptographic randomness register for computer system security

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,968,460
App. No.
09/854,040
Granted
Nov 22, 2005
Kind
B1
Abstract

A random number generator and method thereto using an entropy register. The method includes providing a first plurality of bit entries in an entropy register and transmitting a bit value from each of a plurality of registers to one of the first plurality of bit entries in the entropy register. The random number generator comprises an entropy register configured to receive bits over a plurality of data lines that each couple to an individual entry in the entropy register. The random number generator may further include an entropy control unit configured to provide a value from the entropy register in response to a request for a random number.

Claims (54)

1. A system, comprising:

a memory configured to store data; and

a device coupled to the memory, wherein the device includes a random number generator, wherein the random number generator includes:

an entropy register configured to receive bits over a plurality of data lines, wherein each of the plurality of data lines couples an individual entry in the entropy register with an entry in a corresponding one of a plurality of performance registers.

2. The system of claim 1 , wherein the random number generator further includes: an entropy control unit configured to provide a value from the entropy register in response to a request for a random number.

3. The system of claim 1 , wherein the corresponding entry in the one of the plurality of performance registers corresponds to the least significant bit entry in each of the plurality of performance registers.

4. The system of claim 1 , wherein the device includes a processor.

5. The system of claim 1 , further comprising: a bridge coupled between the memory and the device.

6. The system of claim 1 , wherein the device is configured to cause data to be stored in the memory.

7. A device, comprising:

a random number generator coupled to receive signals from a plurality of bit lines, wherein the random number generator includes:

an entropy register configured to receive bits over the plurality of data lines, wherein each of the plurality of data lines couples an individual entry in the entropy register with an entry in a corresponding one of a plurality of performance registers.

8. The device of claim 7 , wherein the random number generator further includes: an entropy control unit configured to provide a value from the entropy register in response to a request for a random number.

9. The device of claim 7 , wherein the corresponding entry in the one of the plurality of performance registers corresponds to the least significant bit entry in each of the plurality of performance registers.

10. The device of claim 7 , wherein the device includes a processor.

11. A random number generator, comprising:

a plurality of data lines, each data line being coupled to a corresponding one of a plurality of performance registers; and

an entropy register configured to receive bits from the plurality of performance registers over the plurality of data lines.

12. The random number generator of claim 11 , further comprising:

an entropy control unit configured to provide a value from the entropy register in response to a request for a random number.

13. The random number generator of claim 11 wherein the corresponding entry in the one of the plurality of performance registers corresponds to the least significant bit entry in each of the plurality of performance registers.

14. A method of generating a random number, the method comprising:

providing a first plurality of bit entries in an entropy register; and

transmitting a bit value from each of a plurality of performance registers to one of the first plurality of bit entries in the entropy register.

15. The method of claim 14 , further comprising: providing the bit values from each of the first plurality of bit entries in the entropy register.

16. The method of claim 15 , further comprising:

receiving a request for a random number;

wherein providing the bit values from each of the first plurality of bit entries in the entropy register comprises providing the bit values from each of the first plurality of bit entries in the entropy register in response to receiving the request for the random number.

17. The method of claim 16 , further comprising:

prior to providing the bit values from each of the first plurality of bit entries in the entropy register, providing a control signal to the entropy register; and

reading the bit values from each of the first plurality of bit entries in the entropy register.

18. A method for generating a random number, the method comprising:

step for providing a first plurality of bit entries; and

step for transmitting a bit value from each of a, plurality of performance registers to one of the first plurality of bit entries.

19. The method of claim 18 , further comprising: step for providing the bit values from each of the first plurality of bit entries.

20. The method of claim 19 , further comprising:

step for receiving a request for a random number; wherein the step for providing the bit values from each of the first plurality of bit entries comprises step for providing the bit values from each of the first plurality of bit entries in response to the step for receiving the request fox the random number.

21. The method of claim 20 , wherein the step for receiving the request for the random number includes step for receiving a length in bits for the random number, and wherein the length in bits for the random number is less than or equal to a number of bit entries in the first plurality of bit entries.

22. The method of claim 20 , further comprising:

prior to the step for providing the bit values from each of the first plurality of bit entries, step for controlling the first plurality of bit entries; and step for reading the bit values from each, of the first plurality of bit entries.

23. A computer readable program storage device encoded with instructions that, when executed by a computer, performs a method of generating a random, number, the method comprising:

providing a first plurality of bit entries to an entropy register; and

transmitting a bit value from each of a plurality of performance registers to one of the first plurality of bit entries in the entropy register.

24. The computer readable program storage device of claim 23 , the method further comprising:

providing the bit values from each of the first plurality of bit entries in the entropy register.

25. The computer readable program storage device of claim 23 , the method further comprising:

receiving a request for a random number,

wherein providing the bit values from each of the first plurality of bit entries in the entropy register comprises providing the bit values from each of the first plurality of bit entries in the entropy register in response to receiving the request for the random number.

26. The computer readable program storage device of claim 25 , wherein receiving the request for the random number includes receiving a length in bits for the random number,

and wherein the length in bits for the random number is less than or equal to a number of bit entries in the first plurality of bit entries.

27. The computer readable program storage device of claim 25 , further comprising;

prior to providing the bit values from each of the first plurality of bit entries in the entropy register,

providing a control signal to the entropy register; and

reading the bit values from each of the first plurality of bit entries in the entropy register.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
AFFIRMATION OF PATENT ASSIGNMENT Recorded Aug 18, 2009
From: ADVANCED MICRO DEVICES, INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 023119/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2001
From: GULICK, DALE E.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 011807/0509 →