Instructor: Dan Boneh, Stanford University
Online cryptography course preview: This page contains all the lectures in the free cryptography course. To officially take the course, including homeworks, projects, and final exam, please visit the course page at Coursera.
Textbook: The following is a free textbook for the course. The book goes into more depth, including security proofs, and many exercises.
- A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup (free)
Course syllabus, videos, and slides
What is cryptography?
Crash course in discrete probability
- Discrete probability (crash course) (18 min.)
- Discrete probability (crash course, continued) (13 min.)
Stream Ciphers 1: the one-time pad and stream ciphers
- Information theoretic security and the one-time pad (18 min.)
- Stream ciphers and pseudorandom generators (19 min.)
Stream Ciphers 2: attacks and common mistakes
Stream Ciphers 3: real-world examples
Stream Ciphers 4: what is a secure cipher?
- PRG security definition (24 min.)
- Semantic security (15 min.)
- Stream ciphers are semantically secure (10 min.)
Block Ciphers 1: overview
Block Ciphers 2: The Data Encryption Standard
- The Data Encryption Standard (DES) (21 min.)
- Exhaustive search attacks (19 min.)
- More attacks on block ciphers (16 min.)
Block Ciphers 3: AES and other constructions
How to Use Block Ciphers 1: one-time key
How to Use Block Ciphers 2: many-time key
- Security for many-time key (CPA security) (22 min.)
- Modes of operation: many-time key (CBC) (16 min.)
- Modes of operation: many-time key (CTR) (9 min.)
Message Integrity 1: definitions
Message Integrity 2: constructions
Collision Resistance 1: what is a collision resistant function?
Collision Resistance 2: constructions
HMAC: a MAC from a hash function
Authenticated Encryption 1: why is it so important?
- Active attacks on CPA-secure encryption (12 min.)
- Definitions (5 min.)
- Chosen ciphertext attacks (12 min.)
Authenticated Encryption 2: standard constructions
Authenticated Encryption 3: pitfalls
- Case study: TLS 1.2 (17 min.)
- CBC padding attacks (14 min.)
- Attacking non-atomic decryption (9 min.)
Odds and Ends 1: how to derive keys
Odds and Ends 2: searching on encrypted data
Odds and Ends 3: disk encryption and creditcard encryption
Basic Key Exchange 1: problem statement
Basic Key Exchange 2: two solutions
Number Theory 1: modular arithmetic
Number Theory 2: easy and hard problems
Public Key Encryption from Trapdoor Permutations
Public Key Encryption from Trapdoor Permutations: RSA
Public Key Encryption from Trapdoor Permutations: attacks
Public Key Encryption From Diffie-Hellman: ElGamal
- The ElGamal public-key system (19 min.)
- ElGamal security (13 min.)
- ElGamal variants with better security (10 min.)
Public Key Encryption: summary