Winter 2023
Stanford University
This course offers an introduction to cryptographic techniques used in computer security, covering encryption, message integrity, digital signatures, key management, and more. It is suitable for advanced undergraduates and masters students with some proof techniques and programming experience.
Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to use them correctly.
This course is an introduction to the basic theory and practice of cryptographic techniques used in computer security. We will cover topics such as encryption (secret-key and public-key), message integrity, digital signatures, user authentication, key management, cryptographic hashing, Network security protocols (SSL, IPsec), public-key infrastructure, digital rights management, and a bit of zero-knowledge protocols.
Optional readings can be found in the textbooks denoted by KL and AC in the syllabus below. The optional AC book, by Boneh and Shoup, is more advanced (and free) and is intended for students wishing to go deeper. The online version of the course is another resource for the material covered in class.
The course is self contained, however a basic understanding of probability theory and modular arithmetic will be helpful. The course is intended for advanced undergraduates and masters students. Students are expected to have experience with basic proof techniques and some programming experience.
No data.
Students can supplement the lectures with an online version of the course (MOOC) that covers some of the material.
The following books can be used to supplement the lectures:
Note that the textbooks do not cover all the material discussed in class.
Lecture slides available at Course syllabus, videos, and slides
Videos available on Coursera at Course syllabus, videos, and slides
Homwork and project available at Homework
The following is a free textbook for the course. The book goes into more depth, including security proofs, and many exercises.