Insegnamento CRYPTOGRAPHY AND APPLICATIONS
- Corso
- Informatica
- Codice insegnamento
- A002090
- Curriculum
- Cybersecurity
- Docente
- Massimo Giulietti
- CFU
- 12
- Regolamento
- Coorte 2022
- Erogato
- 2023/24
- Tipo insegnamento
- Obbligatorio (Required)
- Tipo attività
- Attività formativa integrata
CRYPTOGRAPHY AND APPLICATIONS: MODULO 1
Codice | A002091 |
---|---|
CFU | 6 |
Docente | Massimo Giulietti |
Docenti |
|
Ore |
|
Attività | Affine/integrativa |
Ambito | Attività formative affini o integrative |
Settore | MAT/03 |
Tipo insegnamento | Obbligatorio (Required) |
Lingua insegnamento | INGLESE |
Contenuti | Crittografia Classica. Segretezza perfetta. Crittosistemi prodotto. DES e AES. Crittanalisi lineare e differenziale. Crittografia a chiave pubblica. Il crittosistema RSA. Fattorizzazione di interi. Il crittosistema di ElGamal. Logaritmi discreti. Campi finiti. Curve ellittiche. Metodi avanzati di Firma digitale. Crittografia Post-quantum. Crittografia Omomorfa. |
Testi di riferimento | D.R. Stinson, Cryptography - Theory and Practice - Chapman & Hall/CRC Mathematics of Public Key Cryptography. Version 2.0. S.D. Gailbraith, 2018 |
Obiettivi formativi | Crittografia e applicazioni è l'insegnamento della Laurea Magistrale dedicato alle basi matematiche della sicurezza informatica. L'obiettivo principale dell'insegnamento consiste nel fornire agli studenti le basi teoriche/matematiche per affrontare problemi concreti relativi alla sicurezza delle comunicazioni. Le principali conoscenze acquisite saranno: -Familiarità con l'aritmetica modulare e i campi finiti -Familiarità con le basi di teoria algoritmica dei numeri. -Dimestichezza con i concetti di crittosistema, crittografia a chiave pubblica, firma digitale, autenticazione, crittografia simmetrica. Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) saranno: - valutare la sicurezza di un crittosistema simmetrico - valutare la sicurezza di un crittosistema asimmetrico - valutare la difficoltà computazionale di problemi di teoria dei numeri - definire i parametri di un'infrastruttura di crittografia a chiave pubblica sicura |
Prerequisiti | Al fine di comprendere e saper applicare la maggior parte delle tecniche descritte nell'insegnamento è necessario avere sostenuto con successo gli esami di Matematica Discreta e di Analisi Matematica della laurea triennale |
Metodi didattici | Il corso è organizzato in lezioni frontali in aula su tutti gli argomenti del corso. In ogni lezione circa metà del tempo sarà dedicata alla soluzione di problemi ed esercizi. |
Altre informazioni | Per altre informazioni contattare il docente massimo.giulietti@unipg.it |
Modalità di verifica dell'apprendimento | L'esame consiste di una prova orale, nella quale verranno sottoposti allo studente tre quesiti relativi a tre distinte parti del programma. La prova ha una durata di circa 30/40 minuti ed è finalizzata ad accertare il livello di conoscenza e capacitá di comprensione raggiunto dallo studente sui contenuti teorici e metodologici indicati nel programma (aritmetica modulare e campi finiti, crittografia a chiave pubblica, crittografia simmetrica, hash e firma digitale=, La prova orale consentirá inoltre di verificare la capacitá di comunicazione dell'allievo con proprietá di linguaggio ed organizzazione autonoma dell'esposizione sugli stessi argomenti a contenuto teorico. Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
Programma esteso | Crittografia classica: cifrari di Cesare, di sostituzione, di permutazione, di Vigenere, di Hill e loro crittanalisi. Segretezza perfetta. Prodotto di crittosistemi. Cifrari a blocchi: reti di sostituzione-permutazione, crittanalisi lineare e differenziale, DES, AES. Funzioni hash in crittografia. Funzioni hash iterate. La costruzione di Merkle-Damgard e algoritmi SHA. Message authentication codes e famiglie universali di funzioni hash. Crittografia a chiave pubblica. Richiami di teoria dei numeri elementare: divisione euclidea, teorema cinese dei resti. RSA. Test di primalità e algoritmi di fattorizazzione. Logaritmi discreti. Crittosistema di ElGamal. Algoritmi per il problema del logaritmo discreto. Campi finiti. Curve ellittiche. Firma digitale. Schema di firma di ElGamal. DSA e Elliptic Curves DSA. Curve di Edwards e EdDSA. Secret sharing schemes. Crittografia post-quantum. Crittografia omomorfa. |
CRYPTOGRAPHY AND APPLICATIONS: MODULO 2
Codice | A002092 |
---|---|
CFU | 6 |
Docente | Marco Timpanella |
Docenti |
|
Ore |
|
Attività | Affine/integrativa |
Ambito | Attività formative affini o integrative |
Settore | MAT/03 |
Tipo insegnamento | Obbligatorio (Required) |
Lingua insegnamento | INGLESE |
Contenuti | Crittografia post-quantum: Crittografia basata su reticoli, Crittografia basata su codici, Crittografia multivariata, Crittografia basata su funzioni hash. Secret Sharing Schemes (SSS): Schema di Shamir, SSS da strutture geometriche, SSS da codici lineari. Sistemi crittografici privacy-preserving: Crittografia omomorfa, Secure multi-party computation, Private information retrieval. |
Testi di riferimento | D.R. Stinson, Cryptography - Theory and Practice - Chapman & Hall/CRC Mathematics of Public Key Cryptography. Version 2.0. S.D. Gailbraith, 2018 |
Obiettivi formativi | Crittografia e applicazioni-modulo II è l'insegnamento della Laurea Magistrale dedicato ad alcuni argomenti d'avanguardia nell'ambito della sicurezza informatica e della Crittografia. L'obiettivo principale dell'insegnamento consiste nell'utilizzare le conoscenze di base di Crittografia acquisite nel primo modulo e fornire agli studenti le basi teoriche/matematiche per affrontare problemi avanzati relativi alla sicurezza delle comunicazioni. Il corso si prefigge anche lo scopo affinare la capacità di astrazione e, d’altra parte, mostrare come una buona conoscenza teorica permetta di sviluppare significativi strumenti applicativi. Le principali conoscenze acquisite saranno: -Consapevolezza dei diversi approcci utilizzati nell'ambito della Crittografia post-quantistica. -Familiarità con strumenti crittografici di tutela della privacy (private information retrieval, secure multi-party computation, crittografia omomorfa) -Dimestichezza con i metodi di distribuzioni delle chiavi basati su Secret Sharing Schemes. Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) saranno: - valutare la sicurezza di un crittosistema di cifratura post-quantistico - valutare la sicurezza di un crittosistema di firma post-quantistico - valutare la difficoltà computazionale di problemi di teoria dei numeri - valutare la capacità di un sistema di preservare la privacy di un utente Autonomia di giudizio (making judgements): -Essere in grado di costruire e sviluppare argomentazioni logiche con una chiara identificazione di assunti e conclusioni; essere in grado di riconoscere dimostrazioni corrette, e di individuare ragionamenti fallaci . -Essere in grado di produrre proposte atte a interpretare correttamente problematiche complesse nell'ambito della crittografia e delle sue applicazioni. -Essere in grado di formulare autonomamente giudizi pertinenti sull'applicabilità di modelli crittografici a situazioni teoriche e/o concrete. Abilità comunicative (communication skills): -Capacità di presentare argomenti, problemi, idee e soluzioni, sia proprie che altrui, in termini matematici e le loro conclusioni, con chiarezza e accuratezza e con modalità adeguate agli ascoltatori a cui ci si rivolge, sia in forma orale che in forma scritta. -Capacità di motivare chiaramente la scelta delle strategie, metodi e contenuti, nonché degli strumenti computazionali adottati. Capacità di apprendimento (learning skills): Leggere e approfondire un argomento della letteratura crittografica. Affrontare in modo autonomo lo studio sistematico di argomenti crittografici non precedentemente approfonditi. |
Prerequisiti | Al fine di comprendere e saper applicare la maggior parte delle tecniche descritte nell'insegnamento è necessario avere sostenuto con successo gli esami di Matematica Discreta, di Analisi Matematica della laurea triennale e di Crittografia ed applicazioni mod. I della laurea magistrale. |
Metodi didattici | Il corso è organizzato in lezioni frontali in aula su tutti gli argomenti del corso. In ogni lezione circa metà del tempo sarà dedicata alla soluzione di problemi ed esercizi. |
Altre informazioni | |
Modalità di verifica dell'apprendimento | L'esame consiste di una prova orale, nella quale verranno sottoposti allo studente tre quesiti relativi a tre distinte parti del programma. La prova ha una durata di circa 30/40 minuti ed è finalizzata ad accertare il livello di conoscenza e capacità di comprensione raggiunto dallo studente sui contenuti teorici e metodologici indicati nel programma. La prova orale consentirà inoltre di verificare la capacità di comunicazione dell'allievo con proprietà di linguaggio ed organizzazione autonoma dell'esposizione sugli stessi argomenti a contenuto teorico. Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
Programma esteso | Crittografia post-quantum: -Crittografia basata su reticoli: introduzione ai reticoli, problemi sui reticoli, NTRU (funzionamento e sicurezza). -Crittografia basata su codici: codici lineari, problema della decodifica, crittosistema di McEliece. -Crittografia multivariata: problema MQ, crittosistema hidden field equations (funzionamento e sicurezza), schema di firma digitale (oil and vinegar) -Crittografia basata su funzioni hash: crittosistema di Lamport (funzionamento e sicurezza) Secret Sharing Schemes (SSS): tipologie di SSS e realizzazioni. Schema di Shamir. SSS da strutture geometriche. SSS da codici lineari. Sistemi crittografici privacy-preserving: -Crittografia omomorfa: Partially homomorphic encryption, Somewhat homomorphic encryption, Fully homomorphic encryption: esempi ed applicazioni. -Secure multi-party computation e legami con SSS e crittografia omomorfa -Private information retrieval: protocolli PIR e codici PIR (costruzioni tramite codici di copertura, k-partial packings, insiemi di punti in spazi proiettivi sopra campi finiti). |