Cryptography Reference
In-Depth Information
4.3 Block ciphers
We now discuss block ciphers, which operate on blocks of plaintext bits. Block
ciphers are not better or worse than stream ciphers, they are just different. Block
ciphers are arguably one of the most versatile of all cryptographic primitives.
By the end of our study of the cryptographic toolkit, we will have seen them used
for many more purposes than the provision of confidentiality.
4.3.1 Model of a block cipher
The basic model of a block cipher is depicted in Figure 4.3. A block cipher takes
as input a plaintext block and a key, and outputs a ciphertext block. Normally the
block size is fixed, and the block of ciphertext produced by the block cipher is
usually the same length as the plaintext block.
The block size is not as critical to the security of a block cipher as the length of
the key, but there are some security issues relating directly to the block size:
• If the block size is too short then the number of different plaintext blocks that can
ever be encrypted may be uncomfortably small (if the block size is m then there
is a maximum of 2 m such plaintext blocks). If an attacker is able to discover the
plaintext blocks corresponding to some previously sent ciphertext blocks then,
as we discussed in Section 1.6.5, it is possible that an attacker could launch
a type of dictionary attack by building up a dictionary of plaintext/ciphertext
pairs sent using that encryption key. A larger block size makes this attack harder
because the dictionary needs to be larger.
• If the block size is too large then the block cipher becomes inefficient
to operate, particularly for short plaintexts that are shorter than the block
size. Such plaintexts will need to be padded before being encrypted (see
Section 4.3.2).
• It is preferable that the block size is a multiple of 8 (or even better 16, 32 or
64) for implementation purposes, since these are the most common word
lengths (the basic atomic units of information used by modern computer
processors).
encryption key
block of plaintext
block of ciphertext
Encryption
algorithm
Figure 4.3. Model of a block cipher
 
 
Search WWH ::




Custom Search