Corso di Laurea in Informatica
Anno Accademico 2021-22
245AA - 6 crediti
Docente | Anna Bernasconi | ||
Orario |
|
Obiettivi del corso e programma
Bibliografia
Prerequisiti
Modalità d'esame
Testi d'esame 2015-16
Testi prove scritte (per ammissione all'orale) 2020-21
Registro delle lezioni
Obiettivi del corso e programma
- Obiettivi di apprendimento
- Introdurre le nozioni elementari sottostanti il progetto dei sistemi di cifratura moderni.
- Programma
- Introduzione: definizione di crittografia e crittoanalisi
- Generatori di numeri pseudo-casuali
- Cifrari Storici
- Cifrari perfetti: definizione e proprietà, il One-time pad
- Cifrari a chiave simmetrica: DES, Triple-DES e AES
- Cifrari composti
- Cifrari a chiave pubblica: funzioni one-way trapdoor e RSA
- Crittografia su curve ellittiche
- Identificazione, Autenticazione e Firma digitale
- Il sistema SSL
- Protocolli "Zero Knowledge"
- La moneta elettronica e i protocolli bitcoin
- Elementi di crittografia quantistica
Bibliografia
[BFL]
Anna Bernasconi, Paolo Ferragina, Fabrizio Luccio
Elementi di Crittografia
Pisa University Press 2015
Errata
Prerequisiti del corso
Nozioni di base di algebra, teoria della probabilità, algoritmi e strutture dati.
Modalità d'esame
Scritto, nel caso di esami svolti in presenza
Orale (con discussione di esercizi), nel caso di esami svolti a distanzaATTENZIONE:
Durante le prove gli studenti NON possono consultare libri, appunti o altro materiale didattico.
Registro delle lezioni
N Data Argomenti Riferimenti bibliografici 1 16/09 Introduzione al corso. Una carrellata sulla crittografia e gli argomenti che saranno coperti dal corso [BFL, cap 1]
Lucidi2 20/09 Richiami di concetti sulla rappresentazione dell'informazione mediante sequenze.
Richiami di Teoria della Calcolabilità.[BFL, cap 2]
Lucidi3 23/09 Algoritmi polinomiali e esponenziali. Le classi di complessità P, NP, co-NP. [BFL, cap 3]
Lucidi4 27/09 Definizione e proprietà delle sequenze casuali; complessità secondo Kolmogorov di una sequenza. Esistenza di funzioni casuali secondo Kolmogorov. [BFL, cap 4]
Appunti5 30/09 Generatori di numeri pseudocasuali: generatore lineare e polinomiale, generatori crittograficamente sicuri. Le funzioni one-way e il generatore BBS. Generatori basati su cifrari simmetrici. [BFL, cap 4]
Appunti6 4/10 Algoritmi randomizzati: test di primalità di Miller-Rabin, generazione di numeri primi. La classe di complessità RP. [BFL, cap 4]
Appunti7 7/10 Introduzione ai cifrari storici. Cifrari a sostituzione monoalfabetica e polialfabetica. Cifrari a trasposizione. [BFL, cap 5]
Lucidi8 11/10 Cifrari storici: crittoanalisi statistica; la macchina Enigma.
Esercitazione: discussione di esercizi d'esame (complessità e randomizzazione, cifrari storici).[BFL, cap 5]
Lucidi (vedi lezione del 7/10)
Esercizi sui complessità e randomizzazione
Esercizi sui cifrari storici
Soluzioni9 15/10 Cifrari perfetti: il cifrario One-time pad. [BFL, cap 6]
Appunti
Esercizi sui cifrari perfetti
Soluzioni (in breve)10 18/10 Il sistema DES e i possibili attacchi. [BFL, cap 7]
DES11 21/10 Variazioni e alternative al DES (3DES e attacchi meet-in-the-middle). Il Cifrario AES: storia e struttura. [BFL, cap 7]
Lucidi Esercizi sui cifrari simmetrici
Soluzioni12 4/11 Cifrari a composizione di blocchi.
Introduzione alla crittografia a chiave pubblica. Richiami di algebra modulare e loro relazione con i cifrari a chiave pubblica.[BFL, cap 8] 13 8/11 Cifrari ibridi. Crittografia a chiave pubblica: il cifrario RSA. RSA: sicurezza e attacchi. [BFL, cap 8]
Appunti14 11/11 Esercitazione: discussione di esercizi d'esame (cifrari simmetrici e cifrari a chiave pubblica) [BFL, cap 8]
Appunti
Esercizi sul cifrario RSA (e sul protocollo DH)
Soluzioni15 15/11 Il protocollo di scambio di chiavi di Diffie-Hellman. Il cifrario a chiave pubblica di El Gamal. Introduzione alla crittografia su curve ellittiche. Curve ellittiche sui reali: descrizione geometrica della somma. [BFL, cap 8]
Appunti16 18/11 Seminario del Dott. Gaspare Ferraro: Presentazione della Cyberchallenge; Cifrari simmetrici e a chiave pubblica: approfondimenti applicativi 17 22/11 Curve ellittiche sui reali: descrizione algebrica della somma. Curve ellittiche su campi finiti. Il problema del logaritmo discreto per le curve ellittiche. Crittografia su curve ellittiche: scambio di chiavi. [BFL, cap 8]
Appunti18 25/11 Crittografia su curve ellittiche: cifratura e decifrazione. Sicurezza della crittografia su curve ellittiche.
Funzioni hash one-way. Protocolli di identificazione e di autenticazione.[BFL, cap 8, 9]
Esercizi sulla crittografia su curve ellittiche
Appunti
Lucidi19 29/11 Protocolli di firma digitale.
Esercitazione: discussione di esercizi d'esame (ECC).[BFL, cap 9]
Lucidi
Esercizi su funzioni hash, MAC e firma digitale.
Soluzioni (curve ellittiche)20 02/12 Sistemi "Zero Knowledge": il protocollo di identificazione di Fiat e Shamir.
I protocolli SSL e TLS.[BFL, cap 9]
Appunti
Lucidi (SSL)
Appunti (TLS)
21 6/12 Seminario del Dott. Andrea Lisi: Tecnologia Blockchain e Criptovalute. [BFL, cap 10]
Lucidi22 9/12 Distribuzione quantistica di chiavi: il protocollo BB84. [BFL, cap 11]
J. Mullins. Making unbreakable code. IEEE Spectrum, Maggio 2002, pp. 40-45.
Appunti23 10/12 Esercitazione: discussione di esercizi d'esame (funzioni hash, MAC e firma digitale). Soluzioni (protocolli).