IP Library Granted Patent US 7,634,523
Granted Patent B2
US 7,634,523 · App. 11/281,488 · Granted Dec 15, 2009

Random number generators

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 7,634,523
App. No.
11/281,488
Granted
Dec 15, 2009
Kind
B2
Abstract

A method and apparatus are provided for generating a parameter value to be used as a parameter for a random number generator. A random value is generated and the random value is mapped to a prime number. The parameter value is generated by multiplying the prime number by previously selected prime numbers. Each parameter value is then used as one of a plurality of parameters for the random number generator.

Claims (75)

1. A method of generating a parameter for a random-number generator, comprising:

(1) using a value to select a prime number;

(2) generating the parameter based on the selected prime number and a second prime number; and

(3) using the parameter in the random-number generator to generate a random number.

2. The method of claim 1 , wherein step 3 comprises:

using the parameter for a linear congruential random-number generator.

3. The method of claim 2 , further comprising:

(4) passing an output of the linear congruential random-number generator through a block encryptor.

4. The method of claim 3 , further comprising:

(5) using an output of the random number generator to establish a pseudo-randomly selected network address that is used to transmit a digital computer message.

5. The method of claim 1 , further comprising:

(4) using an output of the random number generator to establish a pseudo-randomly selected network address that is used to transmit a digital computer message.

6. The method of claim 1 , wherein the second prime number comprises a previously selected prime number.

7. The method of claim 6 , wherein step (2) comprises generating the parameter by multiplying the selected prime number by the second prime number.

8. The method of claim 7 , further comprising repeating steps (1) through (2) a plurality of times while the parameter is less than a predetermined value, wherein the parameter generated during each iteration of steps (1) through (2) is a product of a most recently selected one of the selected prime numbers and previously selected prime numbers.

9. The method of claim 1 , wherein step (1) comprises mapping the generated value to the prime number based on a nonlinear distribution function.

10. The method of claim 1 , wherein act 1 comprises:

searching through an ordered table of entries, each of the entries including a prime number and a weight, a respective prime number from one of the entries being selected based on the parameter and a corresponding one of the weights.

11. The method of claim 1 , further comprising repeating steps (1)-(3) for a plurality of random number generators.

12. A method of generating a parameter for a random-number generator, comprising:

(1) using a first value to select a first prime number P;

(2) generating a second value;

(3) using the second value to select a number K such that PK is at most equal to a predetermined maximum number;

(4) generating the parameter as a function of PK; and

(5) using the parameter the random-number generator to generate a random number.

13. The method of claim 12 , further comprising:

(6) generating a third value;

(7) using the third value to select a second prime number;

(8) generating a second parameter by multiplying the selected second prime number by at least one previously selected prime number; and

(9) using the parameter and the second parameter as parameters for the random-number generator.

14. The method of claim 13 , wherein the random-number generator is a linear-congruential random-number generator.

15. The method of claim 14 , further comprising:

(10) passing an output of the linear congruential random-number generator through a block encryptor.

16. The method of claim 15 , further comprising:

(11) using an output of the linear congruential random-number generator to establish a pseudo-randomly selected network address that is used to transmit a digital computer message.

17. The method of claim 13 , further comprising repeating acts (6) through (8) a plurality of times while the second parameter is less than a predetermined value, wherein the second parameter generated during each iteration of acts (6) through (8) is a product of a most recently selected one of the selected prime numbers and previously selected prime numbers.

18. The method of claim 12 , wherein act 5 comprises:

using the parameter for a linear congruential random-number generator.

19. The method of claim 18 , further comprising:

(6) passing an output of the linear congruential random-number generator through a block encryptor.

20. The method of claim 19 , further comprising:

(7) using an output of the linear congruential random-number generator to establish a pseudo-randomly selected network address that is used to transmit a digital computer message.

21. The method of claim 12 , wherein act 1 comprises:

searching through an ordered table of entries, each of the entries including a prime number and a weight, a respective prime number from one of the entries being selected based on the first parameter and a corresponding one of the weights.

22. The method of claim 12 , wherein step (2) comprises generating a random value.

23. The method of claim 13 , wherein step (6) comprises generating a random value.

24. One or more computer readable media storing computer executable instructions for performing a method for generating a parameter for a random-number generator, the method comprising steps of:

mapping a random value to a prime number P; and

generating the parameter by multiplying the prime number P by at least one previously selected prime number.

25. The computer readable media of claim 24 , wherein the method further comprising passing the parameter to a linear congruential random-number generator to generate a random number as output.

26. The computer readable media of claim 25 , wherein the method further comprises the step of passing the output of the linear congruential random-number generator through a block encryptor.

27. The computer readable media of claim 24 , wherein the mapping step comprises searching through an ordered table of entries, each of the entries including a prime number and a weight, a respective prime number from one of the entries being selected based on the random value and a corresponding one of the weights.

28. One or more computer readable media storing computer executable instructions for performing a method for generating a parameter for a random-number generator, the method comprising steps of:

mapping a random value to a prime number P;

mapping a second random value to a number K such that PK is at most equal to a predetermined maximum number; and

generating a parameter as a function of PK.

29. The computer readable media of claim 28 , wherein the method further comprises the step of passing the parameter to a linear congruential random-number generator to generate a random number as output.

30. The computer readable media of claim 29 , wherein the method further comprises the step of passing the output of the linear congruential random-number generator through a block encryptor.

31. The computer readable media of claim 28 , wherein the first mapping step comprises searching through an ordered table of entries, each of the entries including a prime number and a weight, a respective prime number from one of the entries being selected based on the random value and a corresponding one of the weights.

32. A machine-readable medium having information including instructions for a processor recorded thereon, the instructions comprising:

(1) using a first random value to select a prime number;

(2) generating a parameter based on the selected prime number and a second prime number; and

(3) using the parameter in a random number generator to generate a second random value.

33. The machine-readable medium of claim 32 , wherein step 3 comprises:

using the parameter for a linear congruential random-number generator.

34. The machine-readable medium of claim 33 , further having instructions comprising:

(4) passing an output of the linear congruential random-number generator through a block encryptor.

35. The machine-readable medium of claim 34 , further having instructions comprising:

(5) using an output of the linear congruential random-number generator to establish a pseudo-randomly selected network address that is used to transmit a digital computer message.

36. The machine-readable medium of claim 32 further having instructions comprising:

(4) using an output of the random-number generator to establish a pseudo-randomly selected network address that is used to transmit a digital computer message.

37. The machine-readable medium of claim 36 , further having instructions comprising repeating steps (1) through (2) a plurality of times while the parameter is less than a predetermined value, wherein the parameter generated during each iteration of steps (1) through (2) is a product of a most recently selected one of the selected prime numbers and previously selected prime numbers.

38. The machine-readable medium of claim 32 , wherein act 1 comprises:

searching through an ordered table of entries, each of the entries including a prime number and a weight, a respective prime number from one of the entries being selected based on the random value and a corresponding one of the weights.

39. The machine-readable medium of claim 32 , wherein the second prime number comprises a previously selected prime number.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jan 17, 2020
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: LEIDOS, INC.
Reel/Frame 051632/0742 →
RELEASE OF SECURITY INTEREST Recorded Jan 17, 2020
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: LEIDOS, INC.
Reel/Frame 051632/0819 →
SECURITY INTEREST Recorded Aug 25, 2016
From: LEIDOS, INC.
To: CITIBANK, N.A.
Reel/Frame 039809/0801 →
SECURITY INTEREST Recorded Aug 25, 2016
From: LEIDOS, INC.
To: CITIBANK, N.A.
Reel/Frame 039818/0272 →
CHANGE OF NAME Recorded Apr 14, 2014
From: SCIENCE APPLICATIONS INTERNATIONAL CORPORATION
To: LEIDOS, INC.
Reel/Frame 032682/0555 →