Insegnamento mutuato da: B032458 - SICUREZZA DEI DATI E PRIVACY Laurea Magistrale in DATA SCIENCE, CALCOLO SCIENTIFICO & INTELLIGENZA ARTIFICIALE
Lingua Insegnamento
Italiano.
Contenuto del corso
Crittografia a chiave condivisa. Cifrari perfetti secondo Shannon, One-Time-Pad, unicity distance. Cifrari di Feistel. Crittografia a chiave pubblica. Elementi di aritmetica modulare. I cifrari RSA e El Gamal, il protocollo di Diffie-Hellman. Funzioni hash one-way crittografiche. Autenticazione e firma digitale. Elementi di Teoria dell'Informazione. Codici di compressione: 1^ Shannon, codici Huffman. Canali con rumore, capacità.
Fondamenti della Privacy: k-anonymity, Differential Privacy.
- Michele Boreale. Note per il corso di Codici e Sicurezza. Appunti disponibili online.
- Altri testi:
Th. M. Cover, J.A. Thomas. Elements of Information Theory, 2/E. Wiley & Sons, 2006.
Obiettivi Formativi
Il corso mira a fornire agli studenti una comprensione approfondita dei principi scientifici alla base del trattamento e trasmissione efficiente, affidabile e sicura dei dati. Alla fine del corso, lo studente dovrebbe essere in grado di costruire modelli ad alto livello, ma rigorosi, dei sistemi di comunicazione, e analizzarne le criticità dal punto di vista della sicurezza e della privacy, e ideare soluzioni basate sulla crittografia. In particolare, sarà in grado di applicare le tecniche viste nel corso problemi nuovi, modificando opportunamente gli algoritmi e i metodi proposti.
Prerequisiti
Elementi di: Algoritmi e Strutture Dati, Architetture degli Elaboratori, Matematica Discreta e Logica, Programmazione, Calcolo delle Probabilità e Statistica.
Metodi Didattici
Lezioni frontali (72 ore). Svolgimento individuale di progetti teorici e di programmazione durante il corso.
Altre Informazioni
Orario di ricevimento:
su appuntamento.
Dipartimento di Statistica, Informatica, Applicazioni
Viale Morgagni, 65 I 50134 Firenze, Italy
Tel.: +39 055 4237453
Fax: +39 055 4237436
e-mail: michele.boreale@unifi.it
Modalità di verifica apprendimento
L'esame consiste nello svolgimento e discussione di un progetto, assegnato individualmente dal docente. Il progetto può essere sia di tipo descrittivo che di programmazione (nel linguaggio Python), e in ogni caso prevede la stesura di una relazione scritta. Vengono valutati la chiarezza espositiva e/o la chiarezza del codice, l'aderenza al tema proposto. La discussione della relazione potrà anche prevedere domande sui contenuti istituzionali del corso, ivi compresi lo svolgimento di semplici esercizi, e domande sui metodi presentati durante le lezioni. Nell'ambito della discussione, saranno valutati il rigore e la chiarezza dell'esposizione, la capacità di inquadrare i vari argomenti nei rispettivi contesti e di collegarli tra loro. Il progetto e la relativa relazione incidono per il 75% sulla votazione finale, la sua discussione per il rimanente 25%.
Programma del corso
Crittografia a chiave condivisa. Cifrari perfetti secondo Shannon, One-Time-Pad, unicity distance. Cifrari di Feistel. Crittografia a chiave pubblica. Elementi di aritmetica modulare. I cifrari RSA e El Gamal, il protocollo di Diffie-Hellman. Funzioni hash one-way crittografiche. Autenticazione e firma digitale. Elementi di Teoria dell'Informazione. Codici di compressione: 1^ teorema di Shannon, codici Huffman. Canali con rumore, capacità.
Fondamenti della Privacy: k-anonymity, Differential Privacy.