# Symmetric-key encryption

§1.5 considers symmetric-key encryption. Public-key encryption is the topic of §1.8.

## Overview of block ciphers and stream ciphers

1.24 Definition Consider an encryption scheme consisting of the sets of encryption and decryption transformations *{E _{e}:* e €

*K)*and {Д*:

*d e*

*1*

*C},*respectively, where

*K.*is the key space. The encryption scheme is said to be

*symmetric-key*if for each associated encryp- tion/decryption key pair

^{-}(e,

*d),*it is computationally “easy” to determine

*d*knowing only e, and to determine e from

*d.*

Since e = *d* in most practical symmetric-key encryption schemes, the term symmetric- key becomes appropriate. Other terms used in the literature are *single-key*, *one-key,private- key?* and *conventional* encryption. Example 1.25 illustrates the idea of symmetric-key encryption.

1.25 Example *(symmetric-key encryption)* Let *А =* {А, В, C,... , X, Y, Z} be the English alphabet. Let *M* and *C* be the set of all strings of length five over *A.* The key e is chosen to be a permutation on *A.* To encrypt, an English message is broken up into groups each having five letters (with appropriate padding if the length of the message is not a multiple of five) and a permutation e is applied to each letter one at a time. To decrypt, the inverse permutation *d* = e^{-1} is applied to each letter of the ciphertext. For instance, suppose that the key e is chosen to be the permutation which maps each letter to the one which is three positions to its right, as shown below

-’Private key is a term also used in quite a different context (see §1.8). The term will be reserved for the latter usage in this book.

A message is encrypted to

□

A two-party communication using symmetric-key encryption can be described by the block diagram of Figure 1.7, which is Figure 1.6 with the addition of the secure (both con-

**Figure 1.7: ***Two-party communication using encryption, with a secure channel for key exchange. The deception key d can be efficiently computed from the enciyption key e.*

fidential and authentic) channel. One of the major issues with symmetric-key systems is to find an efficient method to agree upon and exchange keys securely. This problem is referred to as the *key distribution problem* (see Chapters 12 and 13).

It is assumed that all parties know the set of encryption/decryptiontransformations (i.e., they all know the enciyption scheme). As has been emphasized several times the only information which should be required to be kept secret is the key *d.* However, in symmetric-key enciyption, this means that the key e must also be kept secret, as *d* can be deduced from e. In Figure 1.7 the encryption key e is transported from one entity to the other with the understanding that both can construct the decryption key *d.*

There are two classes of symmetric-key encryption schemes which are commonly distinguished: *block ciphers* and *stream ciphers.*

1.26 Definition A *block cipher* is an enciyption scheme which breaks up the plaintext messages to be transmitted into strings (called *blocks)* of a fixed length *t* over an alphabet *A, *and encrypts one block at a time.

Most well-known symmetric-key enciyption techniques are block ciphers. A number of examples of these are given in Chapter 7. Two important classes of block ciphers are *substitution ciphers* and *transposition ciphers* (§1.5.2). Product ciphers (§1.5.3) combine these. Stream ciphers are considered in §1.5.4, while comments on the key space follow in §1.5.5.