3
$\begingroup$

As I'm going through the Feistel network in the DES algorithm.

While encryption uses a Feistel Network, the input block is divided into two halves left ($L$) and right half ($R$). In each round, the right half $R$ goes through unchanged. But the left part $L$ goes through an operation $F$.

I didn't understand why right halves is kept unchanged in a Feistel Network. Can anyone explain?

$\endgroup$
  • $\begingroup$ Possible duplicate of Feistel cipher structure See answer 4 $\endgroup$ – mat Aug 4 '17 at 15:17
  • 2
    $\begingroup$ I disagree with the duplicate mark. This question is more specific and so are the answers, including my own. $\endgroup$ – Meir Maor Aug 5 '17 at 3:46
  • $\begingroup$ @MeirMaor: Agreed. I've voted to reopen this question and, if it's reopened, will vote to close the other question as a duplicate of this one. $\endgroup$ – Ilmari Karonen Aug 6 '17 at 19:34
  • 1
    $\begingroup$ @IlmariKaronen Reopened… btw: please note that that other question is actually asking what the F function does, not why the right halves of a Feistel structure are kept unchanged. (Which is why I reopened this Q.) $\endgroup$ – e-sushi Aug 7 '17 at 1:37
  • $\begingroup$ Related: “Feistel-Network - why wire crossing? $\endgroup$ – e-sushi Aug 7 '17 at 1:56
2
$\begingroup$

If you examine the diagram for a Feistel Network, you will see the crossing of the wires which indicates the swapping of the blocks:

enter image description here

At the end of each round, the left and the right halves are swapped, such that the block that was previously the target block is now the source block, and the block that was previously the source is now the target.

Thus, despite the fact that the addition of the output of the PRF is only ever targeted at one side of the block, both halves are operated on over the course of multiple rounds.

$\endgroup$
  • $\begingroup$ Maybe this answer could mention that putting an F block on the way from R1 to L2 would not actually increase security (and would needlessly use Ks). $\endgroup$ – daniel Aug 8 '17 at 10:20
2
$\begingroup$

This structure allow us to make the process invertible. A Feistel structure creates a pseudo random permutation from a pseudo random function. We want someone with the key to be able to calculate it in reverse and get the plain text from the cipher text.

Also recall that the after two rounds both sides get scrambled and after many rounds they are thoroughly scrambled to make deciphering without the secret key rather difficult. DES is no longer considered secure but the Feistel structure is still used in other block ciphers.

$\endgroup$
1
$\begingroup$

The structure of the Feistel network allows one to use a Pseudorandom function which does not have to be invertible. Thus one is more flexible in designing $F$.

$\endgroup$

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.