8
$\begingroup$

Just to help form this question, this is a Feistel network:-

Feistel network

To me this looks like:-

bread

Why does the generic architecture have to have two halves? We already have asymmetry in some variants. As I understand it, the principal security comes from a secure permutation within the round function. All that happens outside of the round function is simple xor and swapping halves.

Could it have more than two halves then? Say five like the bread? Or perhaps it has to be an even number of plaits /halves, so say four? Or ten? Yes it would mean more rounds to ensure good mixing of halves and be secure, but that's doable. So for example, with six halves of 64 bits each, would you have a 384 bit cipher? Is there some intrinsic reason why this wouldn't work?

$\endgroup$
4
  • 1
    $\begingroup$ Clefia block cipher for example $\endgroup$ Mar 4, 2018 at 9:34
  • $\begingroup$ This guy has 3 thirds in the braid shape, i think two were sufficient for Mr Feistel, and anything more than 2 is a generalized Feistel network semanticscholar.org/paper/… $\endgroup$
    – daniel
    Mar 5, 2018 at 12:48
  • $\begingroup$ @daniel So you believe that it doesn't matter if the number of plaits is odd or even? $\endgroup$
    – Paul Uszak
    Mar 5, 2018 at 14:07
  • $\begingroup$ @PaulUszak I think it's like the number of wings on a plane, you can have 3, or 4, and it will still work, but 2 is the normal amount. Actually this analogy is bad, 2s the number that was picked and studied the most, other numbers might not be a good trade off for some reason I can't think of. $\endgroup$
    – daniel
    Mar 5, 2018 at 19:20

1 Answer 1

14
$\begingroup$

There are designs called generalised unbalanced feistel networks which do exactly this.

See the paper by Schneier and Kelsey here. The CAST cipher, an AES competition entry was an early example.

The article on cryptowiki gives a brief summary here

Here is an example:

enter image description here

$\endgroup$
3
  • $\begingroup$ I always thought that unbalanced only meant the split between one half and the other in terms of bit width. Thank you. $\endgroup$
    – Paul Uszak
    Mar 4, 2018 at 12:27
  • $\begingroup$ Not read your paper yet, but two things strike me. 1) Why two different round functions? 2) What's WK? $\endgroup$
    – Paul Uszak
    Mar 4, 2018 at 16:00
  • 1
    $\begingroup$ It is a whitening key, like in Rijndael. See crypto.stackexchange.com/questions/42632/… for more $\endgroup$
    – kodlu
    Mar 4, 2018 at 21:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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