Laurea Specialistica in Ingegneria Informatica
Anno Accademico 2017-2018
Primo semestre.
Diario delle lezioni di Teoria Elementare dei Numeri
Prima settimana (26 e 29 settembre 2017):
Richiami sul calcolo in Zn. Complessita' polinomiale e complessita' esponenziale di un algoritmo. Complessita' delle operazioni aritmetiche sugli interi: somma, sottrazione, prodotto, divisione con resto.
Complessita' delle operazioni aritmetiche su Zn: somma e prodotto. Caratterizzazione degli elementi di Zn che ammettono inverso moltiplicativo. Stima della complessita' dell'algoritmo di Euclide.
Seconda settimana (3 e 6 ottobre 2017):
Stima della complessita' del calcolo dell'inverso moltiplicativo di una classe resto in Zn mediante l'agoritmo di Euclide esteso.
La funzione φ di Eulero. Il criptosistema RSA. Un esempio con PARI/GP. Il Piccolo Teorema di Fermat.
Terza settimana (10 e 13 ottobre 2017):
Il Piccolo Teorema di Fermat. I numeri di Carmichael. Il teorema di Miller-Rabin. Il test di primalita' di MiIler-Rabin. La complessita' di un ciclo del test di Miller-Rabin. Il Teorema dei Numeri Primi: significato e conseguenze. Complessita' probabilistica dell'individuazione di un primo di grandezza prefissata.
L'algoritmo di fattorizzazione per divisioni successive e la sua complessita'.
Quarta settimana (17 e 20 ottobre 2017):
Il paradosso del compleanno. Il metodo di fattorizzazione ρ di Pollard.
Il Lemma di Floyd.
La complessita' probabilistica del metodo ρ di Pollard. Esempi con PARI/GP.
Gli interi B-smooth: definizione.
Quinta settimana (24 e 27 ottobre 2017):
Interi B-smooth: la funzione di Dickman.
L'algoritmo p-1 di Pollard e la sua complessita' probabilistica. Esempi con PARI/GP. Esercizi.
Sesta settimana (7 e 10 novembre 2017):
Introduzione alle curve ellittiche: equazione di Weierstrass di una curva ellittica su un campo K diverso da Z 2 e Z 3.
Curve ellittiche su R: implicazioni della condizione "discriminante non nullo"; costruzione geometrica della somma di due punti e del doppio di un punto.
Curve ellittiche su Z p, con p>>0 primo: l'intervallo di Hasse;
la struttura del gruppo E(Z p) (cenni).
Settima settimana (14 e 17 novembre 2017):
Introduzione al metodo di fattorizzazione con le curve ellittiche ECM di Lenstra: descrizione della fase 1 di un ciclo dell'algoritmo. Esempi con PARI/GP.
La complessita' di un ciclo della fase 1. La fase due.
Complessita' probabilistica dell'algoritmo ECM. Esempi con PARI/GP.
Ottava settimana (21 e 24 novembre 2017):
Il logaritmo discreto: definizione e proprieta' del logaritmo discreto su un gruppo ciclico.
Criterio della radice primitiva in Z*p. Index Calculus in
Z*p. Complessita' probabilistica dell'I.C. (continua)
Nona settimana (28 novembre e 1 dicembre 2017):
Complessita' probabilistica dell'I.C.. L'algoritmo Baby-Step-Giant-Step per la risoluzione del logaritmo discreto in un gruppo ciclico arbitrario. Complessita' dell'algoritmo BS-GS. Diffie-Hellman-Merkle key exchange. Il criptosistema a chiave pubblica El Gamal. Esempi ed esercizi.
Decima settimana (5 dicembre 2017):
Introduzione al crivello quadratico: dalle relazioni alle congruenze fra quadrati modulo n (continua).
Undicesima settimana (12 & 15 dicembre 2017):
Crivello quadratico: la fase di sieving.
Stima della complessita' probabilistica del crivello quadratico.
Dodicesima settimana (19 & 22 dicembre 2017):
Certificati di primalita': il test di Pocklington.
Elliptic Curve Primality Proving (ECPP): test di primailta' di Goldwasser-Kilian.
Tredicesima settimana (9 & 12 gennaio 2018):
Esercizi assortiti e ripasso.
Quattordicesima settimana (16 & 20 gennaio 2018):
Esercizi assortiti e ripasso.