1. Introduction to Cryptology
Basic Terminology
Cryptology in Practice
Why Study Cryptology?
2. Substitution Ciphers
Keyword Substitution Ciphers
Cryptanalysis of Substitution Cipher
Playfair Ciphers
The Navajo Code
3. Transposition Ciphers
Columnar Transposition Ciphers
Cryptanalysis of Transposition Ciphers
ADFGX and ADFGVX Ciphers
4. The Enigma Machine
The Enigma Cipher Machine
Combinatorics
Security of the Enigma Machine
5. The Turing Bombe
Cribs and Menus
Loops and Logical Inconsistencies
Searching for the Correct Configuration
The Diagonal Board
The Checking Machine
Turnovers
Clonking
Final Observations
6. Shift and Affine Ciphers
Modular Arithmetic
Shift Ciphers
Cryptanalysis of Shift Ciphers
Affine Ciphers
Cryptanalysis of Affine Ciphers
7. Alberti and Vigenère Ciphers
Alberti Ciphers
Vigenère Ciphers
Probability
The Friedman Test
The Kasiski Test
Cryptanalysis of Vigenère Keyword Ciphers
8. Hill Ciphers
Matrices
Hill Ciphers
Cryptanalysis of Hill Ciphers
9. RSA Ciphers
Introduction to Public-Key Ciphers
Introduction to RSA Ciphers
The Euclidean Algorithm
Modular Exponentiation
ASCII
RSA Ciphers
Cryptanalysis of RSA Ciphers
Primality Testing
Integer Factorization
The RSA Factoring Challenges
10. ElGamal Ciphers
The Diffie-Hellman Key Exchange
Discrete Logarithms
ElGamal Ciphers
Cryptanalysis of ElGamal Ciphers
11. The Advanced Encryption Standard
Representations of Numbers
Stream Ciphers
AES Preliminaries
AES Encryption
AES Decryption
AES Security
12. Message Authentication
RSA Signatures
Hash Functions
RSA Signatures with Hashing
The Man-in-the-Middle Attack
Public-Key Infrastructures
Bibliography
Hints and Answers for Selected Exercises
Index