Cryptographic primitives are effective tools that can help achieve various security goals. However, programs that use cryptography can often be fragile, and simple programming errors can result in large security "holes." Even worse, a company can come away with a false sense of security if their applications use cryptography— due to simple programming errors in how the cryptography is used, their applications could be just as or more vulnerable to attack, but the company may think that it is secure due to the use of cryptography. This course covers how to use cryptography correctly, and teaches programmers how to avoid many common mistakes that result in gaping security holes.
You Will Learn
- Introduction to Cryptography
- Using Cryptography Correctly
- Advanced Topics in Cryptography
- Symmetric Encryption
- Public-Key Cryptography
- User Authentication
- Dan Boneh Professor, Computer Science
We recommend you have the equivalent of a BS in Computer Science and a background in security.
We highly recommend that you take this course, Software Security Foundations (XACS101) as the 1st course within the Stanford ACS certificate program. It provides the fundamentals necessary for the subsequent courses in the program.