Cryptographic method and apparatus for data communication and storage
First Claim
1. A method for encrypting plain-text D into cipher-text E, comprising the steps of:
- splitting the plain-text D into N data blocks, each of the same length;
randomly selecting a data string S of the same length as each of the data blocks;
selecting a key K of the same length as each of the data blocks;
producing a XORed data block by a first XOR-type operation;
producing a shuffled data block by a shuffling operation;
producing a cipher data block by a second XOR-type operation;
iterating the steps of producing a XORed data block, producing a shuffled data block and producing a cipher data block for each of the N data blocks; and
concatenating the cipher data blocks into the cipher-text E.
0 Assignments
0 Petitions
Accused Products
Abstract
The disclosed invention is a new cryptographic method which is fast and ideally suited for secure, high volume data communication and storage. The data is encrypted at the source using a private key and then transmitted to a destination over a secure or insecure channel. The destination can either be a local storage device or a non-local station. At the destination the data is decrypted using the same private key. The disclosed invention is a new method and apparatus for data encryption. The mathematical robustness and simplicity of this method brings a great improvement in security and speed as compared to previous block ciphers. The data block length or the key length can also be changed very easily and such changes do not require any significant redesigns in the components of the cipher. This is a significant advantage over previous block ciphers, where extensive modifications are needed if the key or the data block length is to be altered, if this is even feasible.
-
Citations
20 Claims
-
1. A method for encrypting plain-text D into cipher-text E, comprising the steps of:
-
splitting the plain-text D into N data blocks, each of the same length;
randomly selecting a data string S of the same length as each of the data blocks;
selecting a key K of the same length as each of the data blocks;
producing a XORed data block by a first XOR-type operation;
producing a shuffled data block by a shuffling operation;
producing a cipher data block by a second XOR-type operation;
iterating the steps of producing a XORed data block, producing a shuffled data block and producing a cipher data block for each of the N data blocks; and
concatenating the cipher data blocks into the cipher-text E. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for generating a pseudo-random number, comprising the steps of:
-
selecting a base string B;
randomly selecting a data string S of the same length as the base string B;
selecting a key K of the same length as the base string B;
producing a XORed string by a first XOR type operation;
producing a shuffled string by a shuffling operation; and
producing the pseudo-random number by a second XOR-type operation. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for determining a bit-period of key K, comprising the steps of:
-
selecting a data block;
selecting a key K of the same length as the data block;
choosing a particular bit of the data block to study;
producing a shuffled data block, wherein each X bit of the data block is placed in string F1 if each X bit of the key K is a zero and placed in string F2 if each X bit of the key K is one, and after placing all of the bits of the data block, the string F1 and the string F2 are concatenated to produce the shuffled data block;
using the shuffled data block as a new data block and repeating the producing step, until the particular bit returns to its original position, thus determining the bit-period of the particular bit.
-
-
14. A method for determining the shuffle period of key K, comprising the steps of:
-
selecting a data block;
selecting a key K of the same length as the data block;
choosing a particular bit of the data block to study;
producing a shuffled data block, wherein each X bit of the data block is placed in string F1 if each X bit of the key K is a zero and placed in string F2 if each X bit of the key K is one, and after placing all of the bits of the data block, the string F1 and the string F2 are concatenated to produce the shuffled data block;
using the shuffled data block as a new data block and repeating the producing step, until the shuffled data block is identical to the data block, thus determining the shuffle period of key K.
-
-
15. A cryptographic storage or communications system, comprising:
-
a communications channel;
encrypting logic for encrypting plain-text D into cipher-text E, wherein the encrypting logic;
splits the plain-text D into N data blocks, each of the same length;
takes or randomly selects a data string S of the same length as each of the data blocks;
takes or selects a key K of the same length as each of the data blocks;
produces a XORed data block by a first XOR-type operation;
produces a shuffled data block by a shuffling operation;
produces a cipher data block by a second XOR-type operation;
iterates the steps of producing a XORed data block, producing a shuffled data block and producing a cipher data block for each of the N data blocks; and
concatenates the cipher data blocks into the cipher-text E. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification