Rip van Winkle cipher(*):
(proposed by J.Massey and I.Ingermarsson)
A section of a continuous random stream is used for encrypting a plain text. Subsequently the sender of the message delays this stream by a large period of time ΔT (up to 20 years). After reception of the cipher text, the receiver delays the cipher text for the same time interval ΔT, so that after this delay random stream and cipher text are again in synchrony and the cipher text can be decrypted. The delay ΔT represents the “key” and must be communicated only once. This is a fine method, if you want to know in secret, what happened 20 years ago.
Maurer’s Randomized Stream Cipher
(proposed by Ueli Maurer)
There are several (typically 100) very long public bit sequences (1020 bits). A section from each one is used for performing a sequence of x-ors on the plain text, each section being identified by its starting point ki within its bit sequence, i. The starting points ki are transmitted secretly to the receiver. This method does not eliminate the need for a secret line, it only reduces the traffic on this line, and it requires impractically large amounts of data to be handled.
Diffie’s Randomized Stream Cipher
(proposed by Whitfield Diffie)
In one out of 2n+1 transmission channels the cipher text is sent, the other channels transmit random sequences. One of them, number k, has been used for OPT-encryption. k is secretly transmitted to the receiver.
It is sufficient to make use of n channels, instead of 2n, if one forms a linear combination of the n sequences for OPT-encryption. The sender needs to communicate in secret, which combination has been chosen. Again, the OTP-decryption of a long text is made possible by the transmission of a small key, but as in the previous example, one must handle large amounts of data, and again a dedicated secret line is needed.
We think, that Rueppel’s improvement of Diffie’s Randomized Stream Cipher can be considered the historical predecessor of Isomorph cipher. In approximation, the n channels provide the n base vectors needed for spanning the vector space of all possible keys (this is an approximation in the sense, that in general Rueppels messages will not be linear independent, and will therefore not really form a base). What had not been considered yet is the fact, that it is not necessary to send a new base with each message, since all of these different bases create one and the same vector space. It is sufficient to send one base once and forever, as is done in Isomorph cipher.
(*) Quotations from Applied Cryptography, Bruce Schneier, Jon Wiley&Sons, 1996.