Feistel Cipher



Feistel Cipher, given by Horst Feistel, belongs to a class of Product Cipher (A complex Cipher build by combining two or more ciphers).
Initially, a basic model of the Feistel cipher was introduced but later on, some shortcomings were found in this cipher. To overcome this shortcoming a final design was introduced.

1. Basic model.


In this structure, the plaintext is divided into two equal-length blocks: left (LP) and Right (RP). During Encryption the function (f) which accepts the key (K) is applied to the Right block of the plaintext. The resultant output is XOR-ed with the left part of the plaintext.

The Right part of the plaintext is remain unaltered while the left part is converted into the the ciphertext(LC).

That means Rp = RC.

The function F and the XOR operation are referred to as a mixer, which is self invertible in nature. And during Decryption the reverse process is followed.


2. Final Design of Feistel Cipher.


In the basic model of Feistel Cipher, the right block of the plaintext remains unaltered. Due to this, the generated ciphertext is vulnerable to attacks. To overcome these issues, the basic model was improved with certain enhancements:

a. The number of rounds was increased in the final design.

b. A new element known as swapper was added to each round. The role of swapper is to swap the right and left blocks in each round.

c. Two round keys(K1 and K2) are used during encryption and decryption.

Comments