Lezione n. 1 - Monday 25 February
2013 |
- Introduzione al corso di algoritmi per la crittografia. Crittologia:
crittografia + crittoanalisi. Modello di Shannon: teoria dell'informazione.
Sistemi di cifratura. Permutazioni. Cifratura a chiave simmetrica e
cifratura a chiave pubblica.
Sistemi di cifratura classici. Shift cipher, substitution cipher, affine
cipher, Vigenere cipher, Hill cipher.
Crittoanalisi del cifrario di Vigenere.
|
Lezione n. 2 - Thursday 28 February
2013 |
- Kasiski test. Indice di coincidenza di un testo.
Indice di coincidenza di una lingua.
Test del Key-Guess rispetto alle frequenze caratteristiche per l'alfabeto.
Cifrario per permutazione. Precisazione sul concetto di crittoanalisi.
Principio di Kerkhoff.
|
Lezione n. 3 - Monday 4 March 2013 |
- Cifrario per trasposizione. Osservazione che il cifrario per
trasposizione e' un caso particolare del cifrario di Hill. Cifrari a
flusso. LFSR. Periodo massimale di un LFSR. Matrice associata ad un LFSR.
LFSR su campi finiti.
Crittoanalisi del cifrario affine.
|
Lezione n. 4 - Thursday 7 March 2013 |
- Tipologie di attacchi. Crittoanalisi del cifrario di Hill. Crittoanalisi
del cifrario di Vigenere. Attacchi di tipo statistico.
Classificazione della sicurezza di un sistema di cifratura: sicurezza
computazionale, sicurezza condizionata, sicurezza incondizionata.
Cenni sul linguaggio funzionale utilizzato in matematica. Calcolo delle
frequenza caratteristiche della lingua a partire da un corpus di testo.
Tavola delle frequenze della lingua italiana. Calcolo dell'indice di
coincidenza dell'italiano.
|
Lezione n. 5 - Monday 11 March 2013 |
- Richiami di probabilita'. Variabili aleatorie discrete. Probabilita'
congiunta, probabilita' condizionata. Teorema di Bayes.
Definizione di segretezza perfetta di un crittosistema. Dimostrazione che
lo shift cipher ha la proprieta' di segretezza perfetta se la chiave e'
scelta con distribuzione uniforme. Teorema di caratterizzazione dei cifrari
con segretezza perfetta sotto le ipotesi che gli alfabeti di plaintext,
ciphertext e il keyspace abbiano stessa cardinalita'.
|
Lezione n. 6 - Thursday 14 March 2013 |
- Definizione di Entropia. Prime proprieta' dell'entropia. Variabili
aleatorie congiunte e proprieta' dell'entropia.
Codifica di Huffman. Decodifica di un codice prefisso. Proprieta' di
efficienza della codifica di Huffman.
Implementazione di alcune funzioni di cifratura e decifratura (sistemi
classici).
Calcolo dell'indice di coincidenza di un testo e del suo cifrato.
Implementazione di un LFRS.
|
Lezione n. 7 - Monday 18 March 2013 |
- Funzioni concave e funzioni convesse. Disuguaglianza di Jensen.
Applicazioni alla funzione logaritmo.
Dimostrazione sul massimo valore dell'entropia di un dato alfabeto in
funzione della cardinalita'. Maggiorazione dell'entropia di una
distribuzione congiunta.
|
Lezione n. 8 - Thursday 21 March 2013 |
- Definizione di entropia condizionata. Maggiorazione dell'entropia
condizionata.
Entropia del Keyspace condizionato al Ciphertext. Esempio di calcolo
dell'entropia di un crittosistema. Entropia di un linguaggio. Ridondanza di
un linguaggio. Chiavi spurie e distanza di unicita'. Crittosistemi
prodotto.
Crittoanalisi di un cifrario a flusso basato su LFSR.
Crittoanalisi di un sistema derivato dal cifrario di Hill.
|
Lezione n. 9 - Monday 8 April 2013 |
- 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. 10 - Thursday 11 April
2013 |
- Descrizione del DES. In particolare della funzione di round. Funzione di
round del DES. S-Box, analisi dimensionale.
Crittoanalisi lineare delle S-Box. Definizione di tavola di approssimazione
lineare. Ricerca degli sbilanciamenti caratteristici.
Implementazione del calcolo della tabella di approssimazione lineare per
una funzione di sostituzione.
Applicazione alla crittoanalisi lineare (ricerca delle tracce
caratteristiche nel caso iterato)
|
Lezione n. 11 - Thursday 18 April
2013 |
- 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.
Calcolo delle caratteristiche differenziali di una S-Box.
Ricerca delle caratteristiche componibili.
|
Lezione n. 12 - Monday 22 April 2013 |
- Crittoanalisi differenziale di una rete di permutazioni e sostituzioni.
Descrizione del DES.
|
Lezione n. 13 - Monday 29 April 2013 |
- 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.
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. 14 - Thursday 2 May 2013 |
- Descrizione algebrica delle funzioni utilizzate nella funzione di round
di AES.
Descrizione algebrica della funzione per il calcolo del keyschedule di AES.
Sistema di equazioni associato ad una funzione di cifratura.
Implementazione delle funzioni di cifratura dell'AES.
|
Lezione n. 15 - Monday 6 May 2013 |
- Esempio di Riduzione di AES su un campo finito binaro di grado 3.
Esempio di cifratura nel sistema a 3 bit.
|
Lezione n. 16 - Thursday 9 May 2013 |
- Cube attack, calcolo dei coefficienti del super-polinomio.
Cube attack: descrizione della ricerca dei maxterm. Analisi della
complessita' del cube attack.
Crittoanalisi differenziale (esempio).
Crittoanalisi Lineare (esempio).
|
Lezione n. 17 - Monday 13 May 2013 |
- Definizione di Hash-family. Proprieta' delle funzioni di hash
crittografiche.
Algoritmi randomizzati. Random Oracle Model. Prove di sicurezza di funzioni
hash nel quadro ROM.
|
Lezione n. 18 - Thursday 16 May 2013 |
- 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.
Calcolo delle caratteristiche differenziali della S-Box (AES-SubBytes)
dell'AES.
Ricerca delle caratteristiche che possono essere composte su piu' round.
|
Lezione n. 19 - Monday 20 May 2013 |
- 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. 20 - Thursday 23 May 2013 |
- Svolgimento Esercizi.
Svolgimento Esercizi.
Calcolo delle caratteristiche della funzione MixColumn.
Visualizzazione delle caratteristiche trovate.
|
Lezione n. 21 - Tuesday 28 May 2013 |
- Svolgimento Esercizi.
Svolgimento Esercizi.
|