Cryptography II


Stanford School of Engineering



Cryptography is an indispensable tool for protecting information in computer systems. This course is a continuation of Crypto I and explains the inner workings of public-key systems and cryptographic protocols. Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications. The course begins with constructions for digital signatures and their applications. We will then discuss protocols for user authentication and zero-knowledge protocols. Next we will turn to privacy applications of cryptography supporting anonymous credentials and private database lookup. We will conclude with more advanced topics including multi-party computation and elliptic curve cryptography. Throughout the course students will be exposed to many exciting open problems in the field. The course will include written homeworks and optional programming labs. The material is self-contained, but the course assumes knowledge of the topics covered in Crypto I as well as a basic understanding of discrete probability theory.


Andrew Ng, Adjunct Professor, Computer Science

Recommended Background

Cryptography I

001 Open for Enrollment Online, Coursera

Enroll Now

Delivery Option:
Online Course $0.00


Statement of Accomplishment

Students who successfully complete the class (above 70 percent correct on the problem sets and final exam) will receive a Statement of Accomplishment signed by the instructor - and those earning above 90 percent credit on the problem sets and final will earn one with distinction.

Coursera Course Certificate Available for a Fee

You can earn a Course Certificate for this Coursera Courses. A Course Certificate is proof that you completed and passed the course.

In order to get a Course Certificate, you must: