SECURE COMPUTATION Canale unico

Docente coordinatore e verbalizzante: IVAN VISCONTI

Docenti

Obiettivi formativi

Obiettivi formativi

Gli obiettivi di questo corso consistono nel presentare il concetto di computazione sicura con lo scopo di progettare sistemi che permettano di proteggere i dati secondo il paradigma del "data in use" che evita quindi l'invio indiscriminato dei dati ai server, soddisfando il principio della minimizzazione dei dati esposti. Il corso include sia contenuti teorici che pratici.

Il corso introdurrà i concetti di sicurezza mediante simulazione, l'utilizzo di circuiti cifrati, la cifratura omomorfa, la condivisione di segreti e la fairness nelle computazioni, includendo sia gli aspetti teorici che pratici, presentando casi d'uso concreti e dedicando spazio all'utilizzo di librerie che permettono concretamente di realizzare software che includa tali funzionalità.

Conoscenza e capacità di comprensione

Conoscenza del concetto di computazione fair, privata e sicura.
Conoscenza di strumenti di crittografia utili alle secure computation.
Comprensione dei limiti in cui la computazione sicura è realizzabile in pratica.

Capacità di applicare conoscenza e comprensione

Utilizzare le librerie per realizzare applicazioni di secure computation.
Misurare le prestazioni ed il grado di sicurezza ottenuto con le librerie esistenti.

Autonomia di giudizio

Gli studenti saranno in grado di valutare l'effettiva (in)sicurezza di una progettazione e le sue prestazioni.

Abilità comunicative

Gli studenti impareranno ad argomentare ed illustrare le possibilità per proteggere i dati mediante tecniche di secure computation.

Capacità di apprendimento

Gli studenti otterranno le nozioni necessarie ad un più approfondito studio dei temi del corso.

Risultati di apprendimento attesi

Gli studenti acquisiranno la comprensione teorica e pratica della tecnologia alla base del concetto di secure two/multi-party computation che permette a varie parti ciascuna con un input privato, di calcolare interattivamente l'output di una funzione basata sui loro input, mantenendo tuttavia la confidenzialità del segreto anche in presenza di avversari attivi.

Obiettivi Generali
Gli obiettivi di questo corso consistono nel presentare il concetto di computazione sicura con lo scopo di progettare sistemi che permettano di proteggere i dati secondo il paradigma del "data in use" che evita quindi l'invio indiscriminato dei dati ai server, soddisfando il principio della minimizzazione dei dati esposti. Il corso include sia contenuti teorici che pratici.

Obiettivi Specifici
Il corso introdurrà i concetti di sicurezza mediante simulazione, l'utilizzo di circuiti cifrati, la cifratura omomorfa, la condivisione di segreti e la fairness nelle computazioni, includendo sia gli aspetti teorici che pratici, presentando casi d'uso concreti e dedicando spazio all'utilizzo di librerie che permettono concretamente di realizzare software che includa tali funzionalità.

Conoscenza e comprensione:
-) Conoscenza del concetto di computazione fair, privata e sicura.
-) Conoscenza di strumenti di crittografia utili alle secure computation.
-) Comprensione dei limiti in cui la computazione sicura è realizzabile in pratica.

Applicazione della conoscenza e della comprensione:
-) Utilizzare le librerie per realizzare applicazioni di secure computation.
-) Misurare le prestazioni ed il grado di sicurezza ottenuto con le librerie esistenti.

Autonomia di giudizio:
Gli studenti saranno in grado di valutare l'effettiva (in)sicurezza di una progettazione e le sue prestazioni.

Abilità comunicative:
Gli studenti impareranno ad argomentare ed illustrare le possibilità per proteggere i dati mediante tecniche di secure computation.

Capacità di apprendimento:
Gli studenti otterranno le nozioni necessarie ad un più approfondito studio dei temi del corso.

Prerequisiti

Conoscenza degli strumenti a nozioni di base di crittografia.

Programma dell’insegnamento

Secure Communication
Ideal-Real World Paradigm for Secure Computation
Secure Two-Party Computation
Commitment Schemes (and coin flipping)
Secure Proof Systems
Oblivious Transfer
Garbled Circuits
GMW-Compiler
(Verifiable) Secret Sharing
Secure Multi-Party Computation
Fairness and Optimistic Security
Oblivious RAM
Fully Homomorphic Encryption
Popular Applications
Libraries/Tools for Secure Computation

Testi di riferimento

Carmit Hazay, Yehuda Lindell:​ Efficient Secure Two-Party Protocols - Techniques and Constructions. Information Security and Cryptography​ Springer 2010, ISBN 9783642143021.​

David Evans, Vladimir Kolesnikov and Mike Rosulek, A Pragmatic Introduction to Secure MultiParty Computation. NOW Publishers, 2018, ISBN:9781680835083.

Dan Boneh and Victor Shoup: A Graduate Course in Applied Cryptography (online).

Slide e risorse messe a disposizione dal docente agli studenti tempestivamente.

Modalità di svolgimento

Lezioni con uso di slide e di lavagna (e/o una tavoletta grafica) con interazioni ed esempi pratici riguardanti l'uso di tool e librerie.

Frequenza

Frequenza non obbligatoria ma fortemente raccomandata.

Modalità di esame

L'esame consiste in una prova scritta con domande specifiche che coprono la gran parte del programma del corso. La valutazione finale terrà conto della qualità delle risposte singolarmente, e della visione d'insieme che si evince dalle stesse. Il voto massimo richiede un'ottima comprensione di tutti gli argomenti del corso, mentre il voto di ammissione minimo, richiede una conoscenza mediamente sufficiente degli argomenti del corso.

Esempi di domande

E' sempre possibile progettare un protocollo di secure computation che sia "fair"? Motivare la risposta.

Programmazione delle attività didattiche

  • The Model of Secure Computation (4h)

  • OT, Garbled Circuits (8h)

  • Protocols for Secure Two-Party Computation  (8h)

  • Secret Sharing and VSS (6h)

  • Protocols for Secure Multi-Party Computation (8h)

  • Fairness, Optimistic/Covert Security (3h)

  • ORAM (3h)

  • FHE (6h)

  • Applications to Real-World Scenarios (6h)

  • MP-SPDZ (8h)

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal4
  • Goal9
  • Anno accademico2026/2027
  • Corso di studio a cui afferisce l’insegnamentoCybersecurity
  • Codice insegnamento10627805
  • Anno e semestre1º anno - 2º semestre
  • TipologiaAttività formative affini ed integrative
  • AmbitoAttività formative affini o integrative
  • SSDINFO-01/A
  • Presenza obbligatoriaNo
  • Linguaeng
  • CFU6 CFU
  • Durata complessiva60 ore
  • Distribuzione delle ore24 classroom hours, 36 training hours