Decryption in DES is same as encryption, except that the subkeys are used in reverse order.
Strength of DES: DES Decryption
The Use of 56-Bit Keys
- DES has been developed from LUCIFER which used 128-bit keys.
- As a result, DES with only 56-bit key-length is considered insecure and devices have been proposed time and again showing that DES is no longer secure.
The Nature of the DES: DES Decryption
- The only non-linear part of DES is the S-Boxes, design of which was not made public.
- If someone is able to find the weakness in S-Box, then attack on DES is possible.
- Characteristics of the algorithm can be exploited as the algorithm is based on linear functions.
Algorithm Timing Attacks: DES Decryption
- In this type of attack, the attacker exploits the fact that an algorithm takes the different amount of time for different data.
A DES Example: DES Decryption
- Let see the example of DES and consider some of its implications. Although you are not expected to duplicate the example by hand, you will find it informative to study the hex patterns that occur from one step to the next.
- Result: Above table shows plain text, key, and ciphertext when we apply all the steps of DES we will get cipher text as shown.
- The Avalanche Effect: A desirable property of any encryption algorithm is that a small change in either the plaintext or the key should produce a significant change in ciphertext.
- In particular, a change in one bit of plaintext or one bit of the key should produce a change in many bits of the ciphertext. This is referred to as the avalanche effect.
- In DES 1 bit change in input will affect nearly 32 bit of output after all rounds.
Block Cipher Design Principles: DES Decryption
The followed criteria need to be taken into account when designing a block cipher:
Number of Rounds: The greater the number of rounds. The more difficult it is to perform cryptanalysis, even for a weak function. The number of rounds chosen so that efforts required to crypt analyze it becomes greater than a simple brute-force attack.
Design of Function F: F should be nonlinear and should satisfy strict avalanche criterion (SAC) and bit independence criterion (BIC).
S-Box Design: S-Box obviously should non-linear and should satisfy SAC, BIC, and Guaranteed Avalanche criteria. One more obvious characteristic of the S-box is its size. Larger S-Boxes provide good diffusion but also result in greater look-up tables. Hence, general size is 8 to 10.
Key Generation Algorithm: With any Feistel block cipher, the key used to generate one subkey for each round. In general, subkeys should be selected such that it should be deduced sub keys from one another or main key from the subkey.