Teoria dei numeri e Crittografia: lezione del 5 dicembre 2011
Abbiamo dimostrato il seguente:
Teorema.
Se p è primo >2 si ha: (2 / p) = ( 1)
(p21)/8Da tale Teorema precedente segue in pratica che (2 / p)= 1 a secondo se (p
2-1)/8 è pari o dispari.
Ma considerando la classe [p] in Z
8si ha [p]=[t] con t=1,3,5,7 (perché p è dispari), p=t+8k con k naturale. Si ha allora:
(p
2-1)/8 = (t
2-1)/8+(8k
2+2tk)
Dunque (p
2-1)/8 è pari se e solo se (t
2-1)/8 è multiplo di 2, e ciò avviene solo per t=1,7.
Riassumendo:
(2 / p)=+1 se (p
2-1)/8 è pari cioè se p1,7 (mod 8) (2 / p)= -1 se (p
2-1)/8 è dispari cioè se p3,5 (mod 8)
Per il calcolo del simbolo di Legendre (q / p) nel caso di q, p primi distinti > 2 può essere utile il seguente Teorema (di cui si omette la dimostrazione):
Legge di reciprocità quadratica di Gauss.
Se p,q sono primi >2 distinti si ha:
(p / q)(q / p) = (-1)
(p-1)(q-1)/4Si può allora calcolare uno dei numeri (p / q), (q / p) conoscendo l’altro: infatti moltiplicando l’eguaglianza precedente per esempio per (p / q) (ricordando che (p / q)
2=(1)
2=1) si ha
(q / p) = (-1)
(p-1)(q-1)/4(p / q)
Tutte le considerazioni già fatte permettono di costruire un algoritmo per il calcolo di (a / p), quando p>2 è un primo ed a>1 è un numero naturale qualunque non multiplo di p:
- si rende a<p sostituendo a con la sua riduzione modulo p (per la proprietà 3) del simbolo di Legendre)
- si fattorizza a in prodotto di potenze di primi distinti:
a = p p
1k1 2k2.... p
rkr(p
iprimi distinti , tutti p perché p non è divisore di a) in modo da avere:
(a / p) =
1
( / )
i
r i k disparii
p p
e ricondurre il calcolo di (a / p) al calcolo di (p
i/ p) - se p
i=2 si usa la formula già dimostrata per (2 / p)
- se p
i>2, si usa la legge di reciprocità quadratica per ricavare (p
i/ p) in funzione di (p / p
i), ed essendo p>p
isi riduce p modulo p
i, si fattorizza tale riduzione in prodotto di primi, e si itera il procedimento.
L’algoritmo precedente riconduce il calcolo a numeri sempre più piccoli: al limite alla fine si tratta di calcolare un simbolo di Legendre del tipo (2 / p)= ( 1)
(p21)/8o (1/p)=1 (perché 11
2(mod p)).
Esempio:
Calcoliamo (338/131).
Riducendo 338 modulo 131 si ottiene 76, quindi si deve calcolare (76/131).
I fattori primi di 76 sono 2 (con molteplicità 2) e 19 (con molteplicità 1), quindi (76/131)=(19/131).
Per la legge di reciprocità quadratica (essendo [(19-1)/2][(131-1)/2] dispari): (19/131)=-(131/19).
Riducendo 131 modulo 19 si ottiene 17, da cui (131/19)=(17/19).
Per la legge di reciprocità quadratica (essendo [(17-1)/2][(19-1)/2] pari): (17/19)=(19/17).
Riducendo 19 modulo 17 si ottiene 2, da cui (17/19)=(2/17).
Infine (2/17)=+1 (perché 171 (mod 8)).
Riassumendo si ha (338/131)= -1 (quindi 331 non è resto quadratico modulo 131).
Siamo ora in grado di dimostrare il criterio di Pepin per la primalità dei numeri di Fermat:
Teorema di Pepin.
Il numero di Fermat F
r= 2
(2 )r+1 (con r>0) è un numero primo 3
r21 F -1 (mod Fr)
Dimostrazione:
(): Basta applicare l’implicazione () del Teorema di Proth-Pocklington, con n=F
r, h=1, a=3 (): Essendo 3, F
rprimi dispari distinti (perché F
r>3 essendo r>0), per la legge di reciprocità quadratica si ha:
(3 / F
r) = (F
r/ 3) ( 1)
21 Fr
Ma (F
r-1)/2= 2
2 1rè pari (perché r>0), dunque (3 / F
r) = (F
r/ 3).
Valgono le seguenti congruenze modulo 3:
F
r=
2(2r)+1 =
4(2r-1)+1 1+1 2 (mod 3)
Dunque, per la proprietà 3) del simbolo di Legendre e per la regola di calcolo di (2 / p) si ha:
(3/F
r) = (F
r/3) = (2/3) = (-1)
(9-1)/8= -1 Per il criterio di Eulero si ha infine la tesi 3
r21F
-1 (mod Fr).
Il teorema di Pepin permette di costruire un test deterministico di primalità per i numeri di Fermat F
r= 2
( )2r+1 (con r>0):
1) si calcola la riduzione 3
F 1r2-modFr
2) se tale riduzione è = (n -1) (ciò equivale alla congruenza 3
r21 F -1 (mod Fr)) si esce con output “F
r è primo”; in caso contrario si esce con output “F
r è composto”.
Poiché si può utilizzare l’algoritmo della esponenziazione modulare, la complessità di tale test è di ordine O(x
3), dove x=L(F
r)=2
r+1 (perché 2
( )2r< F
r< 2
(2 1r+ )).
I numeri di Fermat F
rhanno alcune interessanti applicazioni geometriche relative al cosiddetto problema della “ciclotomia”: fissato un naturale n>2, suddividere una circonferenza in n parti uguali (equivalentemente disegnare un poligono regolare di n lati iscritto nella circonferenza) usando solo riga e compasso.
Per quali valori di n>2 il problema ha soluzione ?
Per esempio per n=6 il problema ha soluzione: il lato dell’esagono regolare si può costruire con riga e compasso perché la sua ampiezza è uguale a quella del raggio della circonferenza circoscritta.
Esiste un importante Teorema (di cui diamo solo l’enunciato):
Teorema.
Il problema della ciclotomia ha soluzione per tutti e soli i valori n>2 tali che n sia della forma:
1 2
...
mt r r r