Fiestel Cipher
- It is a design model from which many different block ciphers are divided.
- DES is an example.
- Cryptographic system based on Fiestel Cipherstructure uses the same algorithm for both encryption and decryption.
- Consists of multiple rounds of processing of the plaintext, each round consisting of a substitution step followed by a permutation step.
Encryption steps using a Fiestal Cipher
- Split the 64 bits of plaintext into left 32 bits $L_0$ and right 32 bits $R_0$
- Apply carefully designed mathematical function of that takes as i/p the key K & $R_0$ and computes o/p f($R_0$,K)
- XOR the o/p of the mathematical function with $L_0$, to compute a new 32 bit sequence X=$L_0\oplus f(R_0,K)$
- Let the new right 32 bits be X
- let the new left 32 bits $L_1$ be the previous right 32 bits $R_0$
- Repeat the process from step 2 to step 5 except using $R_1$ instead of $R_0$ & $L_1$ instead of $L_0$. This sequence of steps (steps 2 to 5) is known as a round of the block cipher. The function used is often referred to as the round function.
- Repeat step 6 for as many rounds as specified by the design algorithm. Once the last round (round m) is completed then the last left 32 bits $L_m$ are joined with the last right 32 bits $R_m$ to form the 64 bits of the Ciphertext, which is formed by concatenating $R_m$ & $L_m$ (in that order).