A Feistel network is a symmetric structure used in the construction of block ciphers, named after Horst Feistel who developed it. It’s characterized by dividing the input into two halves and processing one half at a time. The right half undergoes various transformations and is then XORed with the left half. The halves are swapped before next round.
Blowfish Cipher utilizes this network. Blowfish has 16 rounds where each round includes key-dependent permutation using S-boxes (a component for substitution) and a key- and data-dependent substitution. All these operations are based on exclusive ORs and additions on 32-bit words. The F-function splits the 32-bit input into four eight-bit quarters and uses the quarters as input to the S-boxes. The outputs are added modulo 2^32 and XORed to produce the final 32-bit output.