Feistal ciphers are kind of a design model for block
ciphers. It works be repeatedly calculating cipher-text by applying round
function. The scheme is used by many block ciphers among which DES is popular
one.

Feistal cipher works by iterating over text that needs to be encrypted, and divides the test into two halves. One of the half of that text is given to the round function f which applies a sub-key to it. The other part of the text is stored while the round function is being processed. After round function is completed both the halves are XORed and are swapped. This is done iteratively until the last round in which the swapping is not done.

The decryption process is almost identical to the encryption process with the only difference being the sub-key process is reversed. That means the cipher-text that we got from encryption is processed same as before but with last sub-key applied first, second last applied second and so on. This is considered to be an advantage of Feistal cipher as the process of encryption and decryption remains structurally the same.

Following is a step-by-step representation of the algorithm:

- For each round:

a.
Divide the input into two halves

b.
Apply round function to right half

c.
Exclusive OR left half with right half

d.
Swap the left and right halves with each other
so that left half becomes right and right becomes left

**Advantages of Feistal cipher:**

- Simplicity
- Almost identical process of encryption and decryption

**Disadvantages of Feistal cipher:**

- Many rounds needed to increase security which results in more computational effort required

## Comments

## Post a Comment