Cryptography Reference
In-Depth Information
• Block ciphers are often used in modes of operation that effectively convert
them into stream ciphers. The block cipher is used to generate a keystream,
which is then used to encrypt the data using a simple stream cipher. We will
discuss this in more detail in Section 4.6.
Nonetheless, this classification is widely adopted because the properties of
symmetric encryption algorithms with a 'small' block size vary significantly from
those with a 'large' block size. It is fairly safe to assume that if a symmetric
encryption algorithm is described as a block cipher then it is likely to have a block
size of at least 64 bits.
Note that we could, at least in theory, also apply this classification to public-key
encryption algorithms. The reason that we do not do this is because public-key
encryption algorithms tend not to process binary data directly. Rather, they:
1. first convert the binary data into a different mathematical number repre-
sentation, which typically requires several bits to be used for each plaintext
'number';
2. conduct the encryption processing on these 'numbers';
3. translate the resulting 'numbers' back into binary data.
We will see specific examples of this in Chapter 5. By operating in this manner, all
public-key encryption algorithms are essentially block ciphers. For this reason, the
terms stream cipher and block cipher are normally exclusively used with respect
to symmetric encryption algorithms.
4.2 Stream ciphers
We have already come across one important stream cipher in Section 3.1.3, the
VernamCipher. Recall that the VernamCipher is a one-time pad that operates on
binary strings. We call it a stream cipher because it operates bitwise, encrypting
each bit using the XOR operation.
We argued in Section 3.2.1 that the Vernam Cipher is not practical because it
suffers from onerous key management issues. Stream ciphers can be thought of
as attempts to 'simulate' the Vernam Cipher by using short keys to generate
longer one-time keys. By doing so we can achieve some of the desirable
properties of a one-time pad while mitigating some of the key management
problems.
4.2.1 Model of a stream cipher
A model of a simple stream cipher is illustrated in Figure 4.2. Encryption and
decryption in this simple stream cipher are both performed using the XOR
operation, exactly as for the Vernam Cipher. The significant difference between
 
 
Search WWH ::




Custom Search