Lecture
Feistel network (Feistel construction) is a type of block cipher with a particular iterative structure. Many modern algorithms use a Feistel network as their basis.
In 1973, Horst Feistel published an article in Scientific American titled “Cryptography and Computer Security” ( “Cryptography and Computer Privacy”), in which he revealed several important aspects of encryption and also introduced the construction later named the Feistel network. This scheme was used in IBM’s Lucifer project, on which Feistel and Don Coppersmith worked. This project was more experimental in nature, but it became the basis for DES. The algorithm’s iterative structure made it easier to implement in hardware.
encryption |
decryption |
,
where is some function, and
is the key for round
. The result of performing
rounds is
. But usually, in round
, the permutation
and
is not performed, which allows the same procedure to be used for decryption as well, simply by inverting the order in which the round key material is used:
,
Small changes make it possible to achieve full identity between the encryption and decryption procedures. One of the advantages of this model is that the algorithm can be applied regardless of the function , which can be of any complexity.
Suppose some information needs to be encrypted, represented in binary form (as a sequence of zeros and ones) and residing in the memory of a computer or other device (for example, in a file).
Encryption algorithm.
Decryption of information proceeds in the same way as encryption, with the sole exception that the keys follow in reverse order, that is, not from the first to the N-th, but from the N-th to the first.

With a large encryption block size (128 bits or more), implementing such a Feistel network on 32-bit architectures can cause difficulties, so modified variants of this construction are used. In ordinary situations, networks with 4 branches are used. The figure shows the most common modifications. There are also schemes in which the lengths of the halves and
do not match. These are called unbalanced .
Modifications of the Feistel network

type 1

type 2

type 3

Such ciphers use a classical or modified Feistel network as their basis:
Comments