Crittografia ed aritmetica modulare Giancarlo Rinaldo Dipartimento di Matematica - Università di Messina Progetto Lauree Scientifiche 25 Novembre 2010 Motivazioni Motivazioni Criptare e decriptare i messaggi può essere un gioco interessante per tutti noi... Motivazioni Criptare e decriptare i messaggi può essere un gioco interessante per tutti noi... ... Ma anche conoscere come funziona la navigazione sicura sul web, la gestione dei conti on-line, le e-mail con firma digitale . Motivazioni Criptare e decriptare i messaggi può essere un gioco interessante per tutti noi... ... Ma anche conoscere come funziona la navigazione sicura sul web, la gestione dei conti on-line, le e-mail con firma digitale . Tutto questo è basato sull’affascinante ed in buona parte ignoto mondo dei numeri primi. Obiettivi in sintesi ; Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; RSA. Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; RSA. Aritmetica modulare. Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; RSA. Aritmetica modulare. Algoritmo di Euclide esteso. Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; RSA. Aritmetica modulare. Algoritmo di Euclide esteso. Teorema di Fermat-Eulero. Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; RSA. Aritmetica modulare. Algoritmo di Euclide esteso. Teorema di Fermat-Eulero. Crivello di Eratostene. Obiettivi in sintesi Conoscenza di :Codice cesare e cifrari lineari; Cifrario di Vigenere; One time pad; RSA. Aritmetica modulare. Algoritmo di Euclide esteso. Teorema di Fermat-Eulero. Crivello di Eratostene. Programmazione in Pari-GP I Lezione I Test di inizio corso. I Lezione I Test di inizio corso. I Codice Cesare. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Algoritmo di Euclide e resto della divisione. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Algoritmo di Euclide e resto della divisione. I Congruenza modulo m. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Algoritmo di Euclide e resto della divisione. I Congruenza modulo m. I Giochiamo con la criptazione dei messaggi. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Algoritmo di Euclide e resto della divisione. I Congruenza modulo m. I Giochiamo con la criptazione dei messaggi. I Somma modulare. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Algoritmo di Euclide e resto della divisione. I Congruenza modulo m. I Giochiamo con la criptazione dei messaggi. I Somma modulare. I La tabella della somma in Pari-GP. I Lezione I Test di inizio corso. I Codice Cesare. I Definizione di funzione di criptazione e decrittazione. Funzioni biiettive. I L’insieme Zm . I Il programma “Clock” e le “ore” che si equivalgono. I Algoritmo di Euclide e resto della divisione. I Congruenza modulo m. I Giochiamo con la criptazione dei messaggi. I Somma modulare. I La tabella della somma in Pari-GP. I Criptazione e decriptazione del codice Cesare tramite la somma modulare. Calcolo della chiave di decriptazione. II Lezione II Lezione I Criptazione con il prodotto modulare. II Lezione I Criptazione con il prodotto modulare. I Verifichiamo con “Clock” e con Pari-GP. II Lezione I Criptazione con il prodotto modulare. I Verifichiamo con “Clock” e con Pari-GP. I Importanza del concetto di coprimalità per un buon funzionamento della criptazione. II Lezione I Criptazione con il prodotto modulare. I Verifichiamo con “Clock” e con Pari-GP. I Importanza del concetto di coprimalità per un buon funzionamento della criptazione. I Equazioni congruenziali. Algoritmo di Euclide esteso per il calcolo della chiave di decriptazione. II Lezione I Criptazione con il prodotto modulare. I Verifichiamo con “Clock” e con Pari-GP. I Importanza del concetto di coprimalità per un buon funzionamento della criptazione. I Equazioni congruenziali. Algoritmo di Euclide esteso per il calcolo della chiave di decriptazione. I Osservazione sui cifrari lineari. II Lezione I Criptazione con il prodotto modulare. I Verifichiamo con “Clock” e con Pari-GP. I Importanza del concetto di coprimalità per un buon funzionamento della criptazione. I Equazioni congruenziali. Algoritmo di Euclide esteso per il calcolo della chiave di decriptazione. I Osservazione sui cifrari lineari. I Giochiamo con la criptazione dei messaggi. III Lezione III Lezione I Cifrari Polialfabetici. Il Codice di Vigenere. III Lezione I Cifrari Polialfabetici. Il Codice di Vigenere. I Rompiamo insieme Vigenere: Il massimo comun divisore che ritorna! III Lezione I Cifrari Polialfabetici. Il Codice di Vigenere. I Rompiamo insieme Vigenere: Il massimo comun divisore che ritorna! I Teorema di Shannon:One Time Pad. III Lezione I Cifrari Polialfabetici. Il Codice di Vigenere. I Rompiamo insieme Vigenere: Il massimo comun divisore che ritorna! I Teorema di Shannon:One Time Pad. I Valutazione intermedia. IV Lezione IV Lezione I Numeri primi e crivello di Eratostene. IV Lezione I Numeri primi e crivello di Eratostene. I Infinitezza dei numeri primi. IV Lezione I Numeri primi e crivello di Eratostene. I Infinitezza dei numeri primi. I Cifrari polialfabetici tramite l’aritmetica modulare. IV Lezione I Numeri primi e crivello di Eratostene. I Infinitezza dei numeri primi. I Cifrari polialfabetici tramite l’aritmetica modulare. I Alfabeto allargato e cambio di base. IV Lezione I Numeri primi e crivello di Eratostene. I Infinitezza dei numeri primi. I Cifrari polialfabetici tramite l’aritmetica modulare. I Alfabeto allargato e cambio di base. I Criptiamo e decriptiamo un cifrario polialfabetico tramite Pari-GP. V Lezione V Lezione I Test di primalità: Teorema di Fermat-Eulero. V Lezione I Test di primalità: Teorema di Fermat-Eulero. I Calcolo efficiente delle potenze modulari. V Lezione I Test di primalità: Teorema di Fermat-Eulero. I Calcolo efficiente delle potenze modulari. I Giochiamo con le potenze modulari. V Lezione I Test di primalità: Teorema di Fermat-Eulero. I Calcolo efficiente delle potenze modulari. I Giochiamo con le potenze modulari. I Ricerchiamo numeri pseudo-primi. VI Lezione I Crittografia a chiave privata e pubblica. VI Lezione I Crittografia a chiave privata e pubblica. I Funzione a senso unico. VI Lezione I Crittografia a chiave privata e pubblica. I Funzione a senso unico. I Prodotto di due numeri primi e scomposizione del prodotto nei suoi fattori. Esempi di calcolo alla lavagna. VI Lezione I Crittografia a chiave privata e pubblica. I Funzione a senso unico. I Prodotto di due numeri primi e scomposizione del prodotto nei suoi fattori. Esempi di calcolo alla lavagna. I Descrizione di RSA. VII Lezione I Riepilogo e osservazioni sul laboratorio. VII Lezione I Riepilogo e osservazioni sul laboratorio. I Test di fine corso. Bibliografia Bibliografia I M. Curzio, P. Longobardi, M. Maj, Lezioni di Algebra, Liguori Editore, 1994. Bibliografia I M. Curzio, P. Longobardi, M. Maj, Lezioni di Algebra, Liguori Editore, 1994. I C. Paar, Applied cryptography and data security, Lecture notes, http://www.crypto.rhur-uni-bochum.de/, 2000. Bibliografia I M. Curzio, P. Longobardi, M. Maj, Lezioni di Algebra, Liguori Editore, 1994. I C. Paar, Applied cryptography and data security, Lecture notes, http://www.crypto.rhur-uni-bochum.de/, 2000. I Pari Team, PARI/GP, version 2.1.5, http://pari.math.u-bordeaux.fr/, Bordeaux,2003. Bibliografia I M. Curzio, P. Longobardi, M. Maj, Lezioni di Algebra, Liguori Editore, 1994. I C. Paar, Applied cryptography and data security, Lecture notes, http://www.crypto.rhur-uni-bochum.de/, 2000. I Pari Team, PARI/GP, version 2.1.5, http://pari.math.u-bordeaux.fr/, Bordeaux,2003. I G. Rinaldo, Clock, http://ww2.unime.it/algebra/rinaldo, Messina, 2005. I G. Rinaldo, Crittografia, http://ww2.unime.it/algebra/rinaldo/public.html, Messina, 2009.