Feistel cipher
The Feistel cipher is a structural design for constructing block ciphers that divides the data block into two halves and repeatedly applies a round function to one half using a subkey, then swaps the halves. Invented by IBM cryptographer Horst Feistel in the 1970s, this architecture underlies the Data Encryption Standard and many subsequent ciphers. The genius of the Feistel construction is its self-inverting property: encryption and decryption use the same operations in reverse order, which halves hardware requirements and simplifies implementation — a systems-level optimization that proved decisive when cryptographic hardware was expensive and scarce.
The round function itself need not be invertible, a relaxation that gives designers enormous freedom. But this freedom is also a vulnerability: weak round functions or insufficient rounds produce ciphers vulnerable to differential cryptanalysis and linear cryptanalysis. The Feistel structure is not a guarantee of security; it is a scaffold on which security can be built or neglected.