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



Prima settimana:
Introduzione al corso: cenni al criptosistema RSA. Complessita' polinomiale e complessita' esponenziale di un algoritmo. Complessita' delle operazioni aritmetiche sugli interi: somma, sottrazione, prodotto, divisione con resto, elevamento ad una potenza intera.
Complessita' delle operazioni aritmetiche su Zn : somma, prodotto, elevamento ad una potenza intera.

  • vedi: Soluzioni Esercizi-svolti n.1.


    Seconda settimana:
    La complessita' dell'algoritmo di Euclide e del calcolo di un inverso in Z*n ( vedi: soluzioni Esercizi-svolti n.1).
    Il Piccolo Teorema di Fermat e i numeri di Carmichael. Il teorema di Miller-Rabin. Il test di primalita' di Miller-Rabin (vedi: nota2, Appendice) e la sua complessita'.
    Il criptosistema RSA: esempi con PARI/GP.

  • R. Schoof, Fattorizzazione e criptosistemi a chiave pubblica, Didattica delle Scienze 137 (1988), 48–54.


    Terza settimana:
    Il Teorema dei Numeri Primi. Applicazioni ed esempi. (vedi: Crandall-Pomerance, Thm.1.1.4; soluzioni Esercizi-svolti n.2).
    Complessita' dell'algoritmo di fattorizzazione per divisioni successive.
    Ulteriori richiami su Zn e su Z*p. La funzione φ di Eulero (vedi nota sulla funzione φ di Eulero). Gruppi: definizione e proprieta'.
    Il gruppo additivo Zn e il gruppo moltiplicativo Z*p (vedi nota2).


    Quarta settimana:
    Il paradosso del compleanno. Il metodo di fattorizzazione ρ di Pollard. Il Lemma di Floyd.
    La complessita' probabilistica del metodo ρ di Pollard. (vedi Crandall-Pomerance, sect. 5.2.1; Nota su Pollard ρ). Esempi con PARI/GP.


    Quinta settimana:
    Ulteriori richiami sui gruppi: il Teorema di Lagrange. Ordine di un elemento in un gruppo. L'ordine di un elemento divide l'ordine del gruppo.
    Gruppi ciclici e generatori. Esempi di gruppi ciclici finiti: il gruppo additivo Zn, gruppi finiti di ordine primo (vedi nota2), il prodotto ZnxZm, per 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 (vedi Nota sulle radici primitive modulo p).


    Sesta settimana:
    Radici di un polinomio a coefficienti in Zp, con p primo. Il teorema della radice primitiva (per ora solo enunciato): se p e' primo, il gruppo moltiplicativo Z*p e' ciclico. Inoltre in Z*p ci sono φ(d) elementi di ordine d (vedi Nota sulle radici primitive modulo p). Esempi ed ed esercizi.
    Interi B-smooth, funzione di Dickman (vedi Crandall-Pomerance, Sect.1.4.5, e soluzioni Esercizi-svolti 2).
    L'algoritmo p-1 di Pollard e la sua complessita' probabilistica (vedi Crandall-Pomerance, Sez.5.4 e Nota su "Pollard p-1").


    Settima settimana:
    L'algoritmo p-1 di Pollard: esperimenti con PARI/GP.
    Introduzione alle curve ellittiche: equazione di Weierstrass ; esempi di curve ellittiche su Z p, con p primo.
    Costruzione geometrica della somma fra punti di una curva ellittica su R (vedi Crandall-Pomerance Cap.7, Sez.7.1; soluzioni Esercizi-svolti n.5: n.1-5).

  • William Stein, Elementary Number Theory, Ch.6 pdf


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

  • Esercizi-svolti n.5.


    Nona settimana:
    Introduzione al metodo di fattorizzazione con le curve ellittiche ECM di Lenstra: descrizione della fase 1 di un ciclo dell'algoritmo. Complessita' probabilistica dell'algoritmo.
    (vedi 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).


    Decima settimana:
    La seconda fase dell'algoritmo. Esempi con PARI/GP.
    Il logaritmo discreto in Z*p: definizione e proprieta'. Criterio della radice primitiva.
    (vedi Nota sulle radici primitive modulo p).


    Undicesima settimana:
    Il logaritmo discreto. Il calcolo dell'indice per la risoluzione del logaritmo discreto in Z*p. Esempi ed esercizi.
    Stima della complessita' probabilistica del calcolo dell'indice (continua).

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

  • Dodicesima settimana:
    Stima della complessita' probabilistica del calcolo dell'indice (fine). Applicazioni del logaritmo discreta alla crittografia: Diffie-Hellman-Merkle key exchange, criptosistema a chiave pubblica El Gamal. Algortitmo Baby-Step-Giant-Step. Esempi ed esercizi.

  • 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".

  • Tredicesima settimana:
    Introduzione al crivello quadratico per la fattorizzazion di interi. La seconda parte dell'algoritmo: dalle relazioni alle congruenze fra quadrati modulo $n.


    Quattordicesima settimana:
    La prima parte dell'algoritmo: la fase di sieving per ottenere le relazioni. Un esempio in dettaglio. Complessita' probabilistica del crivello quadratico.

  • Nota ``Crivello quadratico".
  • "Esempio di fattorizzazione etc..." + Spiegazione.


    Quindicesima settimana:
    Esercizi sui gruppi abeliani finiti. Preliminari all'algoritmo di Pocklington. L'algoritmo di Pocklington.

  • Esercizi-svolti n.8.

  • Sedicesima settimana:
    L'algoritmo di Pocklington. Cenni all'algoritmo di Goldwasser-Kilian (E.C.P.P.). Certificati di primalita'.


    Fine



    Per comunicare con me via skype: mettersi in contatto con geageometria.



    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.