This course provides a broad introduction to cryptography and communication security mechanisms based on cryptography. The course covers fundamental aspects such as security evaluation criteria and the mathematical constructs underlying cryptographic primitives as well as applied aspects like the design of major encryption and hashing algorithms, details of security mechanisms relying on cryptography such as data encryption, integrity, digital signature, authentication, key management, and public-key infrastructures.
Teaching and Learning Methods: Lectures and Lab sessions.
Course Policies: Attendance at lab sessions is mandatory.
Book: KATZ J., LINDELL Y. Introduction to Modern Cryptography. Chapman & Hall, 2014, 603p.
Book: MENEZES A., VAN OORSCHOT P., VANSTONE S. Handbook of Applied Cryptography. CRC Press, 1996, 780 p. Available online for personal use: http://www.cacr.math.uwaterloo.ca/hac/
Basic knowledge in Computer Science and Discrete Math.
- Security requirements, services and security function placement in layered communication systems. Classical ciphers, security evaluation, entropy, key equivocation function, unicity distance, perfect secrecy, one-time pad. Symmetric algorithms, Feistel cipher, DES, Number Theory, IDEA, AES, stream ciphers, RC4.
- Asymmetric algorithms, Diffie-Hellman, RSA, El Gamal, Elliptic Curve Cryptography. Modes of operation (CBC, CFB, OFB, CTR, XTS), hash functions and data integrity, MAC and MDC.
- Digital Signatures and Non-Repudiation. Authentication protocols, personal devices, key generation, symmetric key distribution, Kerberos, public-key certification and PKI systems.
- Be able to Identify security services required by a computing system;
- Be able to design a secure communication system using cryptographic mechanisms;
- Be able to analyze the security of an existing communication system.
Nb hours: 42.00
- Lab reports (30% of the final grade),
- Final Exam (70% of the final grade).