Laurea Specialistica in Ingegneria Informatica
Anno Accademico 2014-2015
Primo semestre.
Diario delle lezioni di Teoria Elementare dei Numeri



Prima settimana:
Illustrazione del programma del corso. 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, prodotto.

  • vedi: Soluzioni Esercizi-svolti n.1.


    Seconda settimana:
    Caratterizzazione delle classi resto in Zn che ammettono inverso moltiplicativo. L'algoritmo di Euclide e l'algoritmo di Euclide esteso. Stima della complessita' dell'algoritmo di Euclide e del calcolo dell'inverso moltiplicativo di una classe resto in Zn. Il criptosistema RSA. Un esempio con PARI/GP.

  • vedi: Soluzioni Esercizi-svolti n.1.
  • R. Schoof, Fattorizzazione e criptosistemi a chiave pubblica, Didattica delle Scienze 137 (1988), 48–54.


    Terza settimana:
    Il Piccolo Teorema di Fermat. Numeri di Carmichael. Il Teorema di Miller-Rabin. Il test di primalita' di Miller-Rabin e la sua complessita'. Il teorema dei Numeri Primi. Applicazioni ed esempi: costruzione di grossi primi.

  • vedi: nota2, Appendice (test di Miller-Rabin);
  • per gli esperimenti con PARI/GP, vedi: MRsteps txt
  • Crandall-Pomerance, Thm.1.1.4; soluzioni Esercizi-svolti n.2.


    Quarta settimana:
    L'algoritmo di fattorizzazione per divisioni successive e la sua complessita'. 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.

  • Crandall-Pomerance, sect. 5.2.1;
  • Nota su Pollard ρ


    Quinta settimana:
    Gruppi: definizione e proprieta'. Il gruppo additivo Zn e il gruppo moltiplicativo Z*p. La funzione φ di Eulero.
    Il Teorema di Lagrange. Ordine di un elemento in un gruppo. L'ordine di un elemento divide l'ordine del gruppo.

  • Nota2;
  • Nota sulla funzione φ di Eulero;


    Sesta settimana:
    Gruppi ciclici e generatori. Esempi di gruppi ciclici finiti: il gruppo additivo Zn, gruppi finiti di ordine primo, il prodotto ZnxZm, con gcd(m,n)=1.
    Due lemmi preliminari alla dimostrazione del Teorema della Radice Primitiva: formula di Gauss e ordine della potenza di un elemento di ordine a. Il Teorema della Radice Primitiva.

  • Nota2;
  • Nota sulle radici primitive modulo p.


    Settima settimana:
    Radici di un polinomio a coefficienti in Zp, con p primo. Ulteriori osservazioni sui gruppi abeliani finiti. Interi B-smooth, funzione di Dickman. L'algoritmo p-1 di Pollard e la sua complessita' probabilistica. Esempi con PARI/GP.

  • Crandall-Pomerance, Sect.1.4.5, e soluzioni Esercizi-svolti 2.
  • Crandall-Pomerance, Sez.5.4.
  • Nota su "Pollard p-1".


    Ottava settimana:
    Introduzione alle curve ellittiche: equazione di Weierstrass; esempi di curve ellittiche su Z p, con p primo.
    Costruzione geometrica della somma di due punti su una curva ellittica su R.

  • Crandall-Pomerance Cap.7, Sez.7.1; soluzioni Esercizi-svolti n.5: n.1-5
  • William Stein, Elementary Number Theory, Ch.6 pdf


    Nona settimana:
    Curve ellittiche su Z p, con p primo: esempi ed esercizi. Il teorema di Hasse. La struttura del gruppo dei punti di una curva ellittica su Z p (cenni).


    Decima settimana:
    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.
    Complessita' probabilistica dell'algoritmo.

  • Larry Washington, Elliptic curves - Number theory and Criptography, pag. 9-19; pag. 89-91; pag. 179-184;
  • Crandall-Pomerance, Cap.7, Sez.7.1, 7.2, 7.3, 7.4;
  • Introduzione di: H. Lenstra, Factoring integers with elliptic curves, Annals of Math. 126, (1987) 649-673 pdf
  • Nota sul metodo delle curve ellittiche.


    Undicesima settimana:
    La seconda fase dell'algoritmo ECM. Esempi con PARI/GP.
    Esercizi assortiti.


    Dodicesima settimana:
    Il logaritmo discreto in Z*p: definizione e proprieta'. Criterio della radice primitiva.
    Il logaritmo discreto. Il calcolo dell'indice per la risoluzione del logaritmo discreto in Z*p (continua).

  • Nota sulle radici primitive modulo p.
  • Crandall-Pomerance, Cap.6, Sez.6.4.1;
  • Nota "Calcolo dell'indice...."; Esercizi-svolti n.6.

  • Tredicesima settimana:
    Il calcolo dell'indice per la risoluzione del logaritmo discreto in Z*p.


    Quattordicesima settimana:
    La complessita' probabilistica del Calcolo dell'Indice. Diffie-Hellman-Merkle key-exchange. Il criptosistema a chiave pubblica El Gamal. L'algoritmo Baby-Step-Giant-Step per la risoluzione del logaritmo discreto su un gruppo ciclico arbitrario. La complessita' di BS-GS. Il logaritmo discreto sul gruppo dei punti di una curva ellittica su Zp (quando e' ciclico).

  • Crandall-Pomerance, Cap.5, Sez.5.3;
  • Larry Washington, Elliptic curves - Number theory and Criptography, pag. 133-137
  • Note su "Calcolo dell'indice" e su "Applicazioni del logaritmo discreto alla criptografia".

  • Quindicesima settimana:
    Il crivello quadratico per la fattorizzazione di numeri interi.


    Sedicesima settimana:


    Fine







    N.B.
    La nota1 - "Aritmetica sui numeri interi" contiene i prerequisiti su massimo comun divisore, algoritmo di Euclide, congruenze.
    La nota2 - "Gruppi, anelli, campi e applicazioni" contiene in particolare i prerequisiti sull'anello Zn.