CRYPTOGRAPHY Canale unico

Docente coordinatore e verbalizzante: DANIELE VENTURI

Docenti

Obiettivi formativi

Obiettivi Generali:
Lo scopo del corso è quello di tramandare i fondamenti della crittografia, che è la componente principale per la sicurezza nelle applicazioni digitali odierne.

Obiettivi Specifici:
Gli studenti impareranno la metodologia della sicurezza dimostrabile, che permette di dimostrare la sicurezza dei moderni crittosistemi in senso matematico.

Conoscenza e Comprensione:
-) Conoscenza dei fondamenti matematici della crittografia moderna.
-) Conoscenza delle principali assunzioni crittografiche, su cui si basa la sicurezza dei moderni crittosistemi.
-) Conoscenza degli schemi crittografici usati nella vita reale. Comprensione delle loro proprietà (teoriche e pratiche).

Applicare Conoscenza e Comprensione:
-) Come selezionare la giusta primitiva crittografica per una data applicazione.
-) Come analizzare la sicurezza di un dato crittosistema.

Capacità critiche e di giudizio:
Gli studenti saranno in grado di giudicare se una data primitiva crittografica è sicura oppure no.

Capacità Comunicative:
Come descrivere la sicurezza di una costruzione crittografica nel linguaggio della sicurezza dimostrabile.

Capacità di Apprendimento Successivo:
Gli studenti interessati alla ricerca verranno a conoscenza di alcuni problemi aperti nell'area, ed otterranno le basi necessarie per studi più approfonditi in materia.

Risultati di apprendimento attesi

- Conoscenza delle principali soluzioni crittografiche per garantire la comunicazione sicura
- Capacità di decidere quale soluzione crittografica utilizzare nei casi d'uso pratici.
- Capacità di giudicare la sicurezza di protocolli crittografici per garantire la confidenzialità e l'autenticità dei messaggi.
- Capacità di spiegare il funzionamento e di continuare in autonomia lo studio dei protocolli crittografici e delle loro applicazioni.

Prerequisiti

Non sono necessari prerequisiti specifici, se non alcune nozioni base di teoria delle probabilità ed una certa maturità matematica.

Programma dell’insegnamento

Il corso coprirà i seguenti argomenti.

1) Crittografia incondizionata: Sicurezza perfetta, one-time pad, teorema di Shannon. Autenticazione perfetta, universal hashing, estrattori, lemma "leftover-hash".

2) Sicurezza computazionale: Funzioni unidirezionali (OWFs) e teoria della complessità. Basi di teoria dei numeri e OWFs candidate. Indistinguibilità computazionale, e assunzioni decisionali.

3) Crittografia simmetrica: Generatori pseudocasuali (PRGs), bit hard-core, costruzioni di PRGs. Funzioni pseudocasuali (PRFs), costruzioni di PRFs, reti di Feistel. Cifratura simmetrica: Definizioni, costruzioni, e modi operativi. Autenticazione di messaggio: Definizioni, costruzioni, e cifratura autenticata.

4) Funzioni hash: Modello dell'oracolo casuale, resistenza alla pre-immagine primaria/secondaria, resistenza alle collisioni, costruzione di Merkle-Damgaard. Alberi di Merkle.

5) Crittografia a chiave pubblica: Cifrari a chiave pubblica: Definizioni, e crittosistemi di RSA ed ElGamal. Sistemi hash-proof e cifratura di Cramer-Shoup. Firme digitali: Definizioni, hash a dominio pieno, firme di Waters. Schemi di identificazione: Definizioni, costruzioni, e applicazioni alle firme digitali.

Testi di riferimento

Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, CRC Press, Second Edition, 2014. Il materiale didattico ed altre informazioni sono disponibili anche da: https://dventuri83.github.io.

Bibliografia

Daniele Venturi, Crittografia nel Paese delle Meraviglie, Springer, Collana di Informatica, 2012.
Oded Goldreich, Foundations of Cryptography - Volume 1 Basic Techniques, Cambridge University Press, 2001.
Jonathan Katz, Digital Signatures, Springer, 2010.
Salil P. Vadhan, Pseudorandomness, Foundations and Trends in Theoretical Computer Science, Vol. 7, Issue 1-3, 2012.

Modalità di svolgimento

Lezioni in presenza.

Frequenza

Sebbene la presenza in aula non sia obbligatoria, quest'ultima è fortemente consigliata.

Modalità di esame

La modalità di esame consiste in un esame scritto che richiede la risoluzione di 3 esercizi (simili a quelli svolti a lezione) e l'esposizione di uno o più argomenti di teoria tra quelli trattati durante il corso. Non è ammesso consultare libri o note, e dispositivi digitali.

Esempi di domande

Esercizi sugli argomenti del corso. Domande sulla teoria (definizioni, teoremi e dimostrazioni).

Programmazione delle attività didattiche

  • Sicurezza incondizionata (10 ore)
    • Testi di riferimento: Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, CRC Press, Second Edition, 2014

  • Crittografia simmetrica (25 hours)
    • Testi di riferimento: Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, CRC Press, Second Edition, 2014

  • Crittografia asimmetrica (25 hours)
    • Testi di riferimento: Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, CRC Press, Second Edition, 2014

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal9
  • Anno accademico2024/2025
  • Corso di studio a cui afferisce l’insegnamentoComputer Science - Informatica
  • Codice insegnamento1047622
  • Anno e semestre2º anno - 1º semestre
  • TipologiaAttività formative affini ed integrative
  • AmbitoAttività formative affini o integrative
  • SSDINF/01
  • Presenza obbligatoriaNo
  • Linguaeng
  • CFU6 CFU
  • Durata complessiva60 ore
  • Distribuzione delle ore36 classroom hours, 24 training hours