What is feistel cipher? How it works in a cryptographic algorithm ?
Subject Computer and Network Security
NU Year Set: 4.(a) Marks: 2+5 Year: 2017

In cryptography, a Feistel cipher is a symmetric structure used in the construction of block ciphers, named after the German IBM cryptographer Horst Feistel; it is also commonly known as a Feistel network. A large set of block ciphers use the scheme, including the Data Encryption Standard.


Feistel ≠ DES but rather DES Feistel. This is important as that's what's confusing you. It's just that DES is extremely prominent in the literature so articles are drawn towards it. The following is two Feistel rounds (ostensibly just a single round as they have to be in LH and RH pairs):-


This is also important in that this is the super set. And being so, there is no particular architecture for either the function or the key schedule that generates the round keys. DES architecture is just what the designers thought up to create it. Similarly, Blowfish  Feistel, but you can come up with our own function and key schedule. I'm just a country boy and not a cryptographer, but as I understand it the overall security of a Feistel network will be proportional to the security of the key schedule times the security of function. Approximately, but you get the idea. It is possible to use anything from a strong hash function to simple compression techniques for function This will directly affect the security requirements for the key schedule.

It is interesting to note that whilst there are proven architectures for Feistel compression functions (and indeed native block ciphers like substitution and permutation), there are no equivalent standardised architectures for a key schedule. You can have anything, ranging from Blowfish's computationally expensive method, through AES' to the dodgy striping technique of RC4. The basic requirement of the key schedule (even more important than security) is that the key can be repetitively slotted into the main architecture at the correct bit width. Otherwise, it won't even begin to work.

There are of course certain fundamental requirements for both, and these are too extensive to list here. Now that you know the nature of these two fundamental components, you can do your own research.


Login to post your comment.