Skip To Content

0

View Cart | Checkout

Software Security Foundations




This course covers 3 specific topic areas:

Computer Security Principles covers security objectives such as authentication, authorization, access control, confidentiality, data integrity, and non-repudiation. The module also covers software design principles including the principles of least privilege, fail-safe stance, and defense-in-depth.

Introduction to Cryptography covers both symmetric encryption and public-key cryptography, discussing how they are used to achieve security goals and build PKI (Public-Key Infrastructure) systems. The module also covers DES, 3DES, AES, RC4, RSA, ECC, MD5, SHA-1, X.509, digital signatures, and all cryptographic primitives necessary to understand PKI. Diffie-Hellman key exchange and man-in-the-middle attacks will also be discussed.

Secure Programming Techniques discusses the threats that worms and hackers present to software and the programming techniques that developers can use to defend against software vulnerabilities such as buffer overflows, SQL injection, and off-line dictionary attacks. The module also covers common mistakes made in using cryptographic libraries and how they can be avoided.


Dan Boneh, Professor, Computer Science and Electrical Engineering

Neil Daswani, Engineering Manager, Twitter

Topics Include

  • Computer Security Principles
  • Introduction to Cryptography
  • Secure Programming Techniques



As of September 1, 2013 entrance to this certificate program requires an accepted application. Applications may be submitted online at anytime.



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.


  • $595 for Software Security Foundations
  • $75 one-time document fee ?

Enrollment Options

Select a location, then click course number/date to view details.

XACS101 - 026 Immediate Online Access Available

Enroll in this Section

Course Access   ?
90 day access to the online course starts upon payment.

Course Materials
Course materials are available for download from the online videos page to allow for printing and review.

Final Exam:
Online participants are asked to complete a final exam at the end of each course to maintain the integrity of the program. A digital record of completion will be emailed to participants when they pass the exam.

Course Evaluation:
It is required that participants complete the course evaluation once they have passed the final exam.

Dan Boneh, Neil Daswani

Tuition Option(s):
Online Course $595.00 ?