CS 442 - Introduction to Cryptography

Fall 2012

Course Overview

This course is an undergraduate introduction to modern cryptography. We'll dig below the surface of cryptographic primitives and learn how to rigorously evaluate their security. We'll look at symmetric and public-key encryption, message authentication, digital signatures, hash functions, and more advanced topics as time allows. This course will be mathematical in nature, and while the needed background material on probability and number theory will be covered in class, students must be comfortable with working to understand new mathematics.

This course will not teach you everything about how to make your computer secure. We will be looking at cryptography at a theoretical level with a choice of topics that looks toward its practical usage. Interested students should also consider taking CS 419, which gives an introduction to general computer security.

General Information


Final grades in the course will be an average of homework grades (20%), the midterm exam (35%) and comprehensive final exam (45%).


Homework assignments will be posted here roughly every 2 weeks. Students should turn in neatly written or typeset solutions on time. Late homeworks will not be accepted. Students are allowed to collaborate in teams of two, but only in the capacity of discussing the problems. Solutions must be written up individually, without collaboration, in your own words to show your understanding. On each assignment, if you choose to collaborate with someone, indicated the name of your collaborator on the homework you turn in.

Lecture Schedule

A brief summary of each lecture and the associated reading will be posted here.