I know how Feistel Network works, but I want to know the exact definition of "Feistel Cipher" to solve several questions below:
question 1: Is it correct to say DES (Data Encryption Standard) is Feistel Cipher?
Opinion: I think the statement "DES uses Feistel Network" is correct. Also, since the encryption and decryption process is same, except key scheduling, somebody can say that DES is Feistel Cipher. But I think somebody else can say that DES is not a Feistel Cipher since DES has initial and final permutations.
question 2: Does "DES_Encrypt'(M,K1,K2) = DES_Encrypt(M,K1) xor K2" is also Feistel Cipher?
Opinion: I think the statement "The above modified DES uses Feistel structure" is correct. But, since the above modified scheme's encryption and decryption structure are not same, somebody can say that the above modified scheme is not Feistel Cipher.
There can be several options to solve this definitional problem:
- We call an encryption scheme a Feistel Cipher, if it uses Feistel Network;
- We call an encryption scheme a Feistel Cipher, if it only use Feistel Network;
- We call an encryption scheme a Feistel Cipher, if it uses Feistel Network and the encryption and decryption procedure is same, except the key scheduling process.
Which one is correct? Or, are there any other opinions?
I know that this problem is not that important, but I want to make it clear.