Feistel network definition
A Feistel network is a symmetric structure used in the construction of block ciphers. It is named after cryptographer Horst Feistel. Here’s how it works:
- 1.The input (the data to be encrypted or decrypted) is divided into two equal-sized halves. Let's call them the left half and the right half.
- 2.The core of the Feistel network is a function often called the Feistel function. It takes two inputs: a data block (half of the data) and a key (part of the encryption key) and produces an output that is mixed with the other half of the data.
- 3.The Feistel network applies this function in multiple rounds. In each round, the right half is passed through the Feistel function along with a round-specific key, and the output is then XORed with the left half.
- 4.After the XOR operation, the two halves are swapped. The right half becomes the new left half, and the XORed left half becomes the new right half.
- 5.This process is repeated for several rounds. The number of rounds can vary depending on the specific cipher's design. More rounds generally mean more security, but they also take more time.
- 6.After the final round, the two halves are combined to produce the final encrypted data block. To decrypt, the same process is applied in reverse, with the round keys used in the opposite order.
See also: triple DES, AES encryption, encryption key, 128-Bit encryption, 256-Bit encryption