Establish the security of a cryptographic system relative to a model (security objective, attacker model, security proof).
Develop knowledge of algebraic and number-theoretic results that underlie the “hard problems” supporting the security of current cryptographic techniques, in both conventional and quantum computing settings.
Classify the principal types of cryptanalytic attack — known plaintext, chosen plaintext, chosen ciphertext, “man-in-the-middle”, and brute force.
Reason about the security of cryptographic protocols, including secure multi-party computation (MPC) and zero-knowledge proofs (ZK).
Programme
Mathematical foundations: discrete probability, formal logic, and selected concepts from algebra and number theory.
Definitions of security in cryptographic systems: information-theoretic and computational security; security models for confidentiality, integrity, and authenticity.
Security proofs: reduction arguments (game-hopping); security assumptions (hard problems); attacker models; representative proofs and counter-arguments for the principal families of cryptographic primitives.
Security in cryptographic protocols: secure multi-party computation (MPC); the simulation paradigm; zero-knowledge proofs.
Bibliography
J. Hoffstein, J. Pipher, and J. Silverman, An Introduction to Mathematical Cryptography, Springer, 2010.
D. Boneh and V. Shoup, A Graduate Course in Applied Cryptography, draft available at https://toc.cryptobook.us.