# Online Cryptography Course

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.

## Course syllabus, videos, and slides

Week 1: Course overview and stream ciphers (chapters 2-3 in the textbook)
Slides for week 1:
Introduction:   pdf   pptx
Stream ciphers:   pdf   pptx
What is cryptography?
Crash course in discrete probability
Stream Ciphers 1: the one-time pad and stream ciphers
Stream Ciphers 2: attacks and common mistakes
Stream Ciphers 3: real-world examples
Stream Ciphers 4: what is a secure cipher?
Week 2: Block ciphers (chapters 4-5 in the textbook)
Slides for week 2:
Block ciphers:   pdf   pptx
Using block ciphers:   pdf   pptx
Block Ciphers 1: overview
Block Ciphers 2: The Data Encryption Standard
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
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?
Authenticated Encryption 2: standard constructions
Authenticated Encryption 3: pitfalls
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:
Trapdoor permutation:   pdf   pptx
Diffie-Hellman:   pdf   pptx
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
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