As the name suggests, block ciphers traffic in message blocks. These blocks have a size which is typically 64 bits or greater.
A block cipher encryption
function uses a key
map a n-bit plaintext
P into a n-bit ciphertext block
We can write this as
The decryption function reverses this mapping.
For this we can write
For this scheme to work,
ENCK must be a bijection, that is it must be
a permutation on the set of all n-bit messages,
K is an index into the set of all permutations of which there are
2n! which is
2(n-1)2n by Stirling's approximation.
If the key size is
k bits then we have
different keys and looking at the ratio of permutations to the
number of keys (
2(n-1)2n / 2k)
we see that we either want a really large key size
enable us to select from many possible permutations, or
we want a randomly chosen key
K to look like it chooses a random permutation to
make it seem like all permutations were equally likely.
L. R. Knudsen, M. J. B. Robshaw, The Block Cipher Companion. Springer, 2011.
A. Menzes, P. van Oorschot, and S. Vanstone, Handbook of Applied Cryptography. CRC Press, 1996.
Copyright © 2014 Barry Watson. All rights reserved.