Multiple DES
DES was susceptible to attacks due to tremendous advances in computer hardware. Since DES was a very competent algorithm it would be feasible to reuse DES rather than writing a new cryptographic algorithm.
Due to this variations of DES were introduced known as multiple DES which were as follows:
1.Double DES-
- Double DES is simple as it does that normal DES does. Double DES uses twp keys say K1 and K2. It first performs DES on the original plain text using K! to get the encrypted text. It again performs DES on the encrypted text but this time with the other key K2.
- The final output is the encryption of encrypted text with the original plain text encrypted twice with two different keys shown in figure below.
- The doubly encrypted cipher text block is first decrypted using the key K2 to produce singly encrypted cipher text. This cipher text block is then decrypted using the key K1 to obtain the original plain text block.
- Since the cryptanalysis for basic version of DES requires a search of 256 thus the assumption is double DES require 2128 keys which is not true.
- Meet-in-the-middle attack is the drawback of double DES. This attack involves encryption from one end, decryption from the other and matching the results in the middle hence the name.
2.Triple DES-
To improve the security of DES to a higher level triple DES was proposed. This uses three stages on DES for encryption and decryption. Two versions of triple DES are as follows:
i. Triple DES with Two Keys-
- In triple DES with two keys there are only two keys K1 used by first and third stage and K2 used in second stage. First the plain text is encrypted with key K1 then the output of step one is decrypted with K2 and final the output second step is encrypted again with key K1. Thus having $EK1(DK2(EK1(P)))$ shown below.
- This is also called as encrypt decrypt encrypt (ECE) mode. Triple DES with two keys is not susceptible to the meet-in-the-middle attack.
ii. Triple DES with Three Keys-
- The figure below shows the idea of Triple DES with three keys:
- The plain text block P is first encrypted with a key K1 then encrypts with a second key K2 and finally with a third key K3 where K1, K2 and K3 are all different from each other. Decryption is done in reverse order. This algorithm is mostly used in PGP and S/MIME.