You are here

Introduction to Cryptography

Monday, January 4, 2016 to Wednesday, March 16, 2016


Cryptography is an indispensable tool for protecting information in computer systems. This introduction to the basic theory and practice of cryptographic techniques used in computer security will explore the inner workings of cryptographic primitives and how to use them correctly.


Topics Include

  • Encryption (single and double key)
  • Pseudo-random bit generation
  • Authentication
  • Electronic commerce (anonymous cash, micropayments)
  • Key management, PKI, zero-knowledge protocols


There will be three written homework assignments and two programming projects. Final placement in the class will be determined by the following formula:

0.35 H + 0.35 P + 0.3 F


  • H is your average score on the four written homework assignments.
  • P is the weighted average grade on the two programming projects.
  • F is your final exam score.


  • Dan Boneh ProfessorComputer Science and Electrical Engineering




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.

Tuition & Fees

For course tuition, reduced tuition (SCPD member companies and United States Armed forces), and fees, please click Tuition & Fees.