Method and apparatus for generating encryption/decryption key
First Claim
1. A method for generating a key code from an identification number ID, said key having N bits, comprisinggenerating a first plurality of numbers, modulus A and a second plurality of numbers, modulus B, from ID, in accordance with a set of algorithms, wherein A and B are prime numbers with A greater than N-1;
- generating N values y(x), mod A, from a first polynomial having said first plurality of numbers as coefficients and x as a variable, wherein x is an integer from 0 to N-1;
generating a value z(y), mod B, from a second polynomial having said third, fourth and fifth numbers as coefficients and y as a variable, corresponding to each value of y(x)accessing a memory at addresses as determined as function of y,z corresponding to each value of x to retrieve data therein, and reordering said data as a function of the value of x to produce said key.
1 Assignment
0 Petitions
Accused Products
Abstract
An encryption/decryption key is generated from an identification number ID by first generating two sets of numbers from the identification number ID, based upon known expressions. The first set of numbers are employed as coefficients of a first polynomial to generate N first numbers for x=0, 1 . . . N-1 (N is the number of bits of the key) and a second number corresponding to each first number is generating employing the second set of numbers as coefficients and the generated first numbers as variables. The ordered pairs of first and second numbers generated correspond to addresses of a memory at which bits of the key are stored, the order of the bits being determined by the corresponding values of X. The expressions employ modular arithmetic using prime numbers as bases.
58 Citations
19 Claims
-
1. A method for generating a key code from an identification number ID, said key having N bits, comprising
generating a first plurality of numbers, modulus A and a second plurality of numbers, modulus B, from ID, in accordance with a set of algorithms, wherein A and B are prime numbers with A greater than N-1; -
generating N values y(x), mod A, from a first polynomial having said first plurality of numbers as coefficients and x as a variable, wherein x is an integer from 0 to N-1; generating a value z(y), mod B, from a second polynomial having said third, fourth and fifth numbers as coefficients and y as a variable, corresponding to each value of y(x) accessing a memory at addresses as determined as function of y,z corresponding to each value of x to retrieve data therein, and reordering said data as a function of the value of x to produce said key.
-
-
2. A device for generating a key code from an identification number ID, said key having N bits, comprising:
-
means for generating a first plurality of numbers, modulus A and a second plurality of numbers, modulus B, from ID, in accordance with a set of algorithms, wherein A and B are prime numbers, with A greater than N-1; means for generating N values y(x), mod A, from a first polynomial having said first plurality of numbers as coefficients and x as a variable, wherein x is an integer from 0 to N-1; means for generating a value z(y), mod B, from a second polynomial having said second plurality of numbers as coefficients and y as a variable, corresponding to each value of y(x), and; means for accessing a memory at addresses determined as a function of y,z corresponding to each value of x to retrieve data therein, and reordering said data as a function of the value of x to produce said key.
-
-
3. Means for generating corresponding keys at first and second stations from an identification number ID, said key having N bits, comprising:
-
means at each of said first and second stations for generating an identical first plurality of numbers, modulus A and an identical second plurality of numbers, modulus B, from ID, in accordance with a set of algorithms, wherein A and B are prime numbers, and A is greater than N-1; means at each station for generating identical N values y(x), mod A, from a first polynomial having said first plurality of numbers as coefficients and x as a variable, wherein x is an integer from 0 to N-1; means at each station for generating an identical value z(y), mod B, from a second polynomial having said second plurality of numbers as coefficients and y as a variable, corresponding to each value of y(x); and
,means at each station for accessing a memory at addresses determined as a function of y,z corresponding to each value of x to retrieve data therein, and reordering said data as a function of the value of x to produce said key.
-
-
4. A method for generating a key code having N elements and corresponding to a number, ID, comprising the steps of:
-
(a) generating a unique sequence of N memory addresses as a modular function of said number ID; and
,(b) accessing memory cells in accordance with said sequence of memory addresses and retrieving code elements stored therein; (c) whereby the resulting sequence of code elements constitutes said key code; and
wherein,(d) the number of said memory cells is substantially greater than N, and cells other than said accessed cells contain randomly selected code elements. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
12. Apparatus for generating key code having N elements and corresponding to a number, ID, comprising:
-
(a) means for generating a unique sequence of N memory addresses as a modular function of said number ID, and; (b) means for accessing memory cells in a memory in accordance wih said sequence of memory addresses and retrieving code elements stored therein; (c) whereby the resulting sequence of code elements constitutes said key codes; and
wherein,(d) the number of said memory cells is substantially greater than N, and cells other than said accessed cells contain randomly selected code elements. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification