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