Part III
Symmetric Key Encryption

6 Classical Ciphers
 6.1 Caesar Cipher
 6.2 Monoalphabetic Ciphers
 6.3 Playfair Cipher
 6.4 Polyalphabetic Ciphers
 6.5 Vigenère Cipher
 6.6 Vernam Cipher
 6.7 One Time Pad
 6.8 Transposition Techniques
7 Encryption and Attacks
 7.1 Encryption Building Blocks
 7.2 Attacks on Encryption
 7.3 Block Cipher Design Principles
 7.4 Stream Cipher Design Principles
 7.5 Example: Brute Force on DES
 7.6 Example: Brute Force on AES
 7.7 Example: Meet-in-the-Middle Attack
 7.8 Example: Cryptanalysis on Triple-DES and AES
8 Data Encryption Standard
 8.1 Overview of the Data Encryption Standard (DES)
 8.2 Simplified-DES
 8.3 Details of DES
 8.4 DES in OpenSSL
 8.5 DES in Python
9 Advanced Encryption Standard
 9.1 Overview of AES
 9.2 Simplified-AES
 9.3 Simplified-AES Example
 9.4 AES in OpenSSL
 9.5 AES in Python
10 Pseudorandom Number Generators
11 Block Cipher Modes of Operation
 11.1 Block Ciphers with Multiple Blocks
 11.2 Electronic Code Book
 11.3 Cipher Block Chaining Mode
 11.4 Cipher Feedback Mode
 11.5 Output Feedback Mode
 11.6 Counter Mode
 11.7 XTS-AES