CRITTOGRAFIA

Corso di Laurea in Informatica
Anno Accademico 2019-20

245AA - 6 crediti


  Docente   Anna Bernasconi
  Orario
 Martedì 9:00 - 11:00, aula A1
 Giovedì 9:00 - 11:00, aula C1


  Obiettivi del corso e programma
  Bibliografia
  Prerequisiti
  Modalità d'esame
  Testi d'esame 2015-16
  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 (orale facoltativo)

ATTENZIONE:

Durante la prova scritta gli studenti NON possono consultare libri, appunti o altro materiale didattico.


 

 

 

 

 


Registro delle lezioni

N
Data
Argomenti
Riferimenti bibliografici
1
17/09
Introduzione al corso. Una carrellata sulla crittografia e gli argomenti che saranno coperti dal corso [BFL, cap 1]
Lucidi
2
19/09
Richiamo di concetti sulla rappresentazione dell'informazione mediante sequenze.
Richiami di Teoria della Calcolabilitā.
[BFL, cap 2]
Lucidi
3
24/09
Algoritmi polinomiali e esponenziali. Le classi di complessitā P, NP, co-NP. [BFL, cap 3]
4
26/09
Riduzioni polinomiali, problemi NP-completi e NP-hard.
Definizione e proprietā delle sequenze casuali; complessitā secondo Kolmogorov di una sequenza.
[BFL, cap 3, 4]
5
1/10
Esistenza di funzioni casuali secondo Kolmogorov. Generatori di numeri pseudocasuali: generatore lineare e polinomiale, generatori crittograficamente sicuri. [BFL, cap 4]
6
3/10
Le funzioni one-way e il generatore BBS. Generatori basati su cifrari simmetrici.
Algoritmi randomizzati. Test di primalità di Miller-Rabin.
[BFL, cap 4]
7
8/10
Generazione di numeri primi. Introduzione ai cifrari storici.
Esercitazione discussione di esercizi d'esame.
[BFL, cap 4, 5]
Esercizi su complessità e randomizzazione
8
10/10
Cifrari storici: cifrari a sostituzione (Cesare, Alberti, de Vigenčre); vari cifrari a trasposizione; crittoanalisi statistica; la macchina Enigma. [BFL, cap 5]
Lucidi
9
15/10
Cifrari perfetti: il cifrario One-time pad. [BFL, cap 6]
10
17/10
Esercitazione: discussione di esercizi d'esame. Esercizi sui cifrari storici
Esercizi sui cifrari perfetti
11
22/10
Il sistema DES e i possibili attacchi. [BFL, cap 7]
Figure DES
12
24/10
Variazioni e alternative al DES. Il Cifrario AES: storia e struttura. [BFL, cap 7]
13
31/10
Cifrari a composizione di blocchi.
Esercitazione: discussione di esercizi d'esame (DES, AES, CBC).
[BFL, cap 7]
Esercizi sui cifrari simmetrici
14
12/11
Introduzione alla crittografia a chiave pubblica. Richiami di algebra modulare e loro relazione con i cifrari a chiave pubblica. Cifrari ibridi. [BFL, cap 8]
Lucidi
15
14/11
Crittografia a chiave pubblica: il cifrario RSA. [BFL, cap 8]
16
19/11
Attacchi all'RSA. Il protocollo di scambio di chiavi di Diffie-Hellman. [BFL, cap 8]
17
20/11
Il cifrario a chiave pubblica di El Gamal.
Esercitazione: discussione di esercizi d'esame.
[BFL, cap 8]
Esercizi sul cifrario RSA e sul protocollo DH
18
21/11
Introduzione alla crittografia su curve ellittiche. Curve ellittiche sui reali: descrizione geometrica e algebrica della somma. Curve ellittiche su campi finiti. [BFL, cap 8]
19
26/11
Il problema del logaritmo discreto per le curve ellittiche. Crittografia su curve ellittiche: scambio di chiavi, cifratura e decifrazione. Sicurezza della crittografia su curve ellittiche. [BFL, cap 8]
Esercizi su ECC
20
28/11
Funzioni hash one-way. Protocolli di identificazione, autenticazione e firma digitale. [BFL, cap 9]
Lucidi
21
3/12
I sistemi "Zero Knowledge". Il protocollo di identificazione di Fiat e Shamir.
Esercitazione: discussione di esercizi d'esame (funzioni hash, MAC e firma digitale).
[BFL, cap 9]
Esercizi su funzioni hash, MAC e firma digitale.
22
5/12
Il protocollo SSL.
La moneta elettronica e i protocolli bitcoin.
[BFL, cap 9, 10]
Lucidi
23
10/12
Seminario del dr. Gabriele Costa: Security protocols: an overview. Lucidi
24
12/12
La computazione quantistica e le classi di complessitā (cenni).
Distribuzione quantistica di chiavi: il protocollo BB84.
[BFL, cap 11]
J. Mullins. Making unbreakable code. IEEE Spectrum, Maggio 2002, pp. 40-45.