Claims
- 1. A method for generating pseudo-random numbers, comprising the steps of:
loading a current seed value Sj from a non-volatile storage; loading a value, E, representative of environmental randomness; loading a value, C, representative of configuration data; generating a new seed value, Sj+1, in accordance with the following equation:Sj+1=f (Sj; A; C; E),wherein f represents a selected encryption algorithm, and B is a second constant, and wherein Sj is concatenated with A, which is concatenated with C which is concatenated with E; writing the new seed value Sj+1 to the non-volatile storage; generating a key, K, in accordance with the following equation:K=f (Sj;B;C;E),wherein B is a second constant; and generating a pseudo-random number output, Pn, in accordance with the following equation:Pn=f3DES(K, Pn-1),where f3DES represents the operation of triple DES encryption hardware, and Pn-1 is the previously generated pseudo-random number.
- 2. The method of claim 1, wherein the function f comprises the FIPS 180 secure hash standard algorithm (SHA).
- 3. The method of claim 1, wherein the value E includes at least 80 bits of entropy.
- 4. The method of claim 1, wherein the seed Sj is 160 bits in length.
- 5. The method of claim 1, wherein the seed Sj is 256 bits in length.
- 6. The method of claim 1, wherein the seed Sj is 512 bits in length.
- 7. The method of claim 1, wherein an initial value of P0 is 0.
- 8. The method of claim 1, further comprising the steps of loading values for the first and second constants A and B from a protected ROM address.
- 9. The method of claim 8, wherein the first and second constants A and B further incorporate a copyright notice embedded therein.
- 10. The method of claim 1, wherein the f3DES hardware is operated in output feedback mode.
- 11. The method of claim 1, wherein the f3DES hardware is operated in dual counter mode.
- 12. A computer-readable medium incorporating one or more instructions for generating pseudo-random numbers, the instructions comprising:
one or more instructions for loading a current seed value Sj from a non-volatile storage; one or more instructions for loading a value, E, representative of environmental randomness; one or more instructions for loading a value, C, representative of configuration data; one or more instructions for generating a new seed value, Sj+1, in accordance with the following equation:Sj+1=f (Sj; A; C; E),wherein f represents a selected encryption algorithm, and B is a second constant, and wherein Sj is concatenated with A, which is concatenated with C which is concatenated with E; one or more instructions for writing the new seed value Sj+1 to the non-volatile storage; one or more instructions for generating a key, K, in accordance with the following equation:K=f (Sj; B; C; E),wherein B is a second constant; and one or more instructions for generating a pseudo-random number output, Pn, in accordance with the following equation:Pn=f3DES(K, Pn-1),wherein f3DES represents the operation of triple DES encryption hardware, and Pn-1 is the previously generated pseudo-random number.
- 13. The computer-readable medium of claim 12, wherein the function f comprises the FIPS 180 secure hash standard algorithm (SHA).
- 14. The computer-readable medium of claim 12, wherein the value E includes at least 80 bits of entropy.
- 15. The computer-readable medium of claim 12, wherein the seed Sj is 160 bits in length.
- 16. The computer-readable medium of claim 12, wherein the seed Sj is 256 bits in length.
- 17. The computer-readable medium of claim 12, wherein the seed Sj is 512 bits in length.
- 18. The computer-readable medium of claim 12, wherein an initial value of P0 is 0.
- 19. The computer-readable medium of claim 12, further comprising one or more instructions for loading values for the first and second constants A and B from a protected ROM address.
- 20. The computer-readable medium of claim 19, wherein the first and second constants A and B further incorporate a copyright notice embedded therein.
- 21. The computer-readable medium of claim 12, wherein the f3DES hardware is operated in output feedback mode.
- 22. The computer-readable medium of claim 12, wherein the f3DES hardware is operated in dual counter mode.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present applications claims priority to co-pending United States Provisional Patent Application No. 60/393,733 entitled “System and Method for Generating Pseudo-Random Numbers, filed on Jul. 8, 2003, the entirety of which is incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60393733 |
Jul 2002 |
US |