CS255: Introduction to Cryptography

Course Overview


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.

Prerequisites:   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.

Textbook Information

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.


  • There will be a number of sections given by the TAs during the quarter.
  • Attendance at the sections is optional.

Homework Assignments


The final exam will take place during finals week. No midterm exam. Students can choose from one of two dates for the final exam. We will announce the date for the alternate final as soon as we have it.


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.

Students with Documented Disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Student Disability Resource Center (SDRC) located within the Office of Accessible Education (OAE). SDRC staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the SDRC as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066).