Stream and Block Ciphers
Stream and Block Ciphers
Stream and Block Ciphers
ciphers,.
3.60
3.4.1 Stream Ciphers
.,-
l
D = Ek3 (a)
Encryption algorithm
3.61
3.4.1 Continued
Example 3.30
Additive ciphers can be categorized as stream ciphers in which the
key stream is the repeated value of the key. In other words, the
key stream is considered as a predetermined stream of keys or
K = (k, k, ... , k). In this cipher, however, each character in the
ciphertext depends only on the corresponding character in the
plaintext, because the key stream is generated independently.
Example 3.31
The monoalphabetic substitution ciphers discussed in this chapter
are also stream ciphers. However, each value of the key stream in
this case is the mapping of the current plaintext character to the
corresponding ciphertext character in the mapping table.
3.62
3.4.1 Continued
Example 3.32
Vigenere ciphers are also stream ciphers according to the
definition. In this case, the key stream is a repetition of m values,
where m is the size of the keyword. In other words,
Exa1nple 3.33
We can establish a criterion to divide stream ciphers based on
their key streams. We can say that a stream cipher is a
monoalphabetic cipher if the value of ki does not depend on the
position of the plaintext character in the plaintext stream;
otherwise, the cipher is polyalphabetic.
3.63
3.4.1 Continued
Example 3.33 (Continued)
3.64
3.4.2 Stream Ciphers
p l a i n t ex t SO D DP V
K
. . . _ _ _ _ _ {D, P, V}
l
= EK {i, n, t} _ _ ____,
Encryption algorithm
3.65
3.4.2 Continued
Example 3.34
Playfair ciphers are block ciphers. The size of the block is m = 2.
Two characters are encrypted together.
Example 3.35
Hill ciphers are block ciphers. A block of plaintext, of size 2 or
more is encrypted together using a single key (a matrix). In these
ciphers, the value of each character in the ciphertext depends on
all the values of the characters in the plaintext. Although the key is
made of m x m values, it is considered as a single key.
Example 3.36
From the deC-mition of the block cipher, it is clear that every block
cipher is a polyalphabetic cipher because each character in a
ciphertext block depends on all characters in the plaintext block.
3.66
3.4.3 Combination
3.67