Cryptography Reference
In-Depth Information
2.1 Introduction
2.1.1 Stream Ciphers vs. Block Ciphers
Symmetric cryptography is split into block ciphers and stream ciphers, which are
easy to distinguish. Figure 2.2 depicts the operational differences between stream
(Fig. 2.2a) and block (Fig. 2.2b) ciphers when we want to encrypt b bits at a time,
where b is the width of the block cipher.
(a)
(b)
Fig. 2.2 Principles of encrypting b bits with a stream (a) and a block (b) cipher
A description of the principles of the two types of symmetric ciphers follows.
Stream ciphers encrypt bits individually. This is achieved by adding a bit from
a key stream to a plaintext bit. There are synchronous stream ciphers where
the key stream depends only on the key, and asynchronous ones where the key
stream also depends on the ciphertext. If the dotted line in Fig. 2.3 is present,
the stream cipher is an asynchronous one. Most practical stream ciphers are syn-
chronous ones and Sect. 2.3 of this chapter will deal with them. An example of
an asynchronous stream cipher is the cipher feedback (CFB) mode introduced in
Sect. 5.1.4.
Fig. 2.3 Synchronous and asynchronous stream ciphers
Block ciphers encrypt an entire block of plaintext bits at a time with the same
key. This means that the encryption of any plaintext bit in a given block depends
on every other plaintext bit in the same block. In practice, the vast majority of
block ciphers either have a block length of 128 bits (16 bytes) such as the ad-
vanced encryption standard (AES), or a block length of 64 bits (8 bytes) such as
Search WWH ::




Custom Search