CRITTOGRAFIA

Corso di Laurea in Informatica
Anno Accademico 2021-22

245AA - 6 crediti


  Docente   Anna Bernasconi
  Orario
 Lunedì 16:00 - 18:00, aula D e streaming
 Giovedì 16:00 - 18:00, aula E e streaming


  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


 

 

 

 

 

 


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 distanza

ATTENZIONE:

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]
Lucidi
2
20/09
Richiami di concetti sulla rappresentazione dell'informazione mediante sequenze.
Richiami di Teoria della Calcolabilità.
[BFL, cap 2]
Lucidi
3
23/09
Algoritmi polinomiali e esponenziali. Le classi di complessità P, NP, co-NP. [BFL, cap 3]
Lucidi
4
27/09
Definizione e proprietà delle sequenze casuali; complessità secondo Kolmogorov di una sequenza. Esistenza di funzioni casuali secondo Kolmogorov. [BFL, cap 4]
Appunti
5
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]
Appunti
6
4/10
Algoritmi randomizzati: test di primalità di Miller-Rabin, generazione di numeri primi. La classe di complessità RP. [BFL, cap 4]
Appunti
7
7/10
Introduzione ai cifrari storici. Cifrari a sostituzione monoalfabetica e polialfabetica. Cifrari a trasposizione. [BFL, cap 5]
Lucidi
8
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
Soluzioni
9
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]
DES
11
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
Soluzioni
12
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]
Appunti
14
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)
Soluzioni
15
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]
Appunti
16
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]
Appunti
18
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
Lucidi
19
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]
Lucidi
22
9/12
Distribuzione quantistica di chiavi: il protocollo BB84. [BFL, cap 11]
J. Mullins. Making unbreakable code. IEEE Spectrum, Maggio 2002, pp. 40-45.
Appunti
23
10/12
Esercitazione: discussione di esercizi d'esame (funzioni hash, MAC e firma digitale). Soluzioni (protocolli).