0
11kviews
Explain working of DES detailing the Fiestel structure.
1 Answer
4
530views
  • DES is a symmetric-key block cipher published by National institute of Standards and technology (NIST)
  • The encryption process is made up of two permutations (p-boxes) and 16 Feistel rounds.
  • Initial permutation: Initially, we shuffle the bits as per as pre-defined table. This is a very basic level of encryption.
  • Fiestal Rounds: The Feistel rounds are the real encryption part in DES. A single fiestal round is shown below. Sixteen repetition of such rounds are done to achieve our goal.

enter image description here

  • It takes $L_{I-1}$ and $R_{I-1}$ from previous rounds as input. They are then passed through two cipher elements namely ‘mixer’ and ‘swapper’.
  • The output from swapper is $L_I$ and $R_I$ (32 buts each) and is passed on to the next round.

DES Function:

  • In figure 3, the function $(R_{I-1} , K_I)$ is known as DES function.
  • It applies a 48-bit key to the rightmost 32-bit $(R_{I-1})$ to produce a 32-bit output.

  • As seen from figure 4, initially the 32 bits input is passed to an expansion P-Box. As the name suggest, this element expands the RI-1 from 32 bits to 48 bits.

  • The P-Box works by grouping the 32-bits into 4 bits each and modifies it to block of 6-bits by using the closest bits of the adjacent blocks as the two extra new-bits. Refer Figure 5.

enter image description here

  • XOR (Whitener): After the expansion, the key (48) and RI-1 (now of 48-bits) are XORed together. (because for XOR we need both i/p of same size, we needed a P-box)
  • S-Box (Substitution Box): It takes as input 48-bits gives a 32-bit output. It’s over here that the actual mixing (confusion) happens.
  • A total of 8 S-boxes are present which get 6-bit chunks each from the 42-bit input and then produces a 4-bit output block.
  • S-Box rule: the S-box does the manipulations by following a pre-defined rule.
  • Consider fig. 6 below; Each S-box has 6-bit input. Each S-box block (out of total 8) has an S-box table associated with it.(fig 7)
  • The bit-1 and bit-6 of the 6-bits in a single S-box block is used to determine the row number (00Row 1, 10Row3)
  • The bits 2,3,4,5 are then used to determine the column number in the selected row.
  • The matrix value found at this location goes to become the output 4-bit vale for that single S-box block.
  • This, is how the data got substituted by cryptographic method.

enter image description here

Final P-box:

It does a shuffling of the data based on a pre-defined table. The input is 32-bits and output is also 32-bits.

Please log in to add an answer.