COMP 150CRY: Cryptography

David Wittenberg

Course Description:

This is a introduction to cryptography, starting with the first ciphers, and leading up to present day issues. We will discuss how codes and ciphers work, and how they can be broken. We will cover both Private key (Symmetric) and Public Key (Asymmetric) cryptography. Topics include: cryptographic protocols using block ciphers. Methods for key exchange, hashing, message authentication, and digital signatures. Cryptographic protocols regarding secret sharing and digital cash. We will use a mathematical approach to prove properties about the crypto systems we study.


COMP 160, or COMP 170, graduate standing, any 100 level MATH course, or permission of the instructor


This is a variation of COMP165. The course description and prerequisites have been revised. For administrative reasons, the number of this class has been changed to COMP 150CRY (COMP 150-1)

The prerequisite is "mathematical maturity", but since there's no class on that, anyone who took either COMP 160 or COMP 170 should be familiar with the techniques of reduction which play a large role in this course.


We will be using Canvas as a framework. We will be using Piazza for all class discussion.

We will be using Gradescope for homework submission

Contact the instructor for access codes to the above web sites.


Introduction to Cryptography with Coding Theory 3rd edition 2020 by Wade Trappe and Lawrence Washington. Publisher: Pearson

Last edited: 28 Jan. 2021