Online Cryptography Course (2017)
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
Week 1: Course overview and stream ciphers (chapters 2-3 in the textbook)
Slides for week 1:
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.)
Week 2: Block ciphers (chapters 4-5 in the textbook)
Slides for week 2:
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.)
Week 3: Message integrity (chapters 6-8 in the textbook)
Slides for week 3:
Message integrity:
pdf
pptx
Collision resistant hashing:
pdf
pptx
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
Week 4: Authenticated encryption (chapter 9 in the textbook)
Slides for week 4:
Authenticated encryption:
pdf
pptx
Odds and ends:
pdf
pptx
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
Week 5: Basic key exchange (chapter 10 in the textbook)
Slides for week 5:
Basic key exchange:
pdf
pptx
Crash course in number theory:
pdf
pptx
Basic Key Exchange 1: problem statement
Basic Key Exchange 2: two solutions
Number Theory 1: modular arithmetic
Number Theory 2: easy and hard problems
Week 6: Public-key encryption (chapters 11-12 in the textbook)
Slides for week 6:
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
Week 7: Digital signatures (chapters 13-14 in the textbook)
Slides for week 7:
Digital signatures:
pdf
pptx
Hash-based signatures:
pdf
pptx