CRYPTOGRAPHY

Course objectives

General Objectives The goal of the course is to hand down the foundations of cryptography, which is at the heart of security in nowadays digital applications. Specific Objectives The students will learn the methodology of provable security, which allows to prove security of modern cryptosystems in a mathematically sound way. Knowledge and Understanding -) Knowledge of the mathematical foundations of modern cryptography. -) Knowledge of the main hardness assumptions, on which the security of cryptographic constructions is based. -) Knowledge of the cryptographic schemes currently used in real life. Understanding of their (practical and theoretical) properties. Applying knowledge and understanding: -) How to select the right cryptographic scheme for a given application. -) How to analyze the security of a given cryptographic scheme. Autonomy of Judgement The students will be able to judge whether a given cryptographic scheme is secure or not. Communication Skills How to describe the security of a cryptographic construction in the language of provable security. Next Study Abilities The students interested in research will learn what are the main open challenges in the area, and will obtain the necessary background for a deeper study of the subjects.

Channel 1
DANIELE VENTURI Lecturers' profile

Program - Frequency - Exams

Course program
The course will cover the following topics. 1) Information-Theoretic Cryptography: Perfect secrecy, one-time pad, Shannon's theorem. Perfect authentication, universal hashing, extractors, leftover-hash lemma. 2) Computational Security: One-Way Functions (OWFs) and complexity theory. Brush-up on number theory, candidate OWFs. Computational indistinguishability, decisional assumptions. 3) Symmetric Cryptography: Pseudorandom Generators (PRGs), hard-core bits, PRGs constructions. Pseudorandom Functions (PRFs), PRFs constructions, Feistel networks. Symmetric encryption: Definitions and constructions, modes of operation. Message authentication: Definitions and constructions, authenticated encryption. 4) Hash functions: Random oracle model, first/second pre-image resistance, collision resistance, Merkle-Damgaard construction. Merkle trees. 5) Public-Key Cryptography: Public-key encryption: Definitions, RSA and ElGamal cryptosystems. Hash-proof systems and Cramer-Shoup encryption. Digital signatures: Definitions, full-domain hash, Waters' signatures. Identification schemes: Definitions, constructions and applications to signatures.
Prerequisites
There are no specific prerequisites, except for some basic knowledge of probability theory and some mathematical maturity.
Books
Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, CRC Press, Second Edition, 2014. Additional teaching material can be found at: http://danieleventuri.altervista.org/crypto.shtml.
Teaching mode
The course consists of frontal lessons taught by the lecturer.
Frequency
While in-person attendance is not mandatory, the latter is strongly recommended.
Exam mode
The final exam is written and consists of 3 exercises (similar to those solved in class) and of the exposition of one or more topics covered during the course. It is not allowed to use neither the book or your notes, nor any digital device.
Bibliography
Daniele Venturi, Crittografia nel Paese delle Meraviglie, Springer, Collana di Informatica, 2012. Oded Goldreich, Foundations of Cryptography - Volume 1 Basic Techniques, Cambridge University Press, 2001. Jonathan Katz, Digital Signatures, Springer, 2010. Salil P. Vadhan, Pseudorandomness, Foundations and Trends in Theoretical Computer Science, Vol. 7, Issue 1-3, 2012.
Lesson mode
In-person lectures.
DANIELE VENTURI Lecturers' profile

Program - Frequency - Exams

Course program
The course will cover the following topics. 1) Information-Theoretic Cryptography: Perfect secrecy, one-time pad, Shannon's theorem. Perfect authentication, universal hashing, extractors, leftover-hash lemma. 2) Computational Security: One-Way Functions (OWFs) and complexity theory. Brush-up on number theory, candidate OWFs. Computational indistinguishability, decisional assumptions. 3) Symmetric Cryptography: Pseudorandom Generators (PRGs), hard-core bits, PRGs constructions. Pseudorandom Functions (PRFs), PRFs constructions, Feistel networks. Symmetric encryption: Definitions and constructions, modes of operation. Message authentication: Definitions and constructions, authenticated encryption. 4) Hash functions: Random oracle model, first/second pre-image resistance, collision resistance, Merkle-Damgaard construction. Merkle trees. 5) Public-Key Cryptography: Public-key encryption: Definitions, RSA and ElGamal cryptosystems. Hash-proof systems and Cramer-Shoup encryption. Digital signatures: Definitions, full-domain hash, Waters' signatures. Identification schemes: Definitions, constructions and applications to signatures.
Prerequisites
There are no specific prerequisites, except for some basic knowledge of probability theory and some mathematical maturity.
Books
Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, CRC Press, Second Edition, 2014. Additional teaching material can be found at: http://danieleventuri.altervista.org/crypto.shtml.
Teaching mode
The course consists of frontal lessons taught by the lecturer.
Frequency
While in-person attendance is not mandatory, the latter is strongly recommended.
Exam mode
The final exam is written and consists of 3 exercises (similar to those solved in class) and of the exposition of one or more topics covered during the course. It is not allowed to use neither the book or your notes, nor any digital device.
Bibliography
Daniele Venturi, Crittografia nel Paese delle Meraviglie, Springer, Collana di Informatica, 2012. Oded Goldreich, Foundations of Cryptography - Volume 1 Basic Techniques, Cambridge University Press, 2001. Jonathan Katz, Digital Signatures, Springer, 2010. Salil P. Vadhan, Pseudorandomness, Foundations and Trends in Theoretical Computer Science, Vol. 7, Issue 1-3, 2012.
Lesson mode
In-person lectures.
  • Lesson code1047622
  • Academic year2025/2026
  • Coursecorso|33516
  • CurriculumSingle curriculum
  • Year1st year
  • Semester1st semester
  • SSDINF/01
  • CFU6
  • Subject areaFormazione informatica