The modern study of cryptography investigates techniques for facilitating interactions between distrustful entities. In this course we introduce some of the fundamental concepts of this study. Emphasis will be placed on the foundations of cryptography and in particular on precise definitions and proof techniques.The main skills that will be assumed from these courses are: the ability to understand and write formal mathematical definitions and proofs and 2) comfort with reasoning about algorithms, such as proving their correctness and analyzing their running times. It is also important that you are familiar with basic probability.
CSC 280 (or equivalent), MATH150 (or mathematical maturity), or permission of instructor.