Multiple Encryption and Triple DES
Given the potential vulnerability of DES to a brute-force attack, there has been considerable interest in finding an alternative. One approach is to design a completely new algorithm, of which AES is a prime example. Another alternative, which would preserve the existing investment in software and equipment, is to use multiple encryption with DES and multiple keys.
Double DES
The simplest form of multiple encryption has two encryption stages and two keys.(Figure 6.1a). Given a plaintext $P$ and two encryption keys $K_1$ and $K_2$, ciphertext $C$ is generated as
$$C=E(K_2,E(K_1,P))$$
Decryption requires that the keys be applied in reverse order:
$$C=D(K_1,D(K_2,C))$$
For DES, this scheme apparently involves a key length of $56 \times 2= 112 bits$, resulting in a dramatic increase in cryptographic strength. But we need to examine the algorithm more closely.
REDUCTION TO A SINGLE STAGE Suppose it were true for DES, for all 56-bit key values, that given any two keys $K_1$ and $K_2$, it would be possible to find a key $K_3$ such that
$$E(K_2, E(K_1, P)) = E(K_3, P)$$
If this were the case, then double encryption, and indeed any number of stages of multiple encryption with DES, would be useless because the result would be equivalent to a single encryption with a single 56-bit key.
MEET-IN-THE-MIDDLE ATTACK Thus, the use of double DES results in a mapping that is not equivalent to a single DES encryption. But there is a way to attack this scheme, one that does not depend on any particular property of DES but that will work against any block encryption cipher. The algorithm, known as a meet-in-the-middle attack, was first described by Diffie et al. It is based on the observation that, if we have
$$C = E(K_2, E(K_1, P))$$
$$X = E(K_1, P) = D(K_2, C)$$
Given a known pair,$ (P,C)$ , the attack proceeds as follows. First, encrypt $P$ for all $2^{56}$ possible values of $K_1$. Store these results in a table and then sort the table by the values of $X$. Next, decrypt $C$ using all $2^{56}$ possible values of $K_2$. As each decryption is produced, check the result against the table for a match. If a match occurs, then test the two resulting keys against a new known plaintext–ciphertext pair. If the two keys produce the correct ciphertext, accept them as the correct keys.
Triple DES with Two Keys
An obvious counter to the meet-in-the-middle attack is to use three stages of encryption with three different keys.This raises the cost of the meet-in-the-middle attack to $2^{112}$, which is beyond what is practical now and far into the future.However, it has the drawback of requiring a key length $56 \times 3 = 168$ bits, which may be somewhat unwieldy.
As an alternative, Tuchman proposed a triple encryption method that uses only two keys. The function follows an encrypt-decrypt-encrypt (EDE) sequence (Figure 6.1b):
$$C = E(K_1, D(K_2, E(K_1, P)))$$
$$P = D(K_1, E(K_2, D(K_1, C)))$$
There is no cryptographic significance to the use of decryption for the second stage. Its only advantage is that it allows users of 3DES to decrypt data encrypted by users of the older single DES:
$$C = E(K_1, D(K_1, E(K_1, P))) = E(K_1, P)$$
$$P = D(K_1, E(K_1, D(K_1, C))) = D(K_1, C)$$
3DES with two keys is a relatively popular alternative to DES and has been adopted for use in the key management standards ANS X9.17 and ISO 8732.1.
Currently, there are no practical cryptanalytic attacks on 3DES. Coppersmith notes that the cost of a brute-force key search on 3DES is on the order of $2^{112} = (5 \times 10 ^{33}$ and estimate that the cost of differential crypt analysis suffers an exponential growth, compared to single DES.
Triple DES with Three Keys
Although the attacks just described appear impractical, anyone using two-key 3DES may feel some concern.Thus, many researchers now feel that three-key 3DES is the preferred alternative.Three-key 3DES has an effective key length of 168 bits and is defined as
$$C = E(K_3, D(K_2, E(K_1, P)))$$
Backward compatibility with DES is provided by putting $K_3=K_2$ or $K_1=K_2$.
A number of Internet-based applications have adopted three-key 3DES, including PGP and S/MIME
Comments
Post a Comment