Unit 3: Symmetric Encryption

3a. Explain the features of a symmetric encryption system

  • What is symmetric encryption?
  • What are some desirable features of a symmetric encryption system?
  • What are modes of operation?

The main component of any cryptosystem is the key. In a symmetric cryptosystem, both parties use the same key to encrypt and decrypt a message. Symmetric systems should be able to achieve confusion and diffusion, and you should be familiar with these definitions. Additionally, as symmetric systems can be used to encrypt and communicate large amounts of data, in practice, they tend to be very modular, easy to implement in hardware, and computationally fast.

You should also be familiar with modes of operation for encryption and decryption. One important implementation aspect of symmetric block ciphers is that it is generally not a good idea to use the electronic codebook mode of operation, where each block is encoded in the same way. More sophisticated techniques involve cipher block chaining or the counter mode of operation. These modes help to obscure any underlying relationships that run the risk of appearing in the ciphertext,

To review, see:


3b. Detail the concepts involving the Feistel cipher

  • What is a Feistel cipher?
  • How does the Feistel cipher achieve diffusion and confusion?
  • Why is the Feistel cipher invertible?

The Feistel cipher is a symmetric cipher consisting of rounds of a basic unit responsible for encrypting a message. This basic unit is a round function that achieves confusion and diffusion using substitution and transposition. A fundamental component of this cipher is a pseudo-random function that cannot be inverted.

The Feistel cipher has been used in various ciphers, such as the Data Encryption Standard (DES). The Data Encryption Standard (DES) is a standard developed that uses the Feistel cipher round approach.

A round function is a function that is applied at each round within the Feistel cipher. The Feistel cipher is an example of a modular symmetric system that is easy to implement and computationally fast. A pseudo-random function is a function that is not invertible and outputs a randomized version of its input bits. The Feistel cipher applies a pseudo-random function (which is not invertible), yet the round function is invertible, making it possible to decrypt using the same architecture as the encryption phase. The round function invertibility is due to the bitwise exclusive-or used in tandem with the left-right transpositions. You should be familiar with how the Feistel cipher can be inverted to decrypt a message.

To review, see:


3c. Explain AES and 3DES improvements over DES

  • What was a major flaw in the DES system?
  • How does 3DES improve upon DES?
  • How does AES improve upon AES?

DES became outdated by the mid-1990s, and a major flaw was the 56-bit key size. One important element of a good cryptosystem is a large key space and a brute force search space of size 256 would be considered to be quite small. Triple DES (3DES) applies DES three times and leads to the creation of a 168-bit key. Make sure you understand how 3DES applies DES to encrypt and decrypt a message, and also be clear on how to configure 3DES so that it is backward compatible with DES.

While the 3DES improvement was a sensible one, it was decided by the cryptographic community that a new approach to a symmetric encryption standard was in order. The Advanced Encryption Standard (AES) is a standard developed to improve DES because AES allows for larger key sizes, is more secure, and is more efficient. Make sure to understand how the number of rounds varies with the 128, 192, and 256-bit key sizes. Additionally, make sure to understand how substitution and transposition are integrated into AES.

To review, see:


Unit 3 Vocabulary

This vocabulary list includes terms you will need to know to successfully complete the final exam.

  • Advanced Encryption Standard (AES)
  • Data Encryption Standard (DES)
  • Feistel cipher
  • pseudo-random function
  • round function
  • symmetric cryptosystem
  • Triple DES (3DES)