Method and system of encryption
OwnerRoss Filippiinventor
Life of this patent
Estimating the term…
Abstract
A method of data encryption comprising the steps of obtaining a plurality of sub-keys from a secure long key, and generating an encryption key from the sub-keys by (i) assigning a significance to each sub-key from most significant to least significant; (ii) using bit values obtained from a given position of each sub-key to determine a bit of the encryption key; (iii) rotating the bit values of the least significant sub-key; (iv) repeating steps (ii) and (iii) a predetermined number of times and then rotating a next most significant sub-key, and v) repeating steps (ii), (iii) and (iv) for one or more of the sub-keys in order of increasing significance. There is also disclosed a system for providing a pseudo random data stream used to encrypt an information stream.
Claims38
A method of data encryption comprising the steps of:
- obtaining a plurality of sub-keys from a secure long key;
- and
- generating an encryption key from the sub-keys by:
- i) assigning a significance to each sub-key from most significant to least significant;
- ii) using bit values obtained from a given position of each sub-key to determine a bit of the encryption key;
- iii) rotating the bit values of the least significant sub-key;
- iv) repeating steps ii) and iii) a predetermined number of times and then rotating a next most significant sub-key;
- and
- v) repeating steps ii), iii) and iv) for one or more of the sub-keys in order of increasing significance.
A method of data decryption comprising the steps of:
- obtaining a plurality of sub-keys from a secure long key;
- and
- generating a decryption key from the sub-keys by:
- i) assigning a significance to each sub-key from most significant to least significant;
- ii) using bit values obtained from a given position of each sub-key to determine a bit of the decryption key;
- iii) rotating the bit values of the least significant sub-key;
- iv) repeating steps ii) and iii) a predetermined number of times and then rotating a next most significant sub-key;
- and
- v) repeating steps ii), iii) and iv) for one or more of the sub-keys in order of increasing significance.
A method of data encryption comprising the steps of:
- obtaining a plurality of sub-keys from a secure long key;
- generating an encryption key from the sub-keys by;
- a) differentiating each sub-key from other sub-keys in said plurality of sub-keys;
- b) using bit values obtained from a given position of nominated sub-keys to determine a bit of the encryption key;
- c) rotating the bit values of one or more nominated sub-keys, and
- d) repeating steps b) and c) a predetermined number of times.
A method of data decryption comprising the steps of:
- obtaining a plurality of sub-keys from a secure long key;
- generating a decryption key from the sub-keys by;
- a) differentiating each sub-key from other sub-keys in said plurality of sub-keys;
- b) using bit values obtained from a given position of nominated sub-keys to determine a bit of the decryption key;
- c) rotating the bit values of one or more nominated sub-keys;
- and
- d) repeating steps b) and c) a predetermined number of times.
A system for providing a pseudo random data stream used to encrypt an information stream comprising:
- Engine means having a plurality of sub-keys for generating data values to form the pseudo random data stream;
- wherein data values derived from the pseudo random data stream operate on the sub-keys of the engine means to change the current data values within the sub-keys.
A system for providing a random data stream used to encrypt an information stream comprising:
- engine means having a plurality of sub-keys for generating data values to form the first pseudo random data stream;
- wherein data values derived from another pseudo random data stream operate on the sub-keys of the engine means to change the current data values within the sub-keys.
A system for providing a pseudo random output stream to encrypt an information stream comprising:
- one or more means for providing respective pseudo random data streams;
- selector means for receiving the respective pseudo random data streams;
- wherein the selector means selects data values from any one or more of the pseudo random data streams to form the pseudo random output data stream.
Dependencies are inferred from the claim text.