Semester: 8
ECTS: 5
Lectures: 30
Practice sessions: 30
Independent work: 90
Module Code: 23-121-0155
Semester: 8
ECTS: 5
Lectures: 30
Practice sessions: 30
Independent work: 90
Module Code: 23-121-0155
Module title:
Applied cryptography
Lecturers and associates:
Module overview:
This course offers a comprehensive introduction to the field of cryptography, tailored to bridge theoretical concepts with practical applications. Students will delve into the foundations of modern symmetric and asymmetric cryptography, gaining an understanding of various cryptographic algorithms. The course is designed to foster both descriptive and analytical skills, enabling students to not only describe cryptographic algorithms but also critically analyze them in terms of security, efficiency, and applicability.
In addition to algorithmic comprehension, the course places a significant emphasis on cryptanalysis methods. Students will explore various techniques used to challenge cryptographic systems, learning to describe and analyze these methods effectively. This dual focus ensures that students are equipped with a rounded understanding of both the construction and deconstruction of cryptographic systems.
A unique aspect of this course is its project-based learning approach. Students will engage in hands-on projects, implementing simpler algorithms and exploring complex implementations within finished libraries, such as .NET and Crypto++, and the OpenSSL project. These projects are designed to challenge students to design and implement solutions using cryptographic algorithms, thereby applying their knowledge in real-world scenarios.
In this module students will learn:
Details of algorithms such as Feistel Networks, DES, AES, Blowfish, Twofish, and Skipjack
Hashing algorithms including MD5, MD6, SHA, Gost, RIPMD 256 and others
Asymmetric cryptography including thorough descriptions of RSA, Elgamal, Elliptic Curve, and DSA
Significant concepts such as diffusion, confusion, and Kerkchoff’s principle.
Hands on experience in cryptographic algorithms ranging from classic ciphers like Caesar cipher to modern day algorithms such as AES and RSA.
Literature:
Required readings:
1. Aumasson, J.P. (2018), Serious Cryptography, San Francisco: No Starch Press
Supplementary readings:
1. Easttom, C., (2015), Modern cryptography. New York: McGraw-Hill Education.
2. Boneh, D. and Shoup, V., (2020). A graduate course in applied cryptography. [s.l.]: [s.n.]