CS 255 Course Overview

(Winter 2002)



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), digital signatures, secure authentication, key management, cryptographic hashing, Internet voting systems, copyright protection, and a bit of zero-knowledge protocols.


The course requires a basic understanding of probability theory. Some knowledge of modular arithmetic will be helpful but not required. The course is intended for advanced undergraduates and graduate students.

Textbook Information

We will be using two books:

  • Cryptography Theory and Practice by D. Stinson.
  • Cryptography and Network Security, Second edition, by William Stallings.
  • Optional: Applied cryptography by B. Schneier.
  • Optional: Handbook of Applied Cryptography by A. Menezes, P. Van Oorschot, S. Vanstone.    Free!

and research papers handed out in class.


  • There will be five sections given by the TA's during the quarter.
  • Sections will be held on Wednesdays in Skilling Auditorium from 6:00pm - 6:50pm (live on channel E2) on the following dates:
    • January 23,
    • February 6,
    • February 20,
    • March 6,
    • March 13.
  • Attendance at the sections is optional.  

Homework Assignments

  • There will be four written homework assignments and two programming projects.
  • You may collaborate when solving the written assignments, however when writing up the solutions you must do so on your own. 
  • Both programming projects can be done in pairs.
  • You must hand in all four homework assignments and the two programming projects.
  • Some of the assignments will contain extra credit questions. You must solve extra credit questions on your own.
  • Homework assignments will be graded on a scale of 0 to 10.
  • Extensions:  each student has a total of 48 extension hours throughout the quarter. This automatic extension can be spent in units of 12 hours on any of the assignments and projects. Please mark the submission time for any late assignment.
  • Homework will be due on Fridays at 5pm in the CS255 homework box in the basement of the Gates building.


There will be an in class final exam. No midterm exam.


Final placement in the class will be determined by the following formula:

0.4 H + 0.3 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.

Last update: January 03, 2002 by Dan Boneh