-1
$\begingroup$

Suppose the F function of a 16 round Feistel cipher mapped every 16-bit input R, regardless of the value of the subkey K[r], to

0xFFFF

What is the result of running an encryption with this cipher?

$\endgroup$
  • $\begingroup$ Hint: What is the binary representation of 0xFFFF and what does this value do to any value it is XOR'ed into? $\endgroup$ – SEJPM May 1 '18 at 13:40
  • $\begingroup$ It represents 1, I guess! But I don't know how that can help.... :( $\endgroup$ – Jonny B May 1 '18 at 15:42
  • $\begingroup$ Just look at a general Feistel Network representation and do one part after another. Replace the general F function with what you described here. Similar question: crypto.stackexchange.com/questions/58364/… $\endgroup$ – Nova May 1 '18 at 16:31
0
$\begingroup$

The Feistel network, for short, does the following:

$R_i = f_i(R_{i-1}) \oplus L_i$

$L_i = R_{i-1}$

Since $f_i(x)$ always returns 0xFFFF (the same of $\{1\}^{16}$).

Making $\{1\}^{16} \oplus x$ where $x$ is 16 bit long, gives you the inverse of $x$, denoted here as $x^{-1}$.

That said you can rewrite the above formula as:

$R_i = L_i^{-1}$

$L_i = R_{i-1}$

Given an input divided into $R_0$ and $L_0$, for the first round you have:

$R_1 = L_0^{-1}$

$L_1 = R_0$

and for the second round:

$R_2 = R_0^{-1}$

$L_2 = L_0^{-1}$

the third:

$R_3 = L_0$

$L_3 = R_0^{-1}$

Now you can easily find a relation (and I leave that as an exercise for the reader) between $S_i$ and $S_{i-1}$ where $S = \{R, L\}$. $\square$

| improve this answer | |
$\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.