Cryptography (2020/2021)

Course code
Name of lecturer
Roberto Segala
Roberto Segala
Number of ECTS credits allocated
Academic sector
Language of instruction
I semestre dal Oct 1, 2020 al Jan 29, 2021.

Lesson timetable

Go to lesson schedule

Learning outcomes

The course aims to provide the basic skills related to computational tools for data encryption, the use of such tools for the management of secure communications, and the problems associated with the implementation of cryptographic primitives. At the end of the course the student will have to demonstrate to know and understand the structure of the main algorithms and cryptographic protocols and the definitional aspects of the problems together with the formal tools for their analysis. This will allow the student to choose autonomously the most appropriate algorithms for the various situations and to understand the existing literature, and consequently to learn independently new proposals in cryptographic field.


Symmetric key cryptography (DES, AES), CBC, public key cryptography (Diffie-Hellman, RSA, BBS, El Gamal), provable security and provably secure cryptosystems, one-way trapdoor functions, pseudo-random bit and function generators, digital signatures (RSA), collision-free hash functions (MD5, SHA1), bit commitment, verifiable secret sharing, Zero-Knowledge, message authentication, agent authentication.

Reference books
Author Title Publisher Year ISBN Note
J. Katz, Y. Lindell Introduction to Modern Cryptography (Edizione 2) CRC Press 2015 978-1-4665-7026-9

Assessment methods and criteria

The exam is an oral colloquium on the topics of the program.

The evaluation scale is the following. 18-28 (pure notionistic knowledge), 22-24 (acceptable understanding of the arguments), 25-27 (ability to apply the concepts learned in the course), 28-30 (ability to elaborate autonomous ideas based on the concepts learned in the course).