Home

Instructors

Prerequisites

Textbook

Grading

Schedule

Lectures

Announcements

Homeworks

Exams

Dates

Mypoly

Isis

Poly Logo

This course deals with the study of modern cryptography from a theoretical perspective, the emphasis of the course being on "provable security". In particular, we study the cryptographic primitives that are the building-blocks of various cryptographic applications. The course involves the study of notions of security for a given cryptographic primitive, its various constructions, and respective security analysis based on the security notion. The cryptographic primitives that we cover include pseudo-random functions, symmetric encryption (block ciphers), hash functions and random oracles, message authentication code, asymmetric encryption and digital signatures. Time permitting; we also study how to build secure cryptographic protocols for authenticated key exchange, using the primitives that we study. We also study various number-theoretic assumptions cryptography is based upon.