Cryptography

Objectives

  • 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” that underpin the security of current cryptographic techniques, both in conventional and quantum computing.
  • Classify different types of cryptanalysis attacks, such as known cleartext attacks; chosen cleartext; chosen ciphertext; “man-in-the-middle” and brute force.
  • Reason about the security of cryptographic protocols (e.g. multi-party computation (MPC) protocols; zero-knowledge proofs (ZK))

Program

  • Mathematical foundations: discrete probabilities; formal logic; concepts of algebra and number theory.
  • Definition of security in cryptographic systems: absolute and computational security; security models for different security properties (e.g. confidentiality; integrity; authenticity).
  • Security proofs: reduction arguments (game-hoping); security assumptions (hard problems); attacker models; examples of proofs or counterarguments of the various families of cryptographic primitives.
  • Security in cryptographic protocols: secure multiparty computation (MPC); simulation paradigm; zero-knowledge proofs.

Bibliography

  • J. Hoffstein, J. Pipher, J. Silverman. An Introduction to Mathematical Cryptography. Springer, 2010.
  • D. Boneh, V. Shoup. A Graduate Course in Applied Cryptography. Draft book available at http://toc.cryptobook.us

Updated: