Information Security

⌘K
  1. Home
  2. Docs
  3. Information Security
  4. Symmetric and Asymmetric ...
  5. Feistel Cipher Structure

Feistel Cipher Structure

A Feistel cipher Structure is a symmetric structure for constructing block ciphers where the plaintext is split into two halves, and then processed through multiple rounds of substitution and permutation using round keys derived from the main key.

Thank you for reading this post, don't forget to subscribe!
  • In each round, only one half of the data is modified using a round function, and then the halves are swapped.
  • It is named after Horst Feistel, one of the early pioneers in the field of cryptography.
  • The Feistel structure allows for the creation of a secure encryption algorithm even when the encryption and decryption functions are very similar or identical in logic.

Let’s say we have a plaintext input P, which we divide into two halves:

  • Left Half: L0
  • Right Half: R0

The cipher then proceeds through n rounds, and in each round i, the following steps are performed:

  • Li = Ri-1
    (Left half for current round becomes the right half of the previous round)
  • Ri = Li-1 XOR F(Ri-1, Ki)
    (Right half becomes the XOR of the previous left half and the round function F applied to the previous right half and the round key Ki)

Where:

  • F is a round function that performs operations like substitution, permutation, and mixing.
  • Ki is the subkey for round i, derived from the main key.

After the last round, the final two halves are concatenated (possibly after a swap depending on implementation) to form the ciphertext.

Decryption in Feistel Cipher:

  • Decryption uses the same structure as encryption, with the round keys applied in reverse order. This is a major advantage of Feistel ciphers—encryption and decryption processes are very similar, reducing implementation complexity.

Key Features of Feistel Cipher:

  • Symmetric Structure: Same algorithm for both encryption and decryption with different key order.
  • Multiple Rounds: Enhances confusion and diffusion, increasing security.
  • Flexible Function: The function F can be relatively simple; the overall structure still remains secure.
  • Block Cipher Basis: Used in famous block cipher algorithms like DES (Data Encryption Standard).

Example: DES (Data Encryption Standard)

The DES algorithm is the most famous example of a Feistel cipher. It:

  • Uses a 64-bit block size
  • Has 16 rounds of processing
  • Applies a complex round function involving expansion, XOR, substitution, and permutation

Advantages of Feistel Ciphers:

  • Enables secure and fast symmetric encryption
  • Allows the use of the same algorithm for encryption and decryption
  • Robust even when the round function is not invertible

How can we help?