Fiestel Cipher Structure - Brief Study
Fiestel Structure Image from the Wikipedia

Fiestel Cipher Structure - Brief Study

Cryptography?—?Symmetric Structure & Block Cipher

Abstract:

Fiestel Cipher builds the symmetric encryption algorithm and is also used in building the block cipher. This article aims to break down the tutorial, provide an in-depth understanding, and a step-by-step guide based on the YouTube video by Neso Academy, making the learning experience comprehensive and accessible. This study will serve as a transcript, breakdown, and in-depth exploration of the Fiestel Cipher Structure and foundational knowledge.

1. Introduction

The Feistel structure’s significance lies in its ability to enhance encryption security by incorporating confusion and diffusion techniques, which are crucial for obscuring data patterns and preventing unauthorized access. This article aims to provide an in-depth exploration of the Feistel cipher structure, drawing on a detailed tutorial from Neso Academy. By breaking down the encryption and decryption processes, examining the role of the ‘F’ function, and discussing design features such as key size and round operations.

2. Structure of Fiestel Structure

Figure of Fiestel Structure from the Neso Academy

3. Encryption and Round Operation:

This section describes the round operation that takes 64-bit input length plain text and divides it into two 32-bits and the input passes through the round operations (from round 1 to round 16 ) and finally the cipher text is produced.

3.1 Round 1 Operation:

  1. Original 64-bit plain text is split into two 32-bit length text
  2. The split two 32-bit length text are LE_o and RE_o.
  3. The RE_o is directly given to the LE_1.
  4. The REo is given to the function ‘F’ which performs some operation with the key K_1 and the output of the Function ‘F’ is again XORed with the LE_o and again its output is RE_1.
  5. LE_1 is the 32-bit and RE_1 is the 32-bit that makes it 64-bit length.
  6. In the Round 1 operation K_1 is used with the F so we call it round key for Round 1 operation.

Figure 1. Showing Round Operation 1 (from Neso Academy)

3.2 Round Operation 2

Same as the Round Operation 1 as shown in section 3.1 but it has a different key K_2 as the Round Key operation for Round 2. The input for this round operation 2 is the previous round’s output. Round 2 also provides the same two 32-bit length outputs. This continues till the Round 16

3.3 Round Operation 16

This is the last round operation 16. Here the output of the Round Operation 16 LE_17 and RE_17 are swapped again which are 32-bits length.

Fig Showing the Pre-Cipher text is swapped and final cipher text is obtained as LE17 and RE17 (from Neso Academy)

3.4. Summary of Encryption and Round Operation:

Every Round Operation has a different Key K_1, K_2, and so on. The output LE_16 and RE_16 are the pre-output and once it is swapped it becomes Cipher text LE_17 and RE_17.

Figure showing encryption and decryption (From Neso Academy)

4. Decryption

This section explains the decryption process in the first structure. Decryption is a simple reverse operation of the encryption process where the Round 1 Operation of the decryption uses K_16, round 2 takes K_15 and finally, round 16 takes K_1. The LD_16 and RD_16 are not the final output or plain text. The LD_16 and RD_16 again swapped and the final output RD_17 and LD_17 is the plain text.

Fig showing the Decryption Round operation with the key used (From Neso Academy)

5. What is the ‘F’ Function?

We expect confusion and diffusion properties to make it robust. We must key or supply the key generated by the Key Scheduling Algorithm for each round operation.

In the function ‘F’ in every round operation, there are 2 important operations that are responsible for the confusion and the diffusion. Confusion obscures the relationship between the key and ciphertext, while Diffusion spreads the influence of plaintext bits across the ciphertext to hide patterns.

The F is responsible for carrying out the permutation and the substitution activities so that the cipher text we are getting will have confusion and diffusion properties.

6. Fiestel Cipher Structure Design?Features


Fig Fiestel Cipher Structure Design?Features From Neso Academy

6.1 Block?Cipher

It is given block-sized input instead group of bits like in stream cipher. AES and DES use block cipher where 64 and 128-bit block sizes are used. Block size means how many bits can be encrypted and decrypted at a time by block-ciphering algorithms.

6.2 Key?Size

For n-round operations, we need n keys. The original key has the original size but the round key is the generated key size. What is the original key size? What is the round key size?

For greater security the bigger the key size, the better it is. But what about the speed of the encryption and the decryption? But at the same time, we must have robust keys, greater confusion and diffusion properties, and high security. So key size must be considered.

6.3 Number of Round Operations

More the round better the security. There are 16 rounds of operations for both encryption and decryption because it is a symmetric encryption. The same keys are used on both sides. The key sequence may not be exact in the encryption and the decryption.

6.4 Sub Key Generation Algorithm

Given the original key, this key generation algorithm must generate a sub-key using the original key called a round key having greater complexity for each round operation.

6.5 Round?Function

Round Function ‘F’ must perform computations and operations that increase the complexity, confusion, and diffusion properties in the plain text.

6.6 Faster Encryption/Decryption Algorithm

We are transferring the data so the faster encryption/decryption better it is. Lightweight and faster is more practical for real-world applications.

6.7 Ease of?Analysis

For cryptanalysis, the Fiestel structure must not be feasible or easy to analyze and understand. It must be designed more complex and hard to break and understand. The algorithm must be concise, correct, and easy to understand, update, and adapt the Fiestel structure for future use.

Fig Fiestel Structure Design Features(From Neso Academy)

7. Discussion and?Summary

# Feistel Network Encryption/Decryption Process written in mathematical forms.

7.1 Encryption Steps:

1. Let F be the round function and K_0, K_1,?…, K_n be the subkeys for rounds 0 through n.

2. Split the plaintext into two equal parts: L_0 (left) and R_0 (right).

3. For each round i (from 0 to n), perform: ?

L_(i+1) = R_i ?R_(i+1) = L_i ⊕ F(R_i, K_i) where ⊕ represents XOR.

4. After n rounds, the ciphertext becomes (R_(n+1), L_(n+1)).

7.2 Decryption Steps:

The decryption process is similar to encryption but with the subkeys applied in reverse order:

?R_i = L_(i+1) ?L_i = R_(i+1) ⊕ F(L_(i+1), K_i)

The ciphertext (R_(n+1), L_(n+1)) is transformed back to (L_0, R_0), which is the original plaintext.

7.3 Key?Points:

The only difference between encryption and decryption in a Feistel network is the order in which the subkeys are applied (reversed during decryption).

8. Conclusion:

The Feistel Cipher structure serves as the backbone for many modern cryptographic algorithms, ensuring secure communication through its innovative approach of repetitive round operations and key management. Its design not only enhances the confusion and diffusion properties necessary for robust encryption but also enables efficient decryption by simply reversing the round operations. Understanding Feistel’s design principles, round functions, and subkey generation highlights why it remains crucial for block cipher cryptography today. Through careful exploration of these concepts, learners can appreciate its importance in modern cryptography and its applications

8. References:

  1. Wikipedia
  2. Neso Academy YouTube Channel
  3. Feistel Cipher Structure (youtube.com)


Read More Articles on Dilli Hang Rai | LinkedIn

More About me: dilli822.github.io

Feedback & Review: [email protected], [email protected]


要查看或添加评论,请登录

Dilli Hang Rai的更多文章

社区洞察

其他会员也浏览了