Corso di Informatica 6 (IN450 - Algoritmi per la Crittografia)

Le lezioni

Diario delle lezioni dell'anno accademico 2012-2013

Le lezioni si tengono nel secondo semestre:

  • lunedì ore 9.00-11.00 Aula F/Laboratorio Informatico (lezione/esercitazioni);
  • giovedì ore 14.00-16.00 Aula F (lezione);
  • giovedì ore 16.00-18.00 Laboratorio Informatico/Aula C (esercitazione/lezione)
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.

Per informazioni e commenti: pedicini@mat.uniroma3.it - Torna alla Home page - Ultima modifica: Mon Jan 27 09:15:00 CET 2014