DES, or Data Encryption Standard, is a symmetric cryptosystem that uses a 64-bit block size and a 56-bit key for encryption. It operates as a 16-round Feistel cipher, where each round applies a series of operations to the input data based on the key.
Reason for Creation: The original DES with its 56-bit key was deemed vulnerable to modern technologies. To enhance security, Double DES and Triple DES were developed, using 112-bit and 168-bit keys, respectively.
Double DES:
- Process:
- Double DES encrypts a plaintext using two instances of DES with different keys.
- The 64-bit plaintext is input into the first DES instance, producing a middle text.
- The middle text is then encrypted using the second DES instance, resulting in the final ciphertext.
- Key Size Issue:
- Despite using a 112-bit key, Double DES only provides a security level of 2^56 due to the vulnerability to a meet-in-the-middle attack.
Triple DES:
- Process:
- Triple DES enhances security by using three stages of DES for encryption and decryption.
- Two versions exist: one with two keys and one with three keys.
- Triple DES with Two Keys:
- The first and third stages use the same key (K1), while the second stage uses a different key (K2).
- The middle stage employs a decryption cipher in the encryption site and vice versa.
- Triple DES with Three Keys:
- Encrypts the plaintext with three different keys (K1, K2, K3) in sequential stages.
- This version is used in PGP and S/MIME for added security.