Cryptography I

A.Y. 2018/2019
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
Il corso si prefigge di fornire agli studenti un'approfondita conoscenza
degli algoritmi e protocolli crittografici oggi in uso, con particolare
riferimento ad applicazioni in ambito mobile, blockchain e sicurezza
nella protezione e trasmissione dei dati. Parte del corso sarà dedicata
alle esercitazioni per consentire agli studenti di toccare con mano
quanto presentato nella parte teorica.
Expected learning outcomes
Undefined
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Milan

Responsible
Lesson period
First semester
Course syllabus
Introduction to the course, general information about cryptology.
Attacks: Ciphertext only, known plaintext, chosen plaintext, chosen ciphertext
Classical Cryptosystems: Vigenère, Affine cipher, Hill cipher, etc.
One time pad.
Divisibility, greatest common divisor, Euclidean Algorithm
Modular arithmetic, invertibility mod m, Euler's totient function
DES, a simplified DES, Triple-DES, AES.
Prime numbers, pseudo-random bit generation, the generation of large primes.
Fermat's Little Theorem and primality test,
One-way functions and one-way trapdoor functions.
Chinese Remainder Theorem, factoring algorithms (e.g. Quadratic sieve).
RSA encryption scheme.
Discrete logarithm problem, algorithms to solve the discrete logarithms.
Diffie-Hellman key exchange.
ElGamal encryption scheme.
Hash functions: SHA-1 and SHA-2.
Digital signatures.
Key distribution, Public Key Infrastructures, X.509, PGP.
Zero-knowledge protocols.
HMAC.
KDF: an example PBKDF2
Blockchain and cryptocurrency.
Elliptic curves.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Visconti Andrea
Professor(s)
Reception:
By email appointment
Room 5008, 5th Floor, via Celoria 18, Computer Science Department