Course Syllabus
This course aims to help students develop a solid understanding of the foundational elements of modern cryptography. Modern cryptography is a highly theoretical field that relies on a diverse array of mathematics; however, in many courses, the emphasis is on the (mostly algebraic) mathematics of how some common cryptographic primitives are constructed, rather than the properties that cryptographers expect these primitives to have and how these properties are used to achieve security goals in protocols. As a result, many students know how some common cryptographic primitives are constructed (e.g., the DES & AES block ciphers or the RSA trapdoor permutation), but they have little idea how these primitives should be combined to produce cryptographic protocols, such as public-key encryption. In fact, many students erroneously believe that the RSA function they learn in most textbooks is itself an encryption system! This course attempts to rectify this imbalance by focusing on cryptographic primitives from the perspective of security definitions, and on how to build provably secure protocols from these primitives. We will briefly discuss some of the algebraic and combinatorial assumptions upon which cryptographic primitives are founded, but we will not dwell on these topics.
See the course homepage.
Course Summary:
| Date | Details | Due |
|---|---|---|