Symmetric cryptography relies on shared secret key to ensure message confidentiality, so that the unauthorized attackers cannot retrieve the message. The course describes substitution and transposition techniques, which were the bases for classical cryptography when the message is encoded in natural language such as English. Then, we build on product ciphers (using both substitution and transposition/permutation) to describe modern block ciphers and review the widely used cipher algorithms in DES, 3-DES, and AES. Lastly, we enable the use of block ciphers to support variable data length by introducing different modes of block cipher operations in ECB, CBC, CFB, OFB, and CTR modes.
This course is cross-listed and is a part of the two specializations, the Applied Cryptography specialization and the Introduction to Applied Cryptography specialization.
Classical Cipher: Substitution
This module defines substitution cipher technique and describes multiple examples for substitution-based classical algorithms: Caesar Cipher, Monoalphabetic Cipher, and Vigenere Cipher (which is a type of Polyalphabetic Cipher). We will also discuss the mathematical concepts in Modulo Operations to use them to describe the cipher algorithms.
Classical Cipher: Transposition
This module studies transposition cipher which, along with substitution cipher, provides a base technique for symmetric ciphers. We define transposition cipher and product cipher and discuss transposition examples in Rail Fence and Permutation Cipher.
Block Cipher and DES
This module is about modern ciphers based on product ciphers. We will first define block cipher and contrast it with stream cipher. We will then describe the ideal block cipher, which maximizes the number of transformations, and Feistel Cipher, which is a practical structure framework approximating the ideal block cipher. As a widely used cipher example based on the Feistel Cipher structure; we will study Data Encryption Standard (DES).
3-DES and AES
To provide stronger security than DES, modern symmetric ciphers can either use multiple ciphers or use an entirely different algorithm. This module reviews examples of each in Triple-DES and AES.
Block Cipher Operation Modes
Given a cipher and a key, this module reviews how to use block cipher operation modes when the data spans across multiple blocks. The module describes five popular operation modes: ECB, CBC, CFB, OFB, and CTR mode.