Cryptography Reference
In-Depth Information
4.1.3 Stream Ciphers and Block Ciphers
Most current methods work by either one of these two principles:
Depending on some key, a 'wild' bit sequence is created and normally
used as a one-time pad, i.e., it is XORed with the plaintext. The method's
entire security lies in creating the bit sequence. For one thing, it has
to behave statistically perfectly; second, it must never be possible to
recover the entire sequence and certainly not the key from parts of it,
or it would be vulnerable to plaintext attacks. These methods are called
stream ciphers . As the name implies, they are well suited for online
encryption of message channels. The one-time pad can even be computed
in advance, if need be, to speed up the ciphering process in the event of
message bursts.
A stream cipher is also suitable for encrypting entire hard disks; more
about this in Section 7.4. Thanks to the XOR method, the same program
or device can be used both for decryption and encryption. This is another
aspect that gives XOR an advantage over other methods, such as bytewise
addition. RC4, A5, and SEAL are good examples of stream ciphers; see
also Chapter 5.
A method working by the second principle groups bits and encrypts them
jointly as a group. This is called a block cipher , and used by methods like
simple character substitutions, for example: they work with 8-bit blocks.
Polyalphabetic methods use larger blocks (according to the period length).
My fcrypt program (Section 3.7) works with 256-byte blocks. In general,
the bits of a block are linked in a complicated way, as we will see in our
discussion of the DES algorithm.
In fact, the best-known and most secure algorithms are block ciphers. They
have several advantages over stream ciphers:
Confusion and diffusion can be combined, while stream ciphers normally
use confusion only. So block ciphers can be more secure.
They must never reuse a key bit sequence (see Section 5.1.1; OFB Mode).
Block ciphers can be faster than stream ciphers.
You will find more information on how block ciphers are implemented in
Section 5.1. Examples are DES, IDEA, RC5, and AES.
Search WWH ::




Custom Search