IP Library Granted Patent US 8,843,539
Granted Patent B2
US 8,843,539 · App. 13/466,974 · Granted Sep 23, 2014

Generation of seed value for pseudo random number generator

Inventor: Eric Dey (Austin, TX)
Assignee: Caringo, Inc.
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 8,843,539
App. No.
13/466,974
Granted
Sep 23, 2014
Kind
B2
Abstract

Two or more numerical samples are read from a storage location (or many storage locations) and the samples are compared to generate a single bit of entropy. This method is repeated to populate two arrays which are also compared to generate a single bit. Comparison of the arrays is also repeated to generate a sequence of bits which are formed into computer words. The words are combined with a shift register to generate a seed block array of any length. The seed block array is used to seed a pseudo random number generator. The storage location is a register, accumulator, buffer, clock, address, memory location, etc., that changes periodically. Comparison may be performed by counting the number of certain types of bits in the two values and returning a one or zero depending upon the count.

Claims (53)

1. A method of generating a word of random bits in a computer, said method comprising:

reading a first value from a first storage location in a computer;

reading a second value from a second storage location and said computer;

comparing said first and second values to produce a single bit;

repeating said first, second and third steps to create a sequence of bits; and

forming said sequence of bits into said word of random bits.

2. The method as recited in claim 1 wherein said first storage location and said second storage location are the same location.

3. The method as recited in claim 1 wherein the values in said first storage location and in said second storage location periodically change.

4. The method as recited in claim 1 further comprising:

inputting said word of random bits as a seed value in a pseudo random number generator.

5. The method as recited in claim 4 further comprising:

generating a random number using said pseudo random number generator.

6. The method as recited in claim 1 further comprising:

comparing said first and second values by counting the number of certain types of bits in said first and second values.

7. The method as recited in claim 1 wherein the values in said first and second storage locations change on the order of a frequency of a clock in said computer.

8. The method as recited in claim 1 wherein the values in said first and second storage locations are derived from a clock of said computer.

9. The method as recited in claim 1 wherein the values in said first and second storage locations are derived from an input sensor of said computer.

10. The method as recited in claim 1 wherein said first storage location and said second storage location are the same location, wherein values in said first storage location periodically change, and wherein said first and second values are different.

11. A method of generating a block of words in a computer, said method comprising:

successively reading two values from a location in said computer that are different;

comparing said two values that are different and generating a single bit;

repeating said first and second steps to create a computer word of said single bits; and

repeating said first, second and third steps to create a plurality of computer words; and

outputting said plurality of computer words as said block of words.

12. The method as recited in claim 11 wherein the values in said location periodically change.

13. The method as recited in claim 11 further comprising:

inputting said block of words as a seed value in a pseudo random number generator.

14. The method as recited in claim 13 further comprising:

generating a random number using said pseudo random number generator.

15. The method as recited in claim 11 further comprising:

comparing said values by counting the number of certain types of bits in said values.

16. The method as recited in claim 11 wherein the values in said location change on the order of a frequency of a clock in said computer.

17. The method as recited in claim 11 wherein the values in said location are derived from a clock of said computer.

18. The method as recited in claim 11 wherein the values in said location are derived from an input sensor of said computer.

19. A method of generating a seed value, said method comprising:

reading a plurality of values from storage locations in said computer, each of said values being different from the other values;

comparing bits in said plurality of values that are different to generate a single bit;

repeating said reading and comparing to create a sequence of single bits;

forming a plurality of computer words using said sequence of single bits;

outputting said plurality of computer words as said seed value.

20. The method as recited in claim 19 wherein said storage locations are the same location.

21. The method as recited in claim 19 wherein said values periodically change.

22. The method as recited in claim 19 further comprising:

inputting said seed value into a pseudo random number generator.

23. The method as recited in claim 22 further comprising:

generating a random number using said pseudo random number generator.

24. The method as recited in claim 19 further comprising:

comparing said bits by counting the number of certain types of bits in said values.

25. The method as recited in claim 19 wherein said values change on the order of a frequency of a clock in said computer.

26. The method as recited in claim 19 wherein said values are derived from a clock of said computer.

27. The method as recited in claim 19 wherein said values are derived from an input sensor of said computer.

28. The method as recited in claim 19 wherein each of said values is read from one of said storage locations.

29. The method as recited in claim 19 wherein said storage locations are the same location, wherein values in said same storage location periodically change, and wherein said plurality of values are different.

Assignments (4)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: CARINGO, INC.
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 055607/0754 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2012
From: DEY, ERIC
To: CARINGO, INC.
Reel/Frame 028185/0112 →
Continuity (1)
Related Publication 20130304781A1 · Nov 14, 2013