Teoria dei numeri e Crittografia: lezione dell’ 11 maggio 2011
Studiamo dunque i numeri naturali dispari n>1 della forma n=2
m+1, con m>0.
Fermat dimostrò che:
Teorema.
Se n=2
m+1 (con m>0), e se n è primo, allora necessariamente l’esponente m è una potenza di 2 della forma m=2
r, con r0.
Dimostrazione:
Per ogni naturale s>1 vale la seguente identità algebrica:
(x
s-y
s)=(x-y)(x
s-1+x
s-2y+….+xy
s-2+y
s-1)
(facilmente dimostrabile utilizzando la I
aforma del principio di induzione).
Quindi (x-y)(x
s-y
s) per ogni naturale s>1.
Per assurdo supponiamo n=2
m+1 primo, e l’esponente m non potenza di 2. Se 2
r(con r0) è la massima potenza di 2 che divide r (al limite r=0), si ha m=2
rs, con s>1, s dispari.
Dall’identità algebrica precedente, applicata con x= 2
(2 )r, y=-1, si ha che x-y= 2 (2
r) +1n= 2
(2 )r s+1:
tale divisore x-y= 2 (2
r) +1 di n è >1 (perché 2 (2
r) >0) ed è <n= 2
(2 )r s+1 (perché 2
rs>2
r, essendo s>1), in contraddizione con l’ipotesi che n è primo.
Visto il risultato precedente, studieremo solo i numeri di Fermat della forma F
r= 2
(2 )r+1 (al variare dell’intero r0), cercando quali fra essi sono numeri primi.
Notizie sullo stato attuale delle ricerche si possono trovare all’indirizzo:
www.prothsearch.net/fermat.html
Fermat congetturò che per ogni intero r0 il numero F
r= 2 (2
r) +1 fosse primo.
In effetti per r<5 i valori F
0=3, F
1=5, F
2=17, F
3=257, F
4=65.537 sono numeri primi.
Ma per r=5 il numero F
5=4.294.967.297 non è primo, essendo divisibile per il numero primo 641.
Quindi Fermat si sbagliava: inoltre a tutt’oggi per nessun r5 si è trovato un F
rche sia primo, e si congettura che un tale F
rnon esista (F
33è il numero di Fermat con r minimo del quale non si conosce la primalità o la non primalità).
Per dimostrare il criterio di Pepin per i numeri di Fermat F
r, dobbiamo però introdurre il concetto di resto quadratico modulo un numero primo.
Resti quadratici.
Siano p un numero primo, a un numero naturale non multiplo di p.
Si ha allora mcd(a,p)=1, dunque [a] appartiene al gruppo moltiplicativo Z
p* degli elementi invertibili di Z
p.
Diremo che a è un resto quadratico modulo p se esiste un naturale b tale che ab
2(mod p) (quindi se a è un “quadrato modulo p”). Notiamo che in tal caso anche il naturale b è ovviamente non multiplo di p, dunque [b] Z
p* e si ha [a]=[b
2]=[b]
2: in pratica a è resto quadratico modulo p se e solo se [a] è un quadrato perfetto in Z
p* (quindi la proprietà di essere un resto quadratico modulo p è relativa alla classe di congruenza modulo p, non al singolo naturale a).
Esempio.
Troviamo quali numeri naturali (non multipli di p=7) sono resti quadratici modulo 7.
Si ha Z
7* = {[1], [2], [3], [4], [5], [6]}, e i quadrati delle classi sono [1]
2=[6]
2=[1],
[2]
2=[5]
2=[4], [3]
2=[4]
2=[2].
Quindi i resti quadratici modulo 7 sono i numeri naturali a tali che a1,2,4 (mod 7).
Per p=2 la situazione dei resti quadratici è banale: si ha Z
2*={[1]}, [1]
2=[1], e tutti i naturali coprimi con 2 (cioè dispari) sono resti quadratici modulo 2.
Quindi studieremo la teoria dei resti quadratici solo nel caso di un numero primo p>2 (quindi p dispari).
Criterio di Eulero.
Sia p>2 un primo ed a un naturale non multiplo di p. Allora:
a è resto quadratico modulo p a
(p-1)/21 (mod p) Dimostrazione:
() Per ipotesi esiste [b] Z
p* tale che [a]=[b]
2. Per il Piccolo Teorema di Fermat si ha:
[1]=[b]
p-1=[a]
(p-1)/2e si ottiene la tesi.
() Per il Teorema di Gauss, il gruppo Z
p* è ciclico, generato da un elemento [x] di periodo uguale alla cardinalità (p-1) di Z
p*.
Ogni elemento di Z
p* è potenza di [x], e in particolare [a]=[x]
t.
Per ipotesi si ha [1]=[a]
(p-1)/2=([x]
(p-1)/2)
t=[x]
t(p-1)/2, dunque t(p-1)/2 è multiplo del periodo (p-1) di [x], cioè t è multiplo di 2, t=2k, da cui ([x]
k)
2=[x]
t=[a], ed a è resto quadratico modulo p.
Come conseguenza del criterio di Eulero, si ha che la verifica se a è resto quadratico modulo p si può effettuare con un algoritmo di complessità non superiore alla polinomiale, utilizzando l’esponenziazione modulare per verificare se a
(p-1)/2modp=1).
Osservazione: Se p>2 é un primo ed a un naturale non multiplo di p, e se a non è resto quadratico modulo p, cosa possiamo dire di a
(p-1)/2?
Per il Piccolo Teorema di Fermat si ha (a
(p-1)/2)
21 (mod p), dunque, per una proprietà già osservata durante il test di Rabin-Miller, si ha a
(p-1)/21 (mod p), e per il criterio di Eulero si conclude che a
(p-1)/2
-1 (mod p).
Quindi la situazione è la seguente:
a è resto quadratico modulo p a
(p-1)/21 (mod p) a non è resto quadratico modulo p a
(p-1)/2-1 (mod p)
Introduciamo allora il simbolo di Legendre (a/p), definito solo per p primo >2 ed a naturale non multiplo di p:
(a / p) = +1 se a è resto quadratico modulo p (a / p) = -1 se a non è resto quadratico modulo p Proprietà:
Sia p primo >2.
1) Se a è un naturale non multiplo di p si ha a
(p-1)/2(a / p) (mod p) Discende banalmente da quanto osservato sopra.
2) Se a,b sono naturali non multipli di p (quindi anche ab non è multiplo di p):
(ab / p)=(a / p)(b / p).
Infatti per la proprietà 1) si ha (ab / p)(ab)
(p-1)/2a
(p-1)/2b
(p-1)/2(a / p)(b / p) (mod p), ma i valori possibili di ognuno dei 2 numeri (a / p)(b / p), (ab / p) sono 1, dunque la congruenza precedente è in effetti un’eguaglianza (perché la congruenza 1 -1 (mod p) non è vera nel caso p>2).
3) Se a,b sono naturali non multipli di p e se ab (mod p) allora (a / p)=(b / p).
Discende banalmente dall’osservazione che la proprietà di essere resto quadratico dipende solo
dalla classe di congruenza modulo p.
Siano dunque p>2 un primo, a >1 un numero naturale non multiplo di p, e fattorizziamo a in prodotto di potenze di primi distinti:
a = p p
1k1 2k2.... p
rkr(notare che ogni p
i p dunque p
inon è multiplo di p, ed esiste (p
i/ p)) Per la 2) si ha :
(a / p) =
1
( / )
ir k
i i
p p
Ma nella formula precedente: se k
iè pari ( / ) p p
i ki= ( 1) k
i=+1, e se k
iè dispari ( / ) p p
i ki=(p
i/ p) (sempre perché (p
i/ p)= 1) , dunque in totale si ha :
(a / p) =
1
( / )
i
r i k disparii
p p
Dunque il calcolo di (a / p) si riconduce al calcolo di (q / p) dove q è un primo p.
Affronteremo prima il caso q=2 e poi il caso q>2 (quindi il caso q dispari).
Teorema.
Se p è primo >2 si ha: (2 / p) = ( 1)
(p21)/8Dimostrazione:
Essendo p dispari, p-1 è pari. Elenchiamo tutti i (p-1)/2 numeri naturali pari (p-1) in due modi diversi:
2,4,6 …… , (p-5),(p-3), (p-1) (ordine naturale)
(p-1), 2, (p-3), 4, 6, (p-5) ……. (ultimo, primo, penultimo, secondo, terzultimo, terzo……) Rispetto al secondo ordinamento valgono banalmente le seguenti (p-1)/2 congruenze modulo p:
p-11(-1)
1(mod p) 22(-1)
2(mod p) p-33(-1)
3(mod p) 44(-1)
4(mod p) etc…..
Se moltiplichiamo membro a membro tali congruenze, a primo membro si otterrà il prodotto di tutti i numeri naturali pari (p-1) ossia il numero:
24…..(p-3)(p-1)=(21)(22)…..(2(p-3)/2)(2(p-1)/2)=2
(p-1)/2[(p-1)/2]!
mentre a secondo membro si otterrà il numero:
(1 2 …. (p-1)/2) (-1)
1+2+3+….+(p-1)/2= [(p-1)/2]! ( 1)
(p21)/8(dove si è sfruttata, per k=(p-1)/2, la nota proprietà: k(k+1)/2 è la somma dei primi k naturali).
Si ottiene dunque la congruenza modulo p:
2
(p-1)/2[(p-1)/2]! [(p-1)/2]! ( 1)
(p21)/8(mod p) Da ciò si ha che:
p è divisore di [(p-1)/2]![ 2
(p-1)/2- ( 1)
(p21)/8]
ma p non è divisore di [(p-1)/2]! (perché [(p-1)/2]! é un prodotto di naturali tutti <p dunque tutti non multipli di p), e allora p è divisore della differenza [ 2
(p-1)/2- ( 1)
(p21)/8], ossia :
2
(p-1)/2 ( 1)
(p21)/8(mod p)
Per la proprietà 1) del simbolo di Legendre, si ha (2 / p) ( 1)
(p21)/8(mod p)
I due membri di tale congruenza sono uguali a 1, dunque non possono essere diversi far loro ( la
congruenza +1-1 (mod p) non è vera perché p>2) e si ha la tesi.
Dal 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:
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)
r21 F
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 (2
r) +1 = 4 (2
r-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