Related Concepts
Definition
One popular class of the modern iterative blockciphers is the Feistel ciphers (named so after Horst Feistel – cryptanalyst who worked with the IBM crypto group in the early 1970s). The round of a Feistel cipher uses the product of two involutions (a function G is called an involution if it is its own inverse: G(G(x)) = x) in order to achieve the very comfortable similarity of encryption and decryption processes.
Theory
Given an n-bit block, a Feistel round function divides it into two halves L (left) and R (right). Then some function F(R, k) is applied to the right half and the result is XORed with the left half (this is the first involution):
Here kis the round subkey produced by the key scheduling algorithm; it may vary from round to round. Then the halves are swapped (the second involution) and the process is repeated. Another convenience in this construction...