Data Encryption Standard
Data Encryption Standard
Step :
1. Initial permutation
2. 16 Feistel round
3. Swapping/left right swap
4. Final permutation
Initial and Final Permutation
The initial and final permutations are straight Permutation
boxes (P-boxes) that are inverses of each other. They have no
cryptography significance in DES. The initial and final
permutations are shown as follows –
Round Function
The heart of this cipher is the DES function, f. The DES function
applies a 48-bit key to the rightmost 32 bits to produce a 32-bit
output.
Expansion Permutation Box − Since right input is 32-bit
and round key is a 48-bit, we first need to expand right input to
48 bits. Permutation logic is graphically depicted in the
following illustration –
Key Generation :
The algorithm implement 16 rounds of encryption and for each round,
a unique key is produced. Before transforming to the steps, it is
essential to understand that in plaintext the bits are labeled from 1 to
64 where 1 is the most significant bit and 64 is the least significant
bit. The process of generating keys are as follows −
The round key generator produce sixteen 48-bit keys out of a 56-
bit cipher key. The cipher key is provided as 64 bit key in which
8 extra bits are parity bits, which are discarded before the actual
key generation process begins.
The parity bit drop process drops the parity bits (bit 8, 16, 24,
32…64) from the 64-bit key and permutes the remaining bit
according to the pre-defined rules as display in the parity bit
drop table below.
These remaining 56 bits are generally used for key generation.
After the permutation, the keys are divided into two 28 bits
parts. Each part is changed left one or two bits is depend on the
rounds.
In round 1, 2, 9, and 16 shifting is one bit and in the other rounds
it is two bits. The two parts are integrate to build a 56 bit part.