Method and apparatus for the generation and synchronization of cryptographic keys
First Claim
1. A method for generating encryption keys for a sequence of messages comprising the steps of:
- (a) determining a sequence of N different encryption keys;
(b) associating a value of a sequence variable Ti, with each of said messages; and
(c) selecting one of said N encryption keys as a function of said variable Ti for each of said messages and encrypting at least a portion of each of said messages in accordance with an encryption key derived in a predetermined manner from the corresponding one of said selected keys; and
wherein(d) said step of selecting one of said encryption keys produces results identical to the steps of;
(d1) storing a fixed master key K0 having C elements;
(d2) storing a permutation table, said table having C columns and N rows, the columns of said table sequentially corresponding to the element positions of key K0, the elements of said table consisting of numbers from 1 to C; and
(d3) selecting a row Ni of said table in accordance with said variable Ti ; and
(d4) scrambling key Ko to derive an encryption key K1, having C elements, by, for all of said elements of K1, setting the jth element of K1 equal to the yth element of K0, where y is the number at column j, row Ni of said permutation table, where j is an integral variable ranging from 1 to C.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for generating cryptographic keys for a postal manifest and for synchronizing cryptographic keys for transmitting postal data securely on a communication link is presented. The techniques for generating a key and for synchronizing keys use the same apparatus but use slightly different data to create a cryptographic key.
The postal data center maintains a unique set of data for each server station. Using this set of data along with a manifest sequence number (or communication transaction number) and the date, a cryptographic key is created. Each server station stores a fixed master key, KO, a permutation table, Pt, and ID, and GMT date. Using the manifest sequence number (or the communication transaction number) a row of the permutation table is altered and the master key KO is scrambled with the permutation table top get a new key K2. With K2, the date, server ID, and manifest sequence number (our communication transaction number) are encrypted. The result of this encryption yields another key K3. K3 is then used for encrypting the postal manifest or for communicating with a postal data center.
87 Citations
20 Claims
-
1. A method for generating encryption keys for a sequence of messages comprising the steps of:
-
(a) determining a sequence of N different encryption keys; (b) associating a value of a sequence variable Ti, with each of said messages; and (c) selecting one of said N encryption keys as a function of said variable Ti for each of said messages and encrypting at least a portion of each of said messages in accordance with an encryption key derived in a predetermined manner from the corresponding one of said selected keys; and
wherein(d) said step of selecting one of said encryption keys produces results identical to the steps of; (d1) storing a fixed master key K0 having C elements; (d2) storing a permutation table, said table having C columns and N rows, the columns of said table sequentially corresponding to the element positions of key K0, the elements of said table consisting of numbers from 1 to C; and (d3) selecting a row Ni of said table in accordance with said variable Ti ; and (d4) scrambling key Ko to derive an encryption key K1, having C elements, by, for all of said elements of K1, setting the jth element of K1 equal to the yth element of K0, where y is the number at column j, row Ni of said permutation table, where j is an integral variable ranging from 1 to C. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for synchronizing the generation of an encryption key K3 at first and second stations comprising the steps of:
-
(a) providing identical sequences of N different encryption keys at said first and second stations; (b) selecting a value for a variable Ti ; (c) selecting one of said N encryption keys in accordance with said selected value and a predetermined function of said variable Ti at each of said first and second stations to obtain encryption keys K1 and K'"'"'1 respectively; (d) encrypting a block of data D at said first station using an encryption key derived in a predetermined manner from said key K1 to generate a message V1 ; (e) providing the plain text of said block D at said second station; (f) transmitting said message Vi from said first station to said second station; (g) decrypting said message Vi using a key derived from said key K'"'"'1 in said predetermined manner to provide a block of data D; and
,(h) comparing said data D and data D'"'"' to verify synchronization at said second station. - View Dependent Claims (10, 11, 12, 13)
-
-
14. Apparatus for generating encryption keys for a sequence of messages comprising:
-
(a) means for determining a sequence of N different encryption keys; (b) means for associating a value of a sequence variable, Ti, with each of said messages; and (c) means for selecting one of said N encryption keys as a function of said variable Ti for each of said messages and encrypting at least a portion of each of said messages in accordance with an encryption key derived in a predetermined manner from the corresponding one of said selected keys;
said selecting means further comprising,(d) means for selecting one of said N encryption keys so as to produce results identical to the steps of; (d1) storing a fixed master key K0 ; (d2) storing a permutation table, said table having C columns and N rows, the columns of said table sequentially corresponding to the element positions of key K0, the elements of said table consisting of numbers from 1 to C and (d3) selecting a row Ni of said table in accordance with said variable Ti ; and (d4) scrambling key K0 to derive an encryption key K1, having C elements, by, for all elements of K1, setting the jth element of K1 equal to the yth element of K0, where y is the number at column j row Ni of said permutation table, where j is an integral variable ranging from 1 to C. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification