Description

This is a graduate-level course that serves as an introduction to cryptography. We will define various cryptographic notions such as one-way functions, pseudorandom generators, symmetric & public key encryption, message-authentication codes, signatures, etc.


The course will focus on understanding what these notions mean, what practical problems they aim to solve, the relationships between them, and how to construct them using number theory. We will emphasize the need to rely on precise mathematical definitions and rigorous proofs to analyze security. Towards the end of the course, we will also cover some fun advanced topics such as coin-flipping over the phone, and zero-knowledge proofs. We will need elementary number-theory to build many of the cryptosystems, and will cover all of required math as-needed, without attempting to be comprehensive. No prior knowledge of cryptography or number theory is assumed.


The course will aim to carefully balance theory and practice. On the one hand, we will cover most of the cryptographic notions encountered in practice and explain how they are used to solve real security challenges. On the other hand, we will focus on elegant constructions and mathematical justifications of security, and will not go over many important but ad-hoc constructions and standards that are used in practice (beyond a brief mention). The course will also focus solely on cryptography and will not cover other important aspects of computer security.

General Information

Lecture Time: 6:00 pm - 9:00 pm on Tuesdays
Location: Forsyth Building, room 241.
Instructor: Daniel Wichs. Email: wichs@ccs.neu.edu.
Office hours: By Appointment (Office 340 WVH)

Announcements

Announcements are not public for this course.

Staff Office Hours

Daniel Wichs
--
--