20410424 - IN450- ALGORITMI PER LA CRITTOGRAFIA

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.

Curriculum

scheda docente | materiale didattico

Mutuazione: 20410424 IN450- ALGORITMI PER LA CRITTOGRAFIA in Scienze Computazionali LM-40 PEDICINI MARCO

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).

Testi Adottati

[1] Antoine Joux, Algorithmic Cryptanalysis, (2010) CRC Press, in inglese;
[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.

Modalità Erogazione

Lezioni in aula e lezioni di programmazione in laboratorio informatico.

Modalità Valutazione

Esame scritto e valutazione del progetto di programmazione.

scheda docente | materiale didattico

Mutuazione: 20410424 IN450- ALGORITMI PER LA CRITTOGRAFIA in Scienze Computazionali LM-40 PEDICINI MARCO

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).

Testi Adottati

[1] Antoine Joux, Algorithmic Cryptanalysis, (2010) CRC Press, in inglese;
[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.

Modalità Erogazione

Lezioni in aula e lezioni di programmazione in laboratorio informatico.

Modalità Valutazione

Esame scritto e valutazione del progetto di programmazione.

scheda docente | materiale didattico

Mutuazione: 20410424 IN450- ALGORITMI PER LA CRITTOGRAFIA in Scienze Computazionali LM-40 PEDICINI MARCO

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).

Testi Adottati

[1] Antoine Joux, Algorithmic Cryptanalysis, (2010) CRC Press, in inglese;
[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.

Modalità Erogazione

Lezioni in aula e lezioni di programmazione in laboratorio informatico.

Modalità Valutazione

Esame scritto e valutazione del progetto di programmazione.