Short Course Description
Cryptography is magical, it solves paradoxical problems such as communicating privately without ever meeting, proving you know a secret without revealing it, or computing over encrypted data. This magic is, in fact, based on a rigorous theory with beautiful definitions and proofs of security founded on computational complexity. The course will provide a graduate-level introduction to the theory of cryptography. We will cover foundational concepts, abstractions, and techniques, with the aim of giving students the basic tools needed to start research in the area. We will also sneak a peek into some advanced topics as time permits.