Semester
2
Credits
5 ECTS
Contact hours (per week, over a 15-week semester)
15 T + 30 PL
Scientific area
EI
Type
Compulsory
Language
Portuguese

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” 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.

Updated: