Lezione n. 1 - Wednesday 2 March 2011 |
- Introduzione al corso. Modalita' esame, orari, libri di testo.
Funzioni one-way. Complessita' degli algoritmi. Classe PTIME e classe
EXPTIME. Classe Non-deterministica polinomiale. Funzioni oneway con
trapdoor. Crittositemi. Tipologie di cifrari: blocchi, funzioni hash
crittografiche, cifrari a flusso.
|
Lezione n. 2 - Thursday 3 March 2011 |
- Crittosistemi classici: trasposizione, sostituzione, affine, Vigenere,
Hill, permutazione.
Cifrari a flusso. Generatori di numeri pseudo-casuali. Relazioni di
ricorsione lineare.
|
Lezione n. 3 - Wednesday 9 March 2011 |
- Crittoanalisi. Tipologie di attacchi a sistemi di cifratura:
plaintext-only, known plaintext, chosen-plaintext, chosen ciphertext.
Crittanalisi del cifrario affine.
Crittoanalisi del cifrario per sostituzione. Crittoanalisi del cifrario di
Vigenere: Kasiski test, indice di coincidenza.
|
Lezione n. 4 - Thursday 10 March 2011 |
- Crittoanalisi del cifrario di Hill. Crittoanalisi degli stream ciphers.
Sicurezza dei sistemi di cifratura. Sicurezza Computazionale. Sicurezza
dimostrabile. Sicurezza incondizionata.
|
Lezione n. 5 - Wednesday 16 March
2011 |
- Variabili aleatorie discrete. Probabilita' congiunta. Probabilita'
condizionata. Distribuzioni marginali. Teorema di Bayes.
Variabili aleatori indipendenti. Segretezza perfetta. Definizione di
sistema con PS. Proprieta' della PS per la cifratura per trasposizione.
Condizioni generali per sistemi di cifratura con PS. Sistema OTP (one time
pad).
|
Lezione n. 6 - Wednesday 23 March
2011 |
- Definizione di entropia di una variabile aleatoria discreta. Entropia
della distribuzione congiunta. Prime proprieta' dell'entropia.
Codifiche di insiemi finiti. Semigruppo libero delle parole su un alfabeto.
Homomorfismo. Estensione della codifica al semigruppo delle parole.Codici
prefissi. Codice prefisso ottimale: codice di Huffman.
|
Lezione n. 7 - Thursday 24 March 2011 |
- Entropia Condizionata. Relazione tra Entropia della Distribuzione
congiunta ed entropia condizionata.
Relazione tra entropia di plaintext, ciphertext e keyspace. Ridondanza di
una lingua.
|
Lezione n. 8 - Wednesday 30 March
2011 |
- Definizione di Cifrario Iterato. Reti di sostituzioni e permutazioni.
Cirari a blocchi di tipo Feistel. Cifratura e decifratura. Indipendenza
dalla invertibilita' della sostituzione.
|
Lezione n. 9 - Thursday 31 March 2011 |
- Descrizione del DES. In particolare della funzione di round.
Funzione di round del DES. S-Box, analisi dimensionale.
|
Lezione n. 10 - Wednesday 6 April
2011 |
- Crittoanalisi lineare delle S-Box. Definzione di tavola di
approssimazione lineare. Ricerca degli sbilanciamenti caratteristici.
Attacco su una rete di sostituzione permutazione a partire dagli
sbilanciamenti caratteristici delle S-box.
Esempio di attacco di tipo known-plaintext, di una S-box di cui siano noti
gli sbilanciamenti nella tavola di approssimazione lineare.
|
Lezione n. 11 - Thursday 7 April 2011 |
- Crittoanalisi differenziale. Tavola dei differenziali caratteristici.
Attacco di tipo Known-plaintext pee una SPN di cui siano noti differenziali
caratteristici per le S-box.
|
Lezione n. 12 - Wednesday 20 April
2011 |
- Introduzione ai campi finiti. Anello dei Polinomi. Quezientamento
rispetto alla riduzione modulo un polinomio irriducibile. Morfismo di
Frobenius.
Rappresentazione vettoriale e rappresentazione rispetto alla base normale.
Somma e prodotto. Relazioni di ricorsione lineare su campi finiti.
|
Lezione n. 13 - Thursday 21 April
2011 |
- Calcolo della relazione ricorsiva minimale associata ad una sequenza.
Algoritmo di Berlekamp-Massey. Esempio di applicazione dell'algoritmo.
Prime definizioni di AES.
|
Lezione n. 14 - Wednesday 27 April
2011 |
- Specifica dell'Advanced Encryption Standard. Descrizione della funzione
di round: SubBytes, ShiftRows, MixColumns, AddKey. Specifica come
operazioni algebriche. Analisi delle loro inverse.
Descrizione del keyschedule di AES. Descrizione della cifratura e della
decifratura.
|
Lezione n. 15 - Thursday 28 April
2011 |
- Descrizione algebrica delle funzioni utilizzate nella funzione di round
di AES.
Descrizione algebrica della funzione per il calcolo del keyschedule di AES.
|
Lezione n. 16 - Wednesday 4 May 2011 |
- Versione algebrica di una funzione computabile, in particolare
dell'inversa di una funzione computabile. A prescindere dalla complessita'
ogni funzione si puo' descrivere come sistema di polinomi su un campo
finito. Esempio della fattorizzazione di interi. Problema generale in
crittografia: attacchi algebrici.
Esempio di sistema di cifratura a flusso: combinatore di due registri a
scorrimento. Calcolo del sistema di equazioni associato.
|
Lezione n. 17 - Thursday 5 May 2011 |
- Sistemi multivariati. Metodi per la ricerca di soluzioni di sistemi
multivariati. Caso di una sola equazione con due incognite. Caso lineare.
Caso di due equazioni e due incognite. Esempio di soluzione.
Ideale generato da un insieme finito di polinomi. Varieta' associata
all'ideale. Ideale associato alla varieta'. Radicale dell'ideale. Ideale
monomiale. Relazioni d'ordine tra monomi. Condizione di compatibilita'.
Condizione di buon ordine. Ordine lessicografico.
|
Lezione n. 18 - Wednesday 11 May 2011 |
- Definizione di Base di Groebner di un ideale. Teorema di unicita' del
resto. Forma normale rispetto ad una base. Algoritmo per il calcolo della
forma normale.
Utilizzo delle basi di Groebner per il calcolo delle radici di un sistema
di equazioni multivariate.
|
Lezione n. 19 - Thursday 12 May 2011 |
- Soluzione di sistemi multivariati, analisi dei casi: sistema
incompatibile, caso di dimensione 0, caso di dimensioni superiori.
Algoritmo di Buchberger. Base di Groebner ridotta.
Algoritmo di riduzione di una base di Groebner. Esempi di utilizzo nel caso
della crittoanalisi algebrica.
|
Lezione n. 20 - Wednesday 18 May 2011 |
- Funzioni di Hash. Integrita' dei dati, applicazioni delle funzioni di
hash crittografiche.
Sicurezza delle funzioni di hash. Resistenza alle controimmagine, alla
seconda controimmagine, alla collisione.
|
Lezione n. 21 - Thursday 19 May 2011 |
- Modello dell'oracolo: algoritmi randomizzati di tipo Las Vegas. Esempi
di utilizzo del random oracle model nel caso delle funzioni di hash.
Paradosso del compleanno e resistenza alle collisioni. Confronto tra i
diversi criteri di resistenza.
|
Lezione n. 22 - Wednesday 25 May 2011 |
- Funzioni di Hash iterate. Costruzione di Merkle-Damgard.
Resistenza alle collisioni della funzione di tipo MD costruita a partire da
una funzione di compressione resistente alle collisioni.
|
Lezione n. 23 - Thursday 26 May 2011 |
- Svolgimento Esercizi
Svolgimento di esercizi.
Svolgimento di esercizi.
|