Applied Cryptography



This course will

  • Introduce the art and science of cryptography.
  • Cover the main types of cryptographic algorithms and protocols.
  • Present a wide variety of algorithms and their analysis.
  • Explain how different cryptographic mechanisms are used in practice.
  • Analyse the performance and security trade-offs between different kinds of algorithms.

Upon completion of this course, the students will be able to:

  • Explain the role and the importance of cryptography.
  • Identify the limitations of cryptography.
  • Understand the differences between various types of cryptographic mechanisms and critically compare their properties.
  • Choose the most adequate cryptographic mechanism with regards to performance and the identified security requirements.
  • Be aware of the current research trends and appreciate the influence that this work will have in the coming years.

Course Contents

  • History and overview of cryptography
  • Mathematical background
  • Cryptographic foundations (Pseudorandom number generators, Pseudorandom functions and permutations, One-way functions)
  • Data confidentiality protection protocols and primitives (stream ciphers, block ciphers, El Gamal, RSA, elliptic curves)
  • Data integrity protection protocols (hash functions, HMAC, CBC-MAC, digital signatures, DSS)
  • Key distribution and key agreement protocols (Diffie-Helman, secret key sharing, PKI, Kerberos)
  • Key size selection and key generation
  • Advanced topics (E-voting, E-payments, Outsourcing data and computation, Multiparty Computation)

  • K. M. Martin. Everyday Cryptography. Oxford University Press.
  • J. Katz, Y. Lindell. Introduction to Modern Cryptography: Principles and Protocols. Chapman & Hall/CRC Cryptography and Network Security Series.
  • A. Menezes, P. Van Oorschot and S. Vanstone. The Handbook of Applied Cryptography. CRC Press.