2
$\begingroup$

My understanding of an ideal block cipher is as follows:

For a block cipher with block size $n$, there are $2^n$ possible plaintexts. The number of possible keys (mappings) would then be $2^n!$.

The size of a single key would then be $2^n$ because you're choosing one full permutation from the set of all possible permutations.

EDIT: Now that I think about it some more, the key size would be the required number of bits to express the number of possible permutations. So for 24 permutations, that would be a 5-bit key size. For 40,320 permutations, that would be a 16-bit key size.

Is this correct?

$\endgroup$
3
  • $\begingroup$ @kelalaka Where I'm lost is how to properly calculate the key size in bits for an ideal block cipher given a particular block size. See edit. $\endgroup$
    – Bastien
    Jan 31, 2019 at 14:27
  • $\begingroup$ have a look at the first link and third . Actually, they contain your answers. $\endgroup$
    – kelalaka
    Jan 31, 2019 at 14:27
  • $\begingroup$ Note: here, the ideal is a vague term. The key size must be determined according to many aspects; the importance of the data, you want to keep it secure for 50 or 100 years? The computation power of the enemy. What if QC is ready. etc. $\endgroup$
    – kelalaka
    Jan 31, 2019 at 14:41

1 Answer 1

2
$\begingroup$

Ideally, each key $k$ select a permutation of all possible permutations $2^n!$ for a block cipher with block size $n$. So when we say 128-bit key we expect that they represent $2^{128}$ permutations from possible ones. Some keys might be very bad, maybe just inverting the plaintext or some acts as a counter, we don't know.

Your calculations are correct if the random selection has no collisions, i.e. there may be two keys that represent the same permutations. We don't expect this collision since $2^{128}$ is very small compared to $2^n!$.

In general, we don't talk about the number of permutations that the key-size represents. We talk about the provided security by key length in bits.

$\endgroup$

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.