Data encrypting and decrypting apparatus and method
First Claim
Patent Images
1. A method of encrypting data including the following steps:
- (a) creating or selecting a master key;
(b) segmenting the data into data blocks of equal or variable lengths;
(c) for each data block selecting a sub-key of arbitrary starting position selected from a pre-defined set of arbitrary positions and of matched or unmatched length from the master key, said length being selected from a pre-defined set of arbitrary lengths; and
(d) encrypting each data block using its sub-key and an encryption algorithm.
0 Assignments
0 Petitions
Accused Products
Abstract
A crytography method of encrypting data is disclosed. The method provides for creating or selecting a master key. Thereafter, the data to be encrypted is segmented into data blocks of equal or variable lengths. For each data block a sub-key of an arbitrary starting position is selected from a pre-defined set of arbitrary positions and of matched or unmatched length from the master key, where the master key length is selected from a pre-defined set of arbitrary lengths. Having acquired the sub-key for each data block, each data block is encrypted using its sub-key and an encryption algorithm.
238 Citations
23 Claims
-
1. A method of encrypting data including the following steps:
-
(a) creating or selecting a master key;
(b) segmenting the data into data blocks of equal or variable lengths;
(c) for each data block selecting a sub-key of arbitrary starting position selected from a pre-defined set of arbitrary positions and of matched or unmatched length from the master key, said length being selected from a pre-defined set of arbitrary lengths; and
(d) encrypting each data block using its sub-key and an encryption algorithm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of encrypting data including the following steps:
-
(a) creating or selecting a master key;
(b) creating a seed which includes a pre-defined set of suitable algorithms;
(c) segmenting the data into data blocks of equal or variable lengths;
(d) for each data block selecting an encryption algorithm from said pre-defined set of suitable algorithms;
(e) encrypting each data block using its encryption algorithm. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method of communicating data in a secure manner from a message transmitter to a message receiver including the following steps:
-
(a) creating a seed which includes a set of arbitrary sub-key start positions, a set of arbitrary sub-key lengths, and a set of suitable encryption algorithms;
(b) communicating the seed to the message receiver over a secured channel;
(c) creating or selecting a master key;
(d) communicating the master key to the message receiver over a secured channel;
(e) dividing the data into data blocks of arbitrary length;
(f) for each data block, selecting from the seed a sub-key start position, a sub-key length, and an encryption algorithm;
(g) using the sub-key start position and length for each data block to derive from the master key a sub-key for that data block;
(h) encrypting each data block using that data block'"'"'s sub-key and encryption algorithm;
(i) transmitting each encrypted data block to the receiver together with a sub-key start position index number, sub-key length index number and encryption algorithm index number for each data block, enabling the receiver to derive the appropriate sub-key and encryption algorithm and thereby to decrypt the data block. - View Dependent Claims (17)
-
-
18. Apparatus for encrypting data including:
-
(a) a data block creating processor, which accepts a stream of data as its input, and outputs the data in the form of blocks;
(b) a random selector, which selects a sub-key start position and a sub-key length;
(c) a sub-key selector, which accepts as inputs a master key, the sub-key start position and sub-key length, and derives from these a sub-key;
(d) an encryption processor, which accepts as inputs a sub-key and a data block, and uses the sub-key to encrypt the data block according to an encryption algorithm. - View Dependent Claims (19, 20, 21)
-
-
22. Apparatus for communicating data in a secure manner from a message transmitter to a message receiver, including:
-
(a) a data block creating processor, which accepts a stream of data as its input, and outputs the data in the form of blocks;
(b) a random selector, which selects a sub-key start position, a sub-key length, and an encryption algorithm;
(c) a sub-key selector, which accepts as inputs a master key, the sub-key start position and sub-key length, and derives from these a sub-key;
(d) an encryption processor, which accepts as inputs a sub-key, an encryption algorithm and a data block, and uses the sub-key to encrypt the data block according to the encryption algorithm; and
(e) apparatus for transmitting each encrypted data block to the receiver together with a sub-key start position index number, sub-key length index number and encryption algorithm index number for each data block, enabling the receiver to derive the appropriate sub-key and encryption algorithm and thereby to decrypt the data block.
-
-
23. Apparatus for communicating data in a secure manner from a message transmitter to a message receiver, including:
-
(a) a data block creating processor, which accepts a stream of data as its input, and outputs the data in the form of blocks;
(b) a plurality of encryption processors, each embodying an encryption algorithm, and each of which accepts as inputs a sub-key and a data block, and uses the sub-key to encrypt the data block according to its algorithm;
(c) a random selector, which selects, for each data block, a sub-key start position, a sub-key length, and an encryption processor;
(d) a sub-key selector, which accepts as inputs a master key, the sub-key start position and sub-key length, and derives from these a sub-key;
apparatus for transmitting each encrypted data block to the receiver together with a sub-key start position index number, sub-key length index number and encryption algorithm index number for each data block, enabling the receiver to derive the appropriate sub-key and encryption algorithm and thereby to decrypt the data block.
-
Specification