PROGRAMMA DEL CORSO DI CRITTOGRAFIA Prof. M. Biliotti Introduzione, proprieta' delle congruenze, numeri in basi diverse. Sistemi di codifica simmetrici: trasformazioni di shift, trasformazioni affini, trasformazioni lineari. Analisi di Frequenza. Sistema simmetrico di Giulio Cesare. Trasformazioni di Bigrafi. Matrici di codifica: algebra lineare modulo N, trasformazioni di codifica affini. Stima dei tempi per eseguire i calcoli: esempi, operazione bit, la O-notazione Piccolo teorema di Fermat. Teorema cinese dei resti. La funzione di Eulero, moltiplicativita’ della funzione di Eulero. Metodo dei quadrati ripetuti. Alcune applicazioni alla fattorizzazione: esempi. Sistemi di crittografia a chiave pubblica: introduzione, esempi di applicazioni. RSA: autentificazione della firma, funzioni hash, strategie d’attacco. Logaritmo Discreto: la congettura Diffie-Hellman, il sistema Massey-Omura, DSS. Firma digitale. Test di primalità. Pseudoprimi in base b: proprietà. Numeri di Carmichael: proprietà. Pseudoprimi di Eulero. Test di primalità di Solovay-Strassen. Testo consigliato: Neal Koblitz “A course in number theory and cryptography” Springer Editore