Cryptography Reference
In-Depth Information
the data encryption standard (DES) or triple DES (3DES) algorithm. All of these
ciphers are introduced in later chapters.
This chapter gives an introduction to stream ciphers. Before we go into more
detail, it will be helpful to learn some useful facts about stream ciphers vs. block
ciphers:
1. In practice, in particular for encrypting computer communication on the Internet,
block ciphers are used more often than stream ciphers.
2. Because stream ciphers tend to be small and fast, they are particularly relevant
for applications with little computational resources, e.g., for cell phones or other
small embedded devices. A prominent example for a stream cipher is the A5/1
cipher, which is part of the GSM mobile phone standard and is used for voice
encryption. However, stream ciphers are sometimes also used for encrypting In-
ternet traffic, especially the stream cipher RC4.
3. Traditionally, it was assumed that stream ciphers tended to encrypt more effi-
ciently than block ciphers. Efficient for software-optimized stream ciphers means
that they need fewer processor instructions (or processor cycles) to encrypt one
bit of plaintext. For hardware-optimized stream ciphers, efficient means they need
fewer gates (or smaller chip area) than a block cipher for encrypting at the same
data rate. However, modern block ciphers such as AES are also very efficient in
software. Moreover, for hardware, there are also highly efficient block ciphers,
such as PRESENT, which are as efficient as very compact stream ciphers.
2.1.2 Encryption and Decryption with Stream Ciphers
As mentioned above, stream ciphers encrypt plaintext bits individually. The question
now is: How does encryption of an individual bit work? The answer is surprisingly
simple: Each bit x i is encrypted by adding a secret key stream bit s i modulo 2.
Definition 2.1.1 Stream Cipher Encryption and Decryption
The plaintext, the ciphertext and the key stream consist of individ-
ual bits,
i.e., x i , y i , s i ∈{
.
Encryption :y i = e s i ( x i )
0 , 1
}
x i + s i mod 2 .
Decryption :x i = d s i ( y i )
y i + s i mod 2 .
Since encryption and decryption functions are both simple additions modulo 2,
we can depict the basic operation of a stream cipher as shown in Fig. 2.4. Note that
we use a circle with an addition sign as the symbol for modulo 2 addition.
Just looking at the formulae, there are three points about the stream cipher en-
cryption and decryption function which we should clarify:
1. Encryption and decryption are the same functions!
Search WWH ::




Custom Search