I was doing some cryptography exercises, one of which was an example of a feistel network. It said that the function $f_k$ was a permutation for all k but didn't explain why that makes a difference. So what is the importance of a function being a permutation in a feistel network?


I assume that you are referring to the round function. This is false. The whole advantage of a Feistel network is that $f_k$ does not need to be a permutation. Indeed in DES, it is not a permutation. In an substitution-permutation network it needs to be a permutation so that it can be inverted, but in Feistel inversion is possible in any case. Thus, you have more freedom in choosing $f_k$.

|improve this answer|||||
  • $\begingroup$ It's not important for $f_k$ to be a permutation in a feistel network. A feistel network is advantageous because you have the freedom to use a function that is not invertible since the Feistel network is invertible in any case. $\endgroup$ – Yehuda Lindell Nov 20 '16 at 15:36
  • $\begingroup$ You have it the opposite. A permutation is invertible. What makes something potentially more secure is having more freedom in choosing the round function. When it does not have to be a permutation there is more freedom. $\endgroup$ – Yehuda Lindell Nov 20 '16 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.