+ 2
In feistel cipher network how does this function F(K,R) work? How can I use it in all each rounds?
Can someone help me with this function?
4 Réponses
+ 1
The XOR is a bitwise operation. The output of XOR for each pair of bits will be calculated based on these laws:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
For example:
101011
XOR 111011
-----------------------
010100
Now Suppose F as following:
F(K, R) = K + R (mod 2^32)
Note: mod 2^32 is necessary because we want to have 32-bit output.
1. First the 32-bit R_i and K_i goes into F, the output is calculated based on the definition of F. Let's say R'_i.
2. Then the value of (R'_i XOR L_i) must be calculated.
3. Finally the XORed value and R_i will be swaped.
+ 1
The F in feistel cipher could be "any" function. From simple XOR to very complex function. More important, F function doesn't need to be one-to-one (or reversible). DES cipher is just one implementation for F.
+ 1
Thank you a lot Mohammad Reza Sharif Khoras.
0
So then could you tell me one of the simple functions to be used for instance. Right side goes to function then the output of function XORs with left side. I don't have any understanding with function and XOR. I don't know what is happening in function and also in XOR?!