Matematica Discreta
Lezione dei giorni 3,10 e 17 maggio 2012
Una conseguenza del Teorema di Eulero-Fermat è la seguente:
Corollario (Piccolo Teorema di Fermat).
Siano a,n due numeri naturali, e supponiamo che n sia un numero primo ed n non sia divisore di a.
Allora si ha:
a
n-11 (mod n).
Dimostrazione:
Notiamo che i numeri a,n sono coprimi (perché le uniche possibilità per il mcd(a,n) sono 1, n, e la possibilità mcd(a,n)=n è da escludere essendo n non divisore di a per ipotesi).
Poiché (n)=n-1 (perché n è primo) la tesi segue immediatamente dal Teorema di Eulero-Fermat.
Esponenziazione modulare.
Illustreremo ora l’algoritmo della esponenziazione modulare che permette di ottenere il seguente obiettivo: fissati 3 numeri naturali x,k,n, con n>1, calcoliamo in modo efficiente la riduzione modulo n della potenza x
k:
x
kmodn
(ricordiamo che per definizione è l’unico numero intero t tale che tx
k(mod n) e tale che 0tn-1).
Sia s il numero di cifre binarie dell’esponente k; la rappresentazione di k in base 2 è allora della forma:
k=a
s-12
s-1+ a
s-22
s-2+….+a
12
1+a
02
0(con ogni cifra a
i=0,1) Costruiamo una successione y
0,y
1,...,y
sdi numeri naturali ponendo:
y
0=1; per ogni i>0 y
i= (y i 1 2 x a
si) modn
Per esempio: y
1= (y 0 2 x a
s1) modn, y2= (y 1 2 x a
s2) modn, y3= (y 2 2 x a
s3) modn etc...
= (y 2 2 x a
s3) modn etc...
Ogni elemento della successione y
icon i>0 si calcola dal precedente con due prodotti (il quadrato di y
i-1e il prodotto del risultato per x a
si: osserviamo che quest’ultima potenza è = x oppure =1 perché l’esponente è la cifra binaria a
s-iè =0,1), e con una riduzione modulo n (che rende il risultato
<n): questo permette di coinvolgere nei calcoli numeri non troppo “grandi” .
Dimostriamo che l’algoritmo fornisce appunto il valore della riduzione x
kmodn, e precisamente che si ottiene y
s= x
kmodn (quindi la riduzione cercata è semplicemente l’ultimo termine della successione y
0,y
1,...,y
scostruita dall’algoritmo).
Infatti si ha:
y
1= (y 0 2 x a
s1) modn da cui y1 (y 0 2 x a
s1) (mod n)
y
2= (y 1 2 x a
s2) modn da cui y2 (y 1 2 x a
s2) (mod n) e dunque y2 (a 2
1 a
s-22
0)
1
(a 2
1a
s-22
0)
1-
x
s (mod n) y
3= (y 2 2 x a
s3) modn da cui y3 (y 2 2 x a
s3) (mod n) e dunque y3 (a 2 a 2
1 a
s-32
0)
(a 2 a 2
1a
s-32
0)
2 - s 2 1 -
x
s (mod n)
etc..
Così procedendo alla fine si ottiene la congruenza:
y
s (a 2 a 2 . a 2
1a
02
0)
2 1- 2 s - 1 s - 1 s -