Week 1-Course Overview
Course Overview
()
Syllabus
Programming Assignments
About Me
Week 1-Lesson 1
Week 1
Introduction
()
Introduction Continued
()
Hex and ASCII
()
Breaking the Vigenere Cipher
()
Programming Assignment 1
Principles of Modern Cryptography
()
Week 1-Lesson 2
Perfect Secrecy
()
Perfect Secrecy Part II
()
Week 1-Lesson 3
The One-Time Pad
()
Implementing the One-Time Pad
()
Week 2-Lesson 1
Week 2
Limitations of the One-Time Pad
()
Week 2-Lesson 2
Computational Secrecy
()
Computational Secrecy Part II
()
Week 2-Lesson 3
Pseudorandomness
()
Pseudorandom Generators
()
The Pseudo One-Time Pad
()
Programming Assignment 2
Week 2-Lesson 4
Proofs of Security
()
Week 3-Lesson 1
Week 3
Stronger Security Notions
()
Pseudorandom Functions and Block Ciphers
()
Week 3-Lesson 2
CPA-Secure Encryption from PRFs/Block Ciphers
()
Modes of Encryption
()
Week 3-Lesson 3
Security Against Chosen-Ciphertext Attacks
()
Padding-Oracle Attacks
()
Programming Assignment 3
Week 4-Lesson 1
Week 4
Message Integrity
()
A Fixed-Length MAC
()
Week 4-Lesson 2
CBC-MAC
()
Programming Assignment 4
Hash Functions
()
Week 4-Lesson 3
HMAC
()
Authenticated Encryption
()
Secure Communication Sessions
()
Week 5-Lesson 1
Week 5
Number Theory One
()
Week 5-Lesson 2
Number Theory Two
()
Week 5-Lesson 3
Number Theory Three
()
Week 5-Lesson 4
Number Theory Four
()
Week 5-Lesson 5
Number Theory Five
()
Week 6-Lesson 1
Week 6
The Public-Key Revolution
()
Diffie-Hellman Key Exchange
()
Week 6-Lesson 2
The Public-Key Revolution Part II
()
Public-Key Encryption
()
Week 6-Lesson 3
Discrete-Log-Based Public-Key Encryption
()
RSA-Based Public-Key Encryption
()
Week 7-Lesson 1
Week 7
Digital Signatures
()
Digital Signatures Part II
()
Week 7-Lesson 2
RSA-Based Signatures
()
Programming Assignment 5
Identification Schemes
()
Week 7-Lesson 3
Public-Key Infrastructure (PKI)
()
Putting It All Together: SSL/TLS
()
Parting Thoughts
()