1. Classical Cryptography
• Introduction: Some Simple Cryptosystems
• The Shift Cipher
• The Substitution Cipher
• The Affine Cipher
• The Vigenere Cipher
• The Hill Cipher
• The Permutation Cipher
• Stream Ciphers
• Cryptanalysis
• Cryptanalysis of the Affine Cipher
• Cryptanalysis of the Substitution Cipher
• Cryptanalysis of the Vigenere Cipher
• A Known Plaintext Attack on the Hill Cipher
• Cryptanalysis of the LFSR-based Stream Cipher
2. Shannon's Theory
• Perfect Secrecy
• Entropy
• Huffman Encodings and Entropy
• Properties of Entropy
• Spurious Keys and Unicity Distance
• Product Cryptosystems
3. The Data Encryption Standard
• Introduction
• Description of DES
• An Example of DES Encryption
• The DES Controversy
• DES in Practice
• DES Modes of Operation
• Differential Cryptanalysis
• An Attack on a 3-round DES
• An Attack on a 6-round DES
• Other examples of Differential Cryptanalysis
4. The RSA System and Factoring
• Introduction to Public-key Cryptography
• More Number Theory
• The Euclidean Algorithm
• The Chinese Remainder Theorem
• Other Useful Facts
• The RSA Cryptosystem
• Implementing RSA
• Probabilistic Primality Testing
• Attacks On RSA
• The Decryption Exponent
• Partial Information Concerning Plaintext Bits
• The Rabin Cryptosystem
• Factoring Algorithms
• The p-1 Method
• Dixon's Algorithm and the Quadratic Sieve
• Factoring Algorithms in Practice
5. Other Public-key Cryptosystems
• The ElGamal Cryptosystem and Discrete Logs
• Algorithms for the Discrete Log Problem
• Bit Security of Discrete Logs
• Finite Field and Elliptic Curve Systems
• Galois Fields
• Elliptic Curves
• The Merkle-Hellman Knapsack System
• The McEliece System
6. Signature Schemes
• Introduction
• The ElGamal Signature Scheme
• The Digital Signature Standard
• One-time Signatures
• Undeniable Signatures
• Fail-stop Signatures
7. Hash Functions
• Signatures and Hash Functions
• Collision-free Hash Functions
• The Birthday Attack
• A Discrete Log Hash Function
• Extending Hash Functions
• Hash Functions From Cryptosystems
• The MD4 Hash Function
• Timestamping
8. Key Distribution and Key Agreement
• Introduction
• Key Predistribution
• Blom's Scheme
• Diffie-Hellman Key Predistribution
• Kerboros
• Diffie-Hellman Key Exchange
• The Station-to-station Protocol
• MTI Key Agreement Protocols
• Key Agreement Using Self-certifying Keys
9. Identification Schemes
• Introduction
• The Schnorr Identification Scheme
• The Okamoto Identification Scheme
• The Guillou-Quisquater Identification Scheme
• Identity-based Identification Schemes
• Converting Identification to Signature Schemes
10. Authentication Codes
• Introduction
• Computing Deception Probabilities
• Combinatorial Bounds
• Orthogonal Arrays
• Constructions and Bounds for OAs
• Characterizations of Authentication Codes
• Entropy Bounds
11. Secret Sharing Schemes
• Introduction: The Shamir Threshold Scheme
• Access Structures and General Secret Sharing
• The Monotone Circuit Construction
• Formal Definitions
• Information Rate
• The Brickell Vector Space Construction
• An Upper Bound on the Information Rate
• The Decomposition Construction
12. Pseudo-random Number Generation
• Introduction and Examples
• Indistinguishable Probability Distributions
• Next Bit Predictors
• The Blum-Blum-Shub Generator
• Security of the BBS Generator
• Probabilistic Encryption
13. Zero-knowledge Proofs
• Interactive Proof Systems
• Perfect Zero-knowledge Proofs
• Bit Commitments
• Computational Zero-knowledge Proofs
• Zero-knowledge Arguments