next up previous contents
Next: CA-Cryptosystems: Generalities Up: Introduction Previous: Cryptology

Some Cryptosystems Based on Dynamical Systems

The following thoughts on how to produce an ideal practical encryption scheme must be natural as they have occurred independently to a number of students of dynamical systems: The future state of a (chaotic) dynamical system depends sensitively on its initial state. After enough time has elapsed the initial condition is forgotten. Yet, since the system is deterministic, the same trajectory will always be traced out from the same initial condition. Thus, if the key of the cryptosystem is the initial state of a publically known dynamical system, a collection of users who share a secret key can send secret messages to each other by combining these messages in some way with some part of the trajectory traced out by the secret initial state under the action of the dynamical system. Anyone who does not know secret initial state would not be able to recreate the trajectory and thus would not be able to disentangle it from the encrypted message.

At least two concrete proposals have been based on this idea, one using a continuous dynamical system, the other a discrete dynamical system.

The continuous dynamical system version is patented[1]. This system uses the logistic map as the underlying dynamical system. The key of the system is the parameter of the map and the initial state of the system. A thresholding scheme is used to convert the sequence of states resulting from iteration of the system to a sequence of 0-1 bits. These bits and then exclusive or'd (XOR'd) with the plaintext to produce a ciphertext. The receiver of the ciphertext, knowing the secret initial state and value of , can recover the plaintext by regenerating the bit string using the logistic map and XOR'ing it with the ciphertext.

The discrete dynamical system version of this idea[14] uses iteration of a cellular automaton (see section 2.1) to generate the bit string. The cellular automaton chosen, know as rule 30 (again see section 2.1), seems according to numerical evidence [15] to generate temporal sequences which have a high degree of randomness. As in the continuous dynamical system approach sketched above, the secret key is the initial state of the system, and a message can be encrypted and decrypted by combining it with the temporal sequences generated by the dynamical system using an XOR operation.

For our purposes here, it is not necessary to enter into the detailed cryptanalysis of these systems. The logistic-map cryptosystem has not, to the author's knowledge, been analysed in the literature. It should be evident that that sequences generated by the logistic map in the described way will not be truly random so that an appropriate statistical approach could bring out the key from sufficient known ciphertext. In addition the system is entirely vulnerable to chosen plaintext attack; consider the encryption of the string of all 0's. The CA-based system has been cryptanalyzed in detail [12]. The essential observation that is using a known-plaintext attack, the effective key space can be considerably reduced in size. The aspects of these system which should be retained are 1) the key is a state of the system, 2) the message is encrypted by combining it with an information stream generated by forward iteration of the system, and 3) the message is decrypted by combining the ciphertext with an information stream again generated by forward iteration of the system.

Consideration of inverse as well as forward iteration of dynamical systems opens up some new ways to use dynamical systems for encryption. One possibility, which again has occurred independently to a number of investigators, is to concentrate on reversible dynamical systems. Using a reversible dynamical system, a message can be encrypted by encoding it as a state of the system and then running the system forward in time some distance. The resulting state is the ciphertext. To decrypt the ciphertext, the system is inverse iterated the same number of time steps as were used in encryption, recovering the plaintext as a state of the system. Note the contrast with the systems considered above in which only forward iteration is used. In those systems, the key is a state of the system and the system is fixed. When forward and inverse iteration is used, the key is the dynamical system itself. The key operates directly on the message to encrypt and decrypt it, while in the previous systems the information generated by the dynamical system is combined indirectly, so to speak, externally, with the message information.

Let us briefly consider two systems which pursue this idea of using reversible dynamical systems, one by Guan[6], and one by Kari [10]. Each of these authors aims toward the production of public-key cryptosystems as opposed to the secret-key cryptosystems which are our main concern here. A public-key cryptosystem uses two keys, one key is used for encryption, the other for decryption. One key is held in private, the other rendered public. In the schemes of both Guan and Kari, the public key is a dynamical system inverse to the private key. Guan uses an inhomogeneous variant of cellular automata in which the rule which updates a site's value depends on the site. Kari, on the other hand, uses true, translationally invariant, cellular automata. The security of public-key cryptosystems depends on the difficulty of finding the private key given knowledge of the public key and/or chosen plain and ciphertext. Guan's system relies on the difficulty of inverting a complicated system of polynomial equations. Kari bases much of his reasoning on a result of his [11] which shows that even deciding whether a given cellular automaton in more than one dimension has an inverse is impossible. In general, the mathematical theory of cellular automata which is relevant to cryptology is more well-developed than the theory of irreversible cellular automata. In particular, one knows that if a cellular automaton has an inverse, that inverse is also a cellular automaton. Many practical problems remain, however, concerning how to choose good public-key/private-key pairs, how these should be applied to encrypt a message, etc.

Before embarking on a discussion of the cryptosystem which is the main subject of this article, we consider the system proposed by Habutsu et. al. [9]. This system, like those of Kari and Guan, uses both forward and inverse iteration of a dynamical system. The very significant difference here is that the dynamical system used by Habutsu et al. is irreversible. An irreversible system is one in which some states have none, or more than one, antecedent state. A very simple such map is the tent map. The (surjective) tent map is a map of the unit interval composed of two line segments, one beginning at (0,0) and running to (,1), the other beginning at (,1) and running to (1,0). The secret key of this system is the parameter which specifies the location of the peak of the tent. Under the tent map, all points but one have two preimages. Habutsu et al. use this fact to encrypt by 1) encoding a message as a state of the system, and 2) running the system backward in time by choosing one of the two preimages of this state at random. This process is repeated many times, resulting in a ciphertext. A receiver of the ciphertext who knows the secret key can decrypt the message by running the tent map forward in time the same number of iterations as were used in encryption. This interesting system has a number of practical problems, some linked to the linearity of the tent map which have been cryptanalytically exploited by Biham [2], some linked to the continuity of the map which can lead to round-off errors. These round-off error problems do not occur in the cellular automaton based system to which we now turn.



next up previous contents
Next: CA-Cryptosystems: Generalities Up: Introduction Previous: Cryptology



Howard A. Gutowitz
Fri May 12 06:16:18 MDT 1995