Method and apparatus for encryption, decryption and authentication using dynamical systems
First Claim
1. A method for encrypting information comprising the steps of:
- establishing a plurality of dynamical systems to be used as keys for encryption;
selecting from said plurality of dynamical systems a plurality of current-key dynamical systems to be used as current keys for encryption;
choosing at least one of said current-key dynamical system, the chosen dynamical system being an irreversible dynamical system;
defining a current state of at least one of the current-key dynamical systems in correspondence with at least a portion of an information stream to be encrypted; and
applying said at least one of said current-key dynamical systems over a selected number of iteration cycles to produce from said current state a new state of said at least one of said current-key dynamical systems, said new state representing an encryption of the information.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus provide encryption, decryption and authentication of messages using dynamical systems. The method and apparatus preferably operate on an information stream which may comprise message information, authentication information, and random or pseudo-random information. The initial secret keys of the system are a collection of dynamical systems, at least one of which is irreversible. These keys operate on states of the dynamical systems into which the message has been encoded. To initialize the encryption, a subset of the secret keys are selected to be current keys, and the desired message is encoded into the initial states. Encryption continues over a plurality of cycles. During each cycle the current keys are applied either backward or forward in time to their current states, over a plurality of sub-cycles. If during an encryption cycle an irreversible dynamical system is iterated in the backward direction, the choice of antecedent states may either be made randomly or according to information from the input information stream. After all encryption cycles have been performed, the current states of the dynamical system constitute the ciphertext. The ciphertext may then be decrypted by a method similar to the encryption method. In the preferred embodiment, random noise is diffused into the plaintext during encryption, and eliminated during decryption. The apparatus of encryption and decryption in the preferred embodiment operates with parallel hardware using only bit operations and table lookup; it may thus be made to operate in an exceedingly fast manner.
-
Citations
44 Claims
-
1. A method for encrypting information comprising the steps of:
-
establishing a plurality of dynamical systems to be used as keys for encryption; selecting from said plurality of dynamical systems a plurality of current-key dynamical systems to be used as current keys for encryption; choosing at least one of said current-key dynamical system, the chosen dynamical system being an irreversible dynamical system; defining a current state of at least one of the current-key dynamical systems in correspondence with at least a portion of an information stream to be encrypted; and applying said at least one of said current-key dynamical systems over a selected number of iteration cycles to produce from said current state a new state of said at least one of said current-key dynamical systems, said new state representing an encryption of the information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18)
-
-
14. Apparatus for the encryption and decryption of a message comprising:
-
a first memory array for storing values; first data processing means connected to the first memory array, said first data processing means being operative for setting values into said first memory array in correspondence with a description for a selected dynamical system; a second memory array for storing a current state of the selected dynamical system along with other input information; and second data processing means connected to the first and second memory arrays for operating on data stored in said second memory array in accordance with the values in the first memory array to derive a new state of the selected dynamical system, one of said current and said new states corresponding to the message and the other of said current and said new states corresponding to an encryption of the message. - View Dependent Claims (15, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. Apparatus for the encryption and decryption of a message comprising:
-
a first memory array for storing values in a lookup table; first data processing means connected to the first memory array, said first data processing means being operative for setting values into said first memory array in correspondence with a rule table for a selected dynamical system; a second memory array for storing a current state of the selected dynamical system along with other input information; and second data processing means connected to the first and second memory arrays for operating on data stored in said second memory array in accordance with the values in the lookup table in the first memory array to derive a new state of the selected dynamical system, one of said current and said new states corresponding to the message and the other of said current and said new states corresponding to an encryption of the message.
-
-
29. A method for encrypting an information stream comprising the steps of:
-
establishing a plurality of dynamical systems to be used as keys for encryption; selecting from said plurality of dynamical systems a plurality of current-key dynamical systems to be used as current keys for encryption; choosing at least one of said current-key dynamical systems, the chosen dynamical system being an irreversible dynamical system; defining a current state of at least one of the current-key dynamical systems in correspondence with at least a portion of an information stream to be encrypted and in correspondence with dynamical information of said information stream; and applying said at least one of said current-key dynamical systems over a selected number of iteration cycles to produce from said current state a new state of said at least one of said current-key dynamical systems, said new state representing an encryption of the information stream. - View Dependent Claims (30)
-
-
31. Apparatus for encrypting and decrypting an information stream comprising:
-
a first memory array for storing values; first data processing means connected to the first memory array, said first data processing means being operative for setting values into said first memory array in correspondence with a description for a selected dynamical system; a second memory array for storing a current state of the selected dynamical system along with other input information;
said state and said other information comprising the information stream;distributor means for inputting said state and said other information; and second data processing means connected to the first and second memory arrays for operating on data stored in said second memory array in accordance with the values in the first memory array to derive a new state of the selected dynamical system, respective ones of said current and said new states corresponding to the information stream and an encryption of the information stream respectively; means for transmitting the encryption of the information stream; and means for receiving and decrypting the encryption of the information stream including a third memory array for storing values; third data processing means connected to the third memory array, said third data processing means being operative for setting values into said third memory array in correspondence with the description for the selected dynamical system; a fourth memory array for storing a current state of the selected dynamical system in correspondence with a received encryption of the information stream; fourth data processing means connected to the third and fourth memory arrays for operating on data stored in said fourth memory array in accordance with the values in the first memory array to derive a new state of the selected dynamical system, respective ones of said current and said new states corresponding to the information stream and an encryption of the information stream; and collator means for separating said state information and said other input information for completely decrypting the information stream.
-
-
32. A method for encrypting information comprising the steps of choosing a description of a dynamical system and a size of a periodic lattice upon which the described dynamical system will operate;
-
finding all temporal cycles of the described system operating on the chosen lattice and labeling the temporal cycles in accordance with an agreed upon rule;
at least one of said description, lattice size and labeling rule being kept secret between a sender and recipient;
selecting encoding rules in accordance with a distinguished configuration of the temporal cycles;choosing a particular configuration for encoding selected information; and selectively iterating the configuration in accordance with the chosen description in order to generate a ciphertext of the selected information. - View Dependent Claims (33, 34, 35)
-
-
36. A method for authenticating information comprising the steps of
encrypting a message using a first secret key shared between a sender and a recipient of the message; -
encrypting, using a second secret key shared between the sender and a third party, the message encrypted by said first secret key as well as other information; sending the encrypted message and other information to the third party for decryption of said other information and for separating therefrom the encrypted message encrypted by the first key; and transmitting the message encrypted by said first key from said first party to said recipient. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44)
-
Specification