IN450- Algoritmi per la Crittografia

Codice: 20410424

Scheda insegnamento

Anno Accademico di erogazione
2026/2027
Corso di studi
Fisica
Periodo di erogazione
Secondo semestre
CFU
6 CFU
Lingua
Italiano
SSD
INFO-01/A

Scopri il programma didattico

Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027.

Docente
Marco Pedicini
Curriculum
Fisica Teorica e Computazionale della Materia
Anno di corso
1
Periodo
Secondo semestre
Ore
60
CUIN
260008843

Programma

1. Crittografia Classica

- Crittosistemi di base: cifratura per sostituzione, per traslazione, per permutazione, affine, di Vigenère, di Hill. Cifratura a flusso (sincrona e asincrona), Linear feedback shift registers (LFSR) su campi finiti, Cifrario autokey. Cifrari prodotto. Crittoanalisi di base: classificazione degli attacchi; crittoanalisi per i cifrari affini, per la cifratura a sostituzione (analisi delle frequenze), per la cifratura di Vigenere: Kasiski test, indice di coincidenza; crittoanalisi del cifrario di Hill e degli LFSR: attacchi algebrici, cube attack.

2. Applicazione della Teoria di Shannon alla crittografia

- Sicurezza dei cifrari: sicurezza computazionale, sicurezza dimostrabile, sicurezza incondizionata. Richiami di calcolo delle probabilità: variabili aleatorie discrete, probabilita congiunta, probabilita condizionata, variabili aleatorie indipendenti, Teorema di Bayes. Variabili aleatorie associate a crittosistemi. Sistemi di cifratura a sicurezza perfetta. Crittosistema di Vernam. Entropia. Codici di Huffman. Spurious Keys e Unicity distance.

3. Cifrari a blocchi

- Schemi di cifratura iterativi; Reti di Sostituzione-Permutazione (SPN); Crittoanalisi lineare per SPN: Piling-Up Lemma, approssimazione lineare di S- boxes, attacchi lineari a S-boxes; Crittoanalisi differenziale per SPN; Cifrari di tipo Feistel; DES: descrizione e analisi; AES: descrizione; Cenni sui campi finiti: operazioni su campi finiti, algoritmo di Euclide generalizzato per il calcolo del mcd e degli inversi; Modi operativi per i cifrari a blocchi.

4. Funzioni Hash e Codici per l’autenticazione di messaggi

- Funzioni di hash e integrità dei dati. Funzioni di hash sicure: resistenza alla controimmagine, resistenza alla seconda controimmagine, resistenza alla collisione. Il modello dell’oracolo random: funzioni di hash ideali, proprietà
di indipendenza. Algoritmi randomizzati, collisione sul problema della seconda controimmagine, collisione sul problema della controimmagine. Funzioni di hash iterate; la costruzione di Merkle-Damgard. Algoritmo di Hash Sicuro (SHA-1). Codici di Autenticazione (MAC): codici di autenticazione nidificati (HMAC).

Prerequisiti

Nozioni elementari di teoria dei numeri, probabilità discreta ed algebra lineare, programmazione di base.

Testi adottati

[1] Antoine Joux, Algorithmic Cryptanalysis, (2010) CRC Press.
[2] Douglas Stinson, Cryptography: Theory and Practice, 3rd edition, (2006) Chapman and Hall/CRC.
[3] Delfs H., Knebl H., Introduction to Cryptography, (2007) Springer Verlag.

Bibliografia di riferimento

[-] Serge Vaudenay, A Classical Introduction to Cryptography, Applications for Communications Security (2006) Springer-Verlag.
[-] Th. Baigneres, P. Junod, Y. Lu, J. Monnerat, S. Vaudenay A Classical Introduction to Cryptography Exercise Book Springer Verlag (2006).
[-] S. Mangano, Mathematica Cookbook ISBN: 9789863470106 Publisher: O'Reilly (2014).
[-] Schneier, Applied Cryptography (2006) Chapman and Hall/CRC.
[-] Katz, Lindell, Introduction to Modern Cryptography (2006) Chapman and Hall/CRC.
[-] Rudolf Lidl, Harald Niederreiter, Finite Fields, 2nd edition, In Encyclopedia of Mathematics and its Applications, (2007) Cambridge University Press.

Modalità di erogazione

Lezioni in aula e sessioni di programmazione al laboratorio informatico.

Modalità di frequenza

non obbligatoria

Modalità di valutazione

Esame scritto e valutazione del progetto di programmazione.

Prove previste

  • Prova scritta
  • Prove intermedie
  • Valutazione di un progetto

Esplora gli obiettivi dell’insegnamento

Ambito disciplinare: A scelta dello studente

Acquisire la conoscenza dei principali algoritmi di cifratura. Approfondire le competenze matematiche necessarie alla descrizione degli algoritmi. Acquisire le tecniche di crittoanalisi utilizzate nella valutazione del livello di sicurezza fornito dai sistemi di cifratura.

Risultati di apprendimento attesi

Acquisire la conoscenza dei principali algoritmi di cifratura. Approfondire le competenze matematiche necessarie alla descrizione degli algoritmi. Acquisire le tecniche di crittoanalisi utilizzate nella valutazione del livello di sicurezza fornito dai sistemi di cifratura.

Esempi di domande d’esame

Applicazione di tecniche di crittoanalisi ai sistemi di cifratura visti a lezione.

I corsi che comprendono questo insegnamento nell’A.A. 2026/2027

Matematica e Fisica

Fisica

Cod 198331

  • Laurea magistrale
  • 2 anni
  • 120 CFU
  • LM-17 R
Matematica e Fisica

Matematica

Cod 198373

  • Laurea magistrale
  • 2 anni
  • 120 CFU
  • LM-40 R
API