2
$\begingroup$

In Feitsel Algorithim

If our block size is n, then our key length would be n x 2^n .

But this does not make sense for me. For example: Let's assume that we have 4 bit block size. If our block size is 4, how can the key length be 64 bit?

$\endgroup$
7
  • 1
    $\begingroup$ The key size is largely independent of the block size, this also holds for Feistel-ciphers. For example Twofish was a Feistel cipher and has 128bit block size and 128, 192 and 256 bit key size support. $\endgroup$ – SEJPM Oct 4 '16 at 18:58
  • $\begingroup$ okay, Let's assume that we have a 20 bits plain text and we want to encrypt it. Because of 4-bit block size we have 5 different blocks. We take the first block which is 4-bit and our key which is 64-bit. How can we use 64-bit key to encrypt 4 bit plain text( one block ) $\endgroup$ – eneski Oct 4 '16 at 19:06
  • $\begingroup$ you could use different parts of the key each round or combine certain key bits together for each round. $\endgroup$ – SEJPM Oct 4 '16 at 19:09
  • $\begingroup$ "If our block size is n, then our key length would be X 2^n ", according to this, if n is 4, then the key length is 2 ^ 4 (4 bits), not 2 ^ 64 (64 bits), right? I don't see where your 64 bit key comes from. $\endgroup$ – Ella Rose Oct 4 '16 at 19:11
  • $\begingroup$ @EllaRose yes, I am sorry I put the formula wrong, and I fixed it ( n times 2 the power of n) $\endgroup$ – eneski Oct 4 '16 at 19:12
1
$\begingroup$

You have some confusion here: The formula N * (2 ** N) for key size is for ideal block ciphers that select one of (2 ** N)! permutations. Shortly after that formula, your book starts to go into the Feistel construction (emphasis is mine):

The Feistel Cipher

Feistel proposed [FEIS73] that we can approximate the ideal block cipher by utilizing the concept of a product cipher, which is the execution of two or more simple ciphers in sequence in such a way that the final result or product is cryptographically stronger than any of the component ciphers. The essence of the approach is to develop a block cipher with a key length of k bits and a block length of n bits, allowing a total of 2 ^ K possible transformations, rather than the 2 ^ N! transformations available with the ideal block cipher

So the idea is to compromise on the huge key length and sacrifice the ability of picking one of all possible permutations, to utilize a smaller key that can select one of enough possible permutations. A cipher will typically use a key length that is equal to it's target block size, to simplify the key addition layer.

$\endgroup$
0

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.