IP Library Granted Patent US 7,227,951
Granted Patent B2
US 7,227,951 · App. 10/267,463 · Granted Jun 5, 2007

Enhanced ANSI X9.17 pseudorandom number generators with forward 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 7,227,951
App. No.
10/267,463
Granted
Jun 5, 2007
Kind
B2
Abstract

Disclosed herein are apparatuses and methods for generating pseudorandom numbers by making the existing ANSI and FIPS PRNGs forward secure and eliminating the need for re-keying them. A forward secure ANSI PRNG is created which includes an enhanced block cipher that is non-invertible even if the key becomes known and a function of the block cipher used in the existing ANSI PRNG. Additionally, the forward secure ANSI PRNG includes an enhanced next state that allows previous states to remain secret even when the key and the current state become known. A forward secure FIPS PRNG is created which includes a computation of an enhanced next state that is noninvertible.

Claims (38)

1. A forward secure ANSI X9.17 pseudorandom number generator, comprising a processor which executes instructions for implementing a state machine having:

an iteration integer i, which takes on integer values that satisfy i>0;

a key K;

a current state As i−1 for each iteration integer i;

an enhanced keyed block cipher F′ K , wherein the enhanced block cipher F′ K is a function obtained by combining a block cipher F K with its input value;

an enhanced next state As′ i for each iteration integer I, given by As′ i =F′ K (As i−1 ); and

an enhanced pseudorandom number generator output Ay′ i for each iteration integer i, wherein the enhanced pseudorandom number generator output Ay′ i is a function of at least one auxiliary input t i , given by Ay′ i =F′ K (F′ K (t i ) ⊕As i−1 ).

2. A forward secure ANSI X9.17 pseudorandom number generator as in claim 1 , wherein the enhanced keyed block cipher F′ K is given by: F′ K (x)=F K (x)⊕x, for an input value x.

3. A forward secure ANSI X9.17 pseudorandom number generator, comprising a processor which executes instructions for implementing a state machine comprising:

a seed generating function ANSI;

a function operating on the seed generating function ANSI, and which returns a key K and an initial state As 0 ;

an iteration integer i, which takes on integer values that satisfy i>0;

an auxiliary input t i for each iteration integer t i ;

a current state As′ i−1 for each iteration integer i;

a seeded block cipher F K , wherein F K is keyed by the key K;

an enhanced keyed block cipher F′ K , wherein the enhanced seeded block cipher F′ K is keyed by the key K, given by F′ K (x)F K (x)⊕x, where x is an input value;

an enhanced next state As′ i for each iteration integer i, wherein As′ i is given by As′ i =F′ K (As i−1 )=F K (As i−1 )⊕As i−1 ; and

an enhanced pseudorandom generator output Ay′ i for each iteration integer i, wherein Ay′ i is is given by Ay′ i =F′ K (F K (t i )⊕As i−1 ).

4. A computer readable storage medium storing computer readable program code implementing a forward secure ANSI X9.17 pseudorandom number generator, the computer readable program code comprising instructions for implementing a state machine having:

an enhanced keyed block cipher F′ K , wherein the enhanced block cipher F′ K is a function obtained by combining a block cipher F K wit its input value;

data encoding an iteration integer i, which takes on integer values that satisfy i>0;

a current state As i−1 for each iteration integer i;

an enhanced next state As′ i for each iteration integer i, given by As′ i =F′ K (As i−1 ); and

an enhanced pseudorandom number generator output Ay′ i for each iteration integer i, wherein the enhanced pseudorandom number generator output Ay′ i is a function of an auxiliary input t i , given by Ay′ i =F′ K (F K (t i )⊕As i−1 .

5. A method for producing forward secure pseudorandom numbers by altering an ANSI X9.17 pseudorandom number generator, comprising:

defining an iteration integer i which takes on values satisfying i>0;

replacing a keyed block cipher F K with an enhanced keyed block cipher F′ K , wherein the enhanced keyed block cipher F′ K is a function obtained by combining a block cipher F′ K with its input value; and

using a current state As i−1 , calculating an enhanced next state As′ i , given by As′ i =F′ K (As i−1 ); and

defining an enhanced pseudorandom generator output Ay′ i and an auxiliary input t i for each iteration integer i, given by Ay′ i =F′ K (F K (t i )⊕As i−1 ).

6. A method for producing pseudorandom numbers as in claim 5 , further comprising: defining F′ K as F′ K (x)=F K (x)⊕x for an input value x.

7. A method for producing pseudorandom numbers by altering an ANSI X9.17 pseudorandom number generator, comprising:

defining an iteration integer, which takes integer values that satisfy i>1;

enabling an auxiliary input t i for each iteration integer i;

defining an enhanced keyed block cipher F′ K seeded with a key K, for an input x, which satisfy F′ K (x)=F K (x)⊕x;

replacing a keyed block cipher F K with the enhanced keyed block cipher F′ K , wherein the enhanced keyed block cipher F′ K is a function obtained by combining F K with its input value;

replacing a current state As i−1 with an enhanced current state As′ i−1 ;

replacing a next state As i with an enhanced next state As′ i , wherein As′ i is defined as a function of the keyed block cipher F K and the current state As i−1 for each iteration integer i in accordance with a relationship As′ i =F′ K (As i−1 )=F K (As i−1 )⊕As i−1 ; and

defining an enhanced pseudorandom generator output Ay′ i for each iteration integer i, wherein Ay′ i is defined in accordance with a relationship As′ i =F′ K (F K (t i )⊕As i−1 ).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2005
From: DOCOMO COMMUNICATIONS LABORATORIES USA, INC.
To: NTT DOCOMO INC.
Reel/Frame 017213/0760 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2002
From: DESAI, ANAD; HEVIA, ALEJANDRO; YIN, YIQUN
To: DOCOMO COMMUNICATIONS LABORATORIES USA INC.
Reel/Frame 013381/0764 →