9270455

CPU Assisted Seeding of a Random Number Generator in an Externally Provable Fashion

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
26 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of generating a seed for a random number generator, the method comprising: determining, by a processing device, a first input based upon at least one entropy source related to operation of the processing device; accessing, by the processing device, a secret input that is unique to the processing device, wherein the secret input comprises a number or a vector and is stored in a hardware-based non-transitory storage medium accessible only by the processing device; combining, by the processing device, the first input and the secret input via a secure cryptographic combining function, wherein the secure cryptographic combining function is stored in the hardware-based non-transitory storage medium accessible only by the processing device; determining, by the processing device, a seed for a random number generator based upon the combination of the first input and the secret input; verifying generation of the seed for the random number generator, wherein the verifying comprises: determining, by the processing device, a first test input, accessing, by the processing device, the secret input, combining, by the processing device, the first test input and the secret input multiple times via the secure cryptographic combining function to generate a plurality of test outputs, and determining, by the processing device, if the plurality of test outputs are identical; and outputting the seed for the random number generator.

2

2. The method of claim 1 , wherein the hardware-based non-transitory storage medium is an integrated memory component of the processing device.

3

3. The method of claim 1 , wherein the processing device is configured to access the secret input only when the processing device is requested to generate a random number.

4

4. The method of claim 1 , wherein determining the first input comprises combining the at least one entropy source with a nonce to generate the first input.

5

5. The method of claim 4 , wherein the at least one entropy source comprises at least one of a time stamp, a user input received over a period of time, network noise measured over a period of time, and communication noise collected from one or more device drivers.

6

6. The method of claim 1 , further comprising verifying the secret input is unique to the processing device, wherein the verifying comprises: determining a second test input; accessing, by the processing device, the secret input; combining, by the processing device, the second test input and the secret input via the secure cryptographic combining function to generate a first test output; accessing, by a second processing device, a second secret input; combining, by the second processing device, the second test input and the second secret input via the secure cryptographic combining function to generate a second test output; determining whether the first test output and the second test output are identical; and if the first test output and the second test output are identical, providing an indication that the secret input is not unique to the processing device.

7

7. The method of claim 1 , wherein the secure cryptographic combining function is a cryptographic hash function.

8

8. The method of claim 1 , wherein the first input and the secret input are 128 bits.

9

9. A system for generating a seed for a random number generator, the system comprising: a processing device; and a hardware-based non-transitory storage medium operably connected to the processing device and configured to store a set of instructions that, when executed, cause the processing device to: determine a first input based upon at least one entropy source related to operation of the processing device, access a secret input that is unique to the processing device, wherein the secret input comprises a number or a vector and is stored in a hardware-based non-transitory storage medium accessible only by the processing device, combine the first input and the secret input via a secure cryptographic combining function, wherein the secure cryptographic combining function is stored in the hardware-based non-transitory storage medium accessible only by the processing device, determine a seed for a random number generator based upon the combination of the first input and the secret input, and verify the generation of the seed for the random number generator, by: determining a first test input, accessing the secret input, combining the first test input and the secret input multiple times via the secure cryptographic combining function to generate a plurality of test outputs, and determining if the plurality of test outputs are identical, output the seed for the random number generator.

10

10. The system of claim 9 , wherein the hardware-based non-transitory storage medium is an integrated memory component of the processing device.

11

11. The system of claim 9 , wherein the processing device is configured to access the secret input only when the processing device is requested to generate a random number.

12

12. The system of claim 9 , wherein the instructions for causing the processing device to determine the first input comprises further instructions for causing the processing device to combine the at least one entropy source with a nonce to generate the first input.

13

13. The system of claim 12 , wherein the at least one entropy source comprises at least one of a time stamp, a user input received over a period of time, network noise measured over a period of time, and communication noise collected from one or more device drivers.

14

14. The system of claim 9 , further comprising instructions for causing the processing device to verify the secret input is unique to the processing device, wherein the instructions for verifying the secret input comprise instructions for causing the processing device to: determine a second test input; access the secret input; combine the second test input and the secret input via the secure cryptographic combining function to generate a first test output; access a second secret input; combine the second test input and the second secret input via the secure cryptographic combining function to generate a second test output; determine whether the first test output and the second test output are identical; and if the first test output and the second test output are identical, provide an indication that the secret input is not unique to the processing device.

15

15. The system of claim 9 , wherein the secure cryptographic combining function is a cryptographic hash function.

16

16. The system of claim 9 , wherein the first input and the secret input are 128 bits.

17

17. A method of generating a seed for a random number generator, the method comprising: determining, by a processing device, a first input based upon at least one entropy source related to operation of the processing device; accessing, by the processing device, a secret input that is unique to the processing device, wherein the secret input is a number or a vector stored in a hardware-based non-transitory storage medium accessible only by the processing device; verifying the secret input is unique to the processing device, wherein the verifying comprises: determining a first test input, accessing, by the processing device, the secret input, combining, by the processing device, the first test input and the secret input via the secure cryptographic combining function to generate a first test output, accessing, by a second processing device, a second secret input, combining, by the second processing device, the first test input and the second secret input via the secure cryptographic combining function to generate a second test output, determining whether the first test output and the second test output are identical, and if the first test output and the second test output are identical, providing an indication that the secret input is not unique to the processing device; combining, by the processing device, the first input and the secret input via a secure cryptographic combining function, wherein the secure cryptographic combining function is stored in the hardware-based non-transitory storage medium accessible only by the processing device; determining, by the processing device, a first output value based upon the combination of the first input and the secret input; and outputting the first output value as a seed for a random number generator.

18

18. The method of claim 17 , further comprising verifying the generation of the seed for the random number generator, wherein the verifying comprises: determining, by the processing device, a second test input; accessing, by the processing device, the secret input; combining, by the processing device, the second test input and the secret input multiple times via the secure cryptographic combining function to generated a plurality of test outputs; and determining, by the processing device, if the plurality of test outputs are identical.

19

19. The method of claim 17 , wherein the processing device is configured to access the secret input only when the processing device is requested to generate a random number.

20

20. The method of claim 17 , wherein determining the first input comprises combining the at least one entropy source with a nonce to generate the first input.

21

21. The method of claim 20 , wherein the at least one entropy source comprises at least one of a time stamp, a user input received over a period of time, network noise measured over a period of time, and communication noise collected from one or more device drivers.

22

22. A system for generating a seed for a random number generator, the system comprising: a processing device; and a hardware-based non-transitory storage medium operably connected to the processing device and configured to store a set of instructions that, when executed, cause the processing device to: determine a first input based upon at least one entropy source related to operation of the processing device, access a secret input that is unique to the processing device, wherein the secret input is a number or a vector stored in a hardware-based non-transitory storage medium accessible only by the processing device, verify the secret input is unique to the processing device, wherein the instructions for verifying the secret input comprise instructions for causing the processing device to: determine a first test input, access the secret input, combine the first test input and the secret input via the secure cryptographic combining function to generate a first test output, access a second secret input, combine the first test input and the second secret input via the secure cryptographic combining function to generate a second test output, determine whether the first test output and the second test output are identical, and if the first test output and the second test output are identical, provide an indication that the secret input is not unique to the processing device, combine the first input and the secret input via a secure cryptographic combining function, wherein the secure cryptographic combining function is stored in the hardware-based non-transitory storage medium accessible only by the processing device, determine a first output value based upon the combination of the first input and the secret input, and output the first output value as a seed for a random number generator.

23

23. The system of claim 22 , further comprising instructions for causing the processing device to verify the generation of the seed for the random number generator, wherein the instructions for verifying the generation of the seed comprise instructions for causing the processing device to: determine a second test input; access the secret input; combine the second test input and the secret input multiple times via the secure cryptographic combining function to generated a plurality of test outputs; and determine if the plurality of test outputs are identical.

24

24. The system of claim 22 , wherein the processing device is configured to access the secret input only when the processing device is requested to generate a random number.

25

25. The system of claim 22 , wherein the instructions for causing the processing device to determine the first input comprises further instructions for causing the processing device to combine the at least one entropy source with a nonce to generate the first input.

26

26. The system of claim 25 , wherein the at least one entropy source comprises at least one of a time stamp, a user input received over a period of time, network noise measured over a period of time, and communication noise collected from one or more device drivers.

Patent Metadata

Filing Date

Unknown

Publication Date

February 23, 2016

Inventors

Theodore Yue Tak Ts'o

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “CPU ASSISTED SEEDING OF A RANDOM NUMBER GENERATOR IN AN EXTERNALLY PROVABLE FASHION” (9270455). https://patentable.app/patents/9270455

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.