Sicurezza e crittografia (2005/2006)

Corso a esaurimento

Codice insegnamento
4S00060
Docente
Roberto Segala
crediti
5
Altri corsi di studio in cui è offerto
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
1° Q - 2° anno e successivi dal 3-ott-2005 al 2-dic-2005.
Pagina Web
http://profs.sci.univr.it/~segala/crypto/index.html

Orario lezioni

Obiettivi formativi

Nel corso vengono esaminati i concetti di base per lo studio della sicurezza dei sistemi e delle transazioni telematiche. Viene data particolare enfasi all'aspetto definizionale del problema, all'aspetto della criptazione dei dati, e al modo di affrontare la letteratura esistente. Al termine del corso lo studente ha acquisito maggior sensibilità alle problematice di sicurezza in rete ed è in gado di cercare e valutare autonomamente soluzioni ad eventuali problemi di sicurezza.

Programma

Elementi di teoria dei numeri: Gruppi Zn e Zn*, gruppi ciclici, generatori, logaritmo discreto, residuo quadratico, simboli di Legendre e Jacobi.

Crittografia: storia della crittografia, crittografia a chiave simmetrica (DES, IDEA), crittografia a chiave pubblica (Diffie-Helman, RSA, Bloom-Goldwasser), tecniche dimostrabilmente sicure per la codifica di un singolo bit e di sequenze di bit, tecniche per il lancio di una moneta in rete, lancio di moneta nel pozzo, generazione di bit pseudo-casuali (Bloom-Bloom-Shoub), generazione di funzioni pseudo-casuali.

Protocolli: firma digitale, autenticazione di messaggi, bit committment, schemi a barriera, blind signature, comunicazione non tracciabile, protocolli zero-knowledge, denaro digitale, voto digitale, autenticazione di agenti, distribuzione di chiavi, certificazione di chiavi.

Sicurezza dei sistemi: Elementi e criteri generali di sicurezza, attacchi ai sistemi e difese, virus, vermi, firewall.

PIANO DELLE LEZIONI
Lezione 1: Introduzione al corso, Definizione della materia, Storia della Crittografia, Dal codice di Cesare a DES, IDEA.
Lezione 2: Elementi di Teoria dei Numeri, Gruppi Zn, Zn*, Generatori, Logaritmo discreto.
Lezione 3: Elementi di teoria dei numeri, Residuo quadratico, Simbolo di Legendre, Simbolo di Jacobi, Esempio di riduzione da radice quadrata a fattorizzazione.
Lezione 4: Crittografia a chiave pubblica, Diffie-Helman, RSA.
Lezione 5: Codifica di un singolo bit.
Lezione 6: Codifica di sequenze di bit.
Lezione 7: Lancio di monete.
Lezione 8: Lancio di monete.
Lezione 9: Generazione di bit pseudo casuali.
Lezione 10: Generazione di funzioni pseudo casuali.
Lezione 11: Firme digitali, Autenticazione di messaggi.
Lezione 12: Bit committment, Schemi a barriera, Blind signatures, Comunicazioni non tracciabili.
Lezione 13: Zero knowledge.
Lezione 14: Zero Knowledge.
Lezione 15: Contanti elettronici.
Lezione 16: Voto elettronico.

Il corso viene svolto in 40 ore di lezione frontale. Le lezioni sono svolte mantenendo un livello scientifico elevato. Buona parte dei risultati vengono dimostrati formalmente. Lo studente non è tenuto a comprendere tutti i dettagli del lavoro svolto; tuttavia lo studente è tenuto a cogliere le similarità che sussistono tra le diverse tipologie di problema e i diversi modi di affrontare un problema. E' questo l'elemento fondamentale che permette allo studente di leggere autonomamente la letteratura esistente.

Modalità d'esame

L'esame consiste di una prova orale sugli argomenti del corso. Durante la prova orale non vengono chieste dimostrazioni o definizioni formali. Lo studente deve comunque saper commentare eventuali definizioni e/o dimostrazioni che vengono proposte dal docente.

Condividi