Traditional Block Cipher

Now, let's delve into the foundational principles of modern symmetric ciphers, centering our exploration on the widely adopted Data Encryption Standard (DES) and its key block cipher structure.

Figure 2.1 Block cipher.

Figure 2.1 Block cipher.

A block cipher is one in which a block of plaintext is treated as a whole and used to produce a ciphertext block of equal length. Typically, a block size of $64$ or $128$ bits is used.

<aside> <img src="/icons/map-pin_gray.svg" alt="/icons/map-pin_gray.svg" width="40px" /> If we consider a block cipher with a block size of $64$ bits, every $64$-bit chunk of plaintext is processed independently to produce a $64$-bit block of ciphertext.

</aside>

Now that we've established the fundamental concept of block ciphers, let's delve into a specific and widely employed structure known as the Feistel Cipher.

Feistel Cipher

The Feistel Cipher is a specific structure used in the design of block ciphers. It employs a symmetric key algorithm to encrypt and decrypt data in fixed-size blocks.

Figure 2.2 Feistel encryption and decryption (16 rounds).

Figure 2.2 Feistel encryption and decryption (16 rounds).

The core idea of a Feistel Cipher involves dividing the block into two halves and applying a series of functions in a repeated manner. This process iterates through multiple rounds, enhancing the overall security of the encryption. In the figure above:

All rounds have the same structure.

  1. A substitution is performed on the left half of the data. This is done by applying a round function $F$ to the right half of the data and then taking the exclusive-$\text{OR}$ of the output of that function and the left half of the data.
  2. Following this substitution, a permutation is performed that consists of the interchange of the two halves of the data.

This structure is a particular form of the substitution-permutation network (SPN). Now, having explored the foundational principles of symmetric block ciphers and delved into the design concepts of Feistel ciphers, we'll shift our focus to a new topic.

The Data Encryption Standard