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
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:
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.
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.
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.
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
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.
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:
Read More Articles on Dilli Hang Rai | LinkedIn
More About me: dilli822.github.io
Feedback & Review: [email protected], [email protected]