Cryptography Reference
In-Depth Information
the provision of other security services. We will see examples of this in later
chapters.
Since digital data consists of binary strings, we can think of a symmetric encryption
algorithm as a process for converting one binary string into another binary string.
A symmetric encryption algorithm must therefore:
1. take as input a sequence of plaintext bits;
2. perform a series of operations on these bits;
3. output a sequence of bits that forms the ciphertext.
We can rather crudely classify symmetric encryption algorithms as either being:
Stream ciphers , if the plaintext is processed one bit at a time. In other words, the
algorithm selects one bit of plaintext, performs a series of operations on it, and
then outputs one bit of ciphertext.
Block ciphers , if the plaintext is processed in blocks (groups) of bits at a time. In
other words, the algorithm selects a block of plaintext bits, performs a series of
operations on them, and then outputs a block of ciphertext bits. The number
of bits that are processed each time is normally a fixed number that is referred
to as the block size of the block cipher. For example, the symmetric encryption
algorithms DES and AES have block sizes of 64 and 128, respectively.
This rather simplistic classification is illustrated in Figure 4.1, where the block
cipher has an (artificially small) block size of 12. We say 'simplistic' because:
• Stream ciphers could be regarded as block ciphers with a block size of one.
• Some symmetric encryption algorithms that are generally referred to as stream
ciphers actually process data in bytes, and hence could be regarded as block
ciphers with a block size of eight.
Stream cipher
Block cipher
100110110100010111010010
100110110100010111010010
1
......
1
...... 0 ...... 0 ...... 0
100110110100
010111010010
E
E
E
E
E
E
E
110010011101
010010001001
1
......
1
...... 1 ...... 0 ...... 1
100010010101110011110011
110010011101010010001001
Figure 4.1. Stream ciphers versus block ciphers
 
Search WWH ::




Custom Search