This presentation introduces Feistel encryption and decryption. It discusses the Feistel cipher structure which partitions the input block into two halves and processes them through multiple rounds of substitution and permutation. It shows diagrams of the Feistel encryption and decryption processes. It also covers the design features of Feistel networks such as block size, key size, number of rounds, and sub-key generation. Finally, it provides an example of the round function that performs a bitwise XOR of the left half and output of a function applied to the right half and sub-key.
4. FEISTEL CIPHER STRUCTURE
Horst Feistel devised the feistel cipher
based on concept of invertible product cipher
Partitions input block into two halves
process through multiple rounds which
perform a substitution on left data half
based on round function of right half & sub key
then have permutation swapping halves
Implements Shannon’s substitution-permutation network concept
5. FEISTEL CIPHER STRUCTURE
All rounds have the same structure
A substitution is performed on the left half of the data. This is
done by applying a round function to the right half of the data
followed by the XOR of the output of that function and the left
half of the data.
7. DIAGRAM OF FEISTEL ENCRYPTION AND DECRYPTION
FIGURE-02: FEISTEL ENCRYPTION AND DECRYPTION
8. DESIGN FEATURES OF FEISTEL NETWORK
Block Size: Increasing size improves security but slow cipher.
Key Size: Increasing size improves security, makes exhaustive key
searching harder but may slow cipher.
Number of Rounds: Increasing number improves security but slow cipher.
Sub-key Generation: Greater complexity can make analysis harder but
slow cipher.
Round function: Greater complexity can make analysis harder but slow
cipher.
Decryption: Use the same algorithm with reversed keys.
9. THE FUNCTION
Let L and R be the left most 4 bits and rightmost 4 bits of the 8 bits input
f(L, R)=(LF(R,SK),R)
Where SK is a sub key and the is bit-by-bit XOR function.
Ex: if the plaintext is (10111101) and F(1101,SK)=(1110) for some SK then
f(10111101)=(1011) (1110)=(0101)