Method and apparatus for generating a key stream
First Claim
1. A method of generating a key stream, the method being performed by a correspondent in a communication system, the correspondent including a counter i, an accumulator j, and a state information table S having state information stored in n entries therein, the method comprising:
- a) said correspondent using the counter i, the accumulator j, and the state information table S to;
i) randomly distribute entries of the state information table S by swapping pairs of entries; and
,ii) generate a pair of non-zero values a and b by, for each swapping pair, adding an entry to a and adding the other entry to b;
b) said correspondent initializing the counter i with a and said correspondent initializing the accumulator j with b;
c) said correspondent obtaining a constant odd value, c, greater than 1;
d) said correspondent combining with a current value for the accumulator j, state information identified by entry i in the state information table S to obtain a next value for the accumulator j;
e) said correspondent swapping in said state information table S said state information identified by entry i in the state information table S with state information identified by entry j in the state information table S using said next value for the accumulator j;
f) said correspondent combining the entry i state information with the entry j state information swapped in step d) to generate a combined value t;
g) said correspondent outputting state information identified by entry t in the state information table S as a byte of the key stream; and
h) said correspondent combining said odd value c with the current value for the counter i to generate a next value for said counter i;
wherein said correspondent repeats steps d) to h) to produce each byte of the key stream.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of generating a key stream for a precomputed state information table. The method comprises initializing a counter and an accumulator with non-zero values; combining state information identified by the counter with the accumulator; swapping state information identified by the counter with state information identified by the accumulator; combining the two pieces of state information; outputting the state information identified by the combination as a byte of the key stream; adding a predetermined number odd number to the counter; and repeating the above steps to produce each byte of the key stream.
-
Citations
16 Claims
-
1. A method of generating a key stream, the method being performed by a correspondent in a communication system, the correspondent including a counter i, an accumulator j, and a state information table S having state information stored in n entries therein, the method comprising:
-
a) said correspondent using the counter i, the accumulator j, and the state information table S to; i) randomly distribute entries of the state information table S by swapping pairs of entries; and
,ii) generate a pair of non-zero values a and b by, for each swapping pair, adding an entry to a and adding the other entry to b; b) said correspondent initializing the counter i with a and said correspondent initializing the accumulator j with b; c) said correspondent obtaining a constant odd value, c, greater than 1; d) said correspondent combining with a current value for the accumulator j, state information identified by entry i in the state information table S to obtain a next value for the accumulator j; e) said correspondent swapping in said state information table S said state information identified by entry i in the state information table S with state information identified by entry j in the state information table S using said next value for the accumulator j; f) said correspondent combining the entry i state information with the entry j state information swapped in step d) to generate a combined value t; g) said correspondent outputting state information identified by entry t in the state information table S as a byte of the key stream; and h) said correspondent combining said odd value c with the current value for the counter i to generate a next value for said counter i; wherein said correspondent repeats steps d) to h) to produce each byte of the key stream. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A correspondent having a key stream generator for generating a key stream, the key stream generator comprising a counter i an accumulator j, and a state information table S having state information stored in n entries therein, said correspondent being configured to perform steps comprising:
-
a) said correspondent using the counted, the accumulator j, and the state information table S to i) randomly distribute entries of the state information table S by swapping pairs of entries; and
,ii) generate a pair of non-zero values a and b by, for each swapping pair, adding an entry to a and adding the other entry to b; b) said correspondent initializing the counter i with a and said correspondent initializing the accumulator j with b; c) said correspondent obtaining a constant odd value, c, greater than 1; d) said correspondent combining with a current value for the accumulator j, state information identified by entry i in the state information table S to obtain a next value for the accumulator j; e) said correspondent swapping in said state information table S said state information identified by entry i in the state information table S with state information identified by entry j in the state information table S using said next value for the accumulator j; f) said correspondent combining the entry i state information with the entry j state information swapped in step d) to generate a combined value t; g) said correspondent outputting state information identified by entry t in the state information table S as a byte of the key stream; and h) said correspondent combining said odd value c with the current value for the counter i to generate a next value for said counter i; wherein said correspondent is configured to repeat steps d) to h) to produce each byte of the key stream. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium having stored thereon computer readable instructions for performing a method of generating a key stream in a correspondent, the correspondent including a counter i an accumulator j, and a state information table S having state information stored in n entries therein, the computer readable instructions comprising instructions for:
-
a) said correspondent using the counter i, the accumulator j, and the state information table S to; i) randomly distribute entries of the state information table S by swapping pairs of entries; and
,ii) generate a pair of non-zero values a and b by, for each swapping pair, adding an entry to a and adding the other entry to b; b) said correspondent initializing the counter I with a and said correspondent initializing the accumulator j with b; c) said correspondent obtaining a constant odd value, c, greater than 1; d) said correspondent combining with a current value for the accumulator j, state information identified by entry i in the state information table S to obtain a next value for the accumulator; e) said correspondent swapping in said state information table S said state information identified by entry i in the state information table S with state information identified by entry j in the in the state information table S using said next value for the accumulator j; f) said correspondent combining the entry i state information with the entry j state information swapped in step d) to generate a combined value t; g) said correspondent outputting state information identified by entry t in the state information table S as a byte of the key stream; and h) said correspondent combining said odd value c with the current value for the counter i to generate a next value for said counter i; wherein said instructions further comprise instructions for said correspondent repeating steps d) to h) to produce each byte of the key stream. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A correspondent in a data communication system comprising:
-
a) a counter i; b) an accumulator j; c) a state information table S having state information stored in n entries therein; d) means for using the counter i the accumulator j, and the state information table S to; i) randomly distribute entries of the state information table S by swapping pairs of entries; ii) generate a pair of non-zero values a and b by, for each swapping pair, adding an entry to a and adding the other entry to b; and
,c) initialize the counter i with a and to initialize the accumulator j with b; e) means for combining with a current value for the accumulator j, state information identified by entry i in the state information table S to obtain a next value for the accumulator j; f) means for swapping in said state information table S said state information identified by entry i in the state information table S using said next value for the accumulator j; g) means for combining the entry i state information with the entry j state information to generate a combined value t; h) means for using state information identified by entry t in the state information table S as a byte of a key stream; and i) means for combining a constant odd value, c, greater than 1, with the current value for the counter i to generate a next value for said counter i; wherein said correspondent is configured to generate the key stream using elements a) to i).
-
Specification