2

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?

kelalaka
  • 48,443
  • 11
  • 116
  • 196
Bastien
  • 511
  • 3
  • 11
  • @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. – Bastien Jan 31 '19 at 14:27
  • have a look at the first link and third . Actually, they contain your answers. – kelalaka Jan 31 '19 at 14:27
  • 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. – kelalaka Jan 31 '19 at 14:41

1 Answers1

2

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.

kelalaka
  • 48,443
  • 11
  • 116
  • 196