Basic cryptography, part 10. block ciphers
All of the cypher systems we have looked at so far have been single-key character cyphers. By this, we mean that the same key which is used to encrypt the plaintext into the ciphertext is used to recover the plaintext from the ciphertext, and the cypher operates on only one character at a time. In these discussions the plaintext character space is taken to be the ASCII character set, as is the ciphertext character space. The key space is not necessarily the ASCII character set, but is a function, such that p=D(C(p)), where p is the plaintext, C is the encryption algorithm and key, and D is the decryption algorithm and key. Clearly, D is the inverse operation of C.
As it happens, character cyphers, even with the spreading algorithms we have been investigating, are not the only way to go. There is a class of cyphers, referred to as "Block Cyphers", in which the encryption algorithm and key operate on groups of characters, not simply on single characters. While these cyphers do not fall to the statistical techniques of character cyphers, they do have their own weaknesses, and they are vulnerable in particular to known text (KTA) attacks, in which the cryptanalyst has some plaintext and the known corresponding cyphertext.
[ Read more ]