Sei sulla pagina 1di 37

Cenni di teoria dei numeri

19 aprile 2011
AVVISO: I presenti appunti possono contenere (anzi sicuramente conterranno) errori e/o
ripetizioni. Essi sono infatti opera di vari collage e, per ovvie questioni di tempo, non sono
stati rivisti. Pertanto non intendono sostituire alcun libro di teoria e/o esercizi
ma vogliono sopratutto essere un dettagliato programma del corso. Prego gli studenti di
prestare particolare attenzione nella loro lettura e di informarmi sia direttamente che per
e-mail (quattrocchi@dmi.unict.it) su qualunque errore (certo o sospetto) notato.
Cercher` o di correggere nel pi` u breve tempo possibile qualunque errore trovato. Pertanto
questi appunti saranno continuamente aggiornati: la data dellultimo aggiornamento appare
in prima pagina. Consiglio inne agli studenti di non stamparli immediatamente ma
farlo il pi` u tardi possibile (per lo meno alcuni giorni dopo che largomento sia stato trattato
a lezione).
1
Indice
1 Numeri naturali, interi relativi e principi dinduzione 3
2 Teorema di divisione, M.C.D. e m.c.m. 5
3 Decomposizione in fattori primi 10
4 Sistemi di numerazione in base b 14
5 Congruenze 16
6 Criteri di divisibilit`a 18
7 Equazioni di congruenze 19
8 Sistemi di congruenze 22
9 Il Piccolo Teorema di Fermat e una sua applicazione alla crittograa 33
2
1 Numeri naturali, interi relativi e principi dinduzione
Il numero naturale si presenta sotto due forme:
cardinale, se risponde alla domanda: quanti? (ad es. quanti sono gli elementi di un
dato insieme?)
ordinale, se risponde alla domanda: quale? (ad es. qual`e il posto di un ssato elemento
in un dato insieme ordinato?)
In entrambi i casi risulta dicile darne una denizione nominale, cio`e mediante concetti
noti. Euclide, ad esempio, denisce il numero naturale dicendo: unit`a `e tutto ci`o per cui
ogni cosa `e detta uno, numero `e una moltitudine di unit`a. Recentemente grazie a Peano
(1858-1932) si `e avuta una formulazione della denizione di numero naturale che risponde a
requisiti logici.
Peano, premesso che i numeri naturali costituiscono la classe (=insieme) N = {0, 1, 2 . . .},
fonda laritmetica (1881) sui tre concetti primitivi di:
zero, numero naturale, successivo
e sui seguenti cinque assiomi (noti come gli assiomi di Peano sui numeri naturali):
1. Zero `e un numero naturale.
2. Il successivo n
+
di un numero naturale n `e un numero naturale.
3. Numeri naturali che hanno lo stesso successivo sono eguali.
4. Zero non `e il successivo di alcun numero naturale.
5. (Assioma di induzione). Se P N `e tale che 0 P ed inoltre da n P segue n
+
P
allora P = N.
Questi assiomi descrivono linsieme N nel senso che le sue propriet`a possono essere dedotte
da essi. Lassioma 5 permette di dimostrare la seguente proposizione.
Proposizione 1.1 (Primo principio di dimostrazione per induzione). Sia P(n),
n N, una successione di proposizioni dipendenti da n. Supponiamo che siano vericate le
due seguenti propriet`a:
1. P(0) `e vera;
2. P(n
+
) `e vera ogni qualvolta `e vera P(n).
Allora P(n) `e vera per ogni n N.
3
Dimostrazione. (Dimostrazione obbligatoria) Chiamiamo P linsieme dei numeri n
per cui P(n) `e vera. Allora per ipotesi abbiamo che 0 P e che se n P allora n
+
P;
per lassioma 5, linsieme P coincide con N.
Dallassioma di induzione segue anche il principio di denizione per induzione o ricorrenza
che si applica per denire funzioni f : N M, dette successioni, essendo M un insieme non
vuoto qualunque. In base ad esso una funzione f : N M `e perfettamente determinata
quando `e assegnato il valore f(0) e una regola che permette di determinare f(n
+
) conoscendo
f(n).
Usiamo questo principio per denire somma e prodotto in N:
Somma
_
0 + m = m;
n
+
+ m = (n + m)
+
; Prodotto
_
0 m = 0;
n
+
m = n m + m
.
Si dimostra che per tali operazioni valgono le propriet`a associativa, commutativa, di
cancellazione, nonch`e la propriet`a distributiva del prodotto rispetto alla somma.
x, y, z N, (x + y) + z = x + (y + z) e (xy)z = x(yz) (propriet`a associativa);
x, y N, x + y = y + x e xy = yx (propriet`a commutativa);
x, y, z N, x + y = z + y x = z; xy = zy, y = 0 x = z (legge di cancellazione);
x, y, z N, x(y + z) = xy + xz (propriet`a distributiva del prodotto rispetto alla
somma).
Si pu`o anche provare che, posto 0
+
= 1, si ha n
+
= n + 1.
In N si pu`o denire un ordinamento parziale, detto ordinamento aritmetico:
a b se esiste x N tale che b = a + x.
`
E immediato vericare le tre propriet`a dellordinamento parziale.
Teorema 1.1 N `e ben ordinato con la relazione di ordinamento aritmetico.
Dimostrazione. (Dimostrazione facoltativa). Ricordiamo che un sottoinsieme di un
insieme parzialmente ordinato si dice ben ordinato se ogni suo sottoinsieme non vuoto ha il
minimo. Diamo due dierenti dimostrazioni di questo teorema.
Dimostrazione 1. Sia S N, S non vuoto e sia M = {m | m s per ogni s S}. Si ha
0 M; inoltre se s S, s
+
> s quindi s
+
M. Ne segue che M = N. Esiste allora per
lassioma 3, un numero m M, tale che m
+
M. Allora m s per ogni s S e m S
perch`e se fosse m S sarebbe m < s per ogni s S e quindi m
+
s per ogni s S cio`e
m
+
M contro lipotesi: m `e quindi il minimo di S.
Dimostrazione 2. Sia S N un sottoinsieme privo di minimo; vogliamo dimostrare
che `e vuoto. Consideriamo la propriet`a P(n): Tutti i naturali n non stanno in S;
4
evidentemente P(0) `e vera, altrimenti 0 sarebbe il minimo di S. Supponiamo vera P(n) e
dimostriamo P(n
+
): quindi tutti i naturali n non stanno in S, e se ci stesse n
+
allora esso
sarebbe il minimo di S. Quindi `e vera P(n
+
) e per il primo principio dinduzione tutte le
P(n) sono vere: segue che S `e vuoto.
Indicheremo con Z = {. . . , 2, 1, 0, +1, +2, . . .} linsieme dei numeri interi relativi. Si
possono denire le operazioni di somma e prodotto tra numeri interi relativi in modo che
valgano propriet`a analoghe a quelle dei numeri naturali. Il prodotto di zero per un qualunque
intero `e uguale a zero; il prodotto di due interi relativi non nulli `e uguale al prodotto dei loro
valori assoluti (come numeri naturali) preso con il segno pi` u o con il segno meno a seconda
che abbiano lo stesso segno oppure no; in particolare il prodotto di due numeri diversi da zero
`e diverso da zero. Tale propriet`a si esprime dicendo che in Z vale la legge di annullamento
del prodotto. Osserviamo che linsieme Z si pu`o rendere parzialmente ordinato usando la
stessa denizione della relazione aritmetica su N: si vede subito che ogni insieme del tipo
{x Z | a x}, a Z ssato, `e ancora ben ordinato.
Proposizione 1.2 Secondo principio di dimostrazione per induzione. Sia n
0
un
intero relativo ssato. Si consideri la successione di proposizioni P(n), n n
0
. Supponiamo
che siano vericate le due seguenti propriet`a:
1. P(n
0
) `e vera;
2. se P(m) `e vera per ogni m Z tale che n
0
m < n, allora P(n) `e vera.
Allora P(n) `e vera per ogni n n
0
.
Teorema 1.2 Il secondo principio di induzione `e equivalente al primo principio dinduzione.
2 Teorema di divisione, M.C.D. e m.c.m.
Teorema 2.1 Teorema di divisione in N. Siano a, b N con b > 0. Esiste ununica
coppia q, r N tali che 0 r < b e a = bq + r.
Dimostrazione. Diamo due dimostrazioni di questo teorema.
Dimostrazione 1. (Dimostrazione facoltativa). Cominciamo col provare che se a, b N con
b > 0 allora esiste al pi` u una coppia (q, r) N N tale che 0 r < b e a = bq + r. Infatti
siano (q
1
, r
1
), (q
2
, r
2
) N N tali che 0 r
1
< b, 0 r
2
< b, a = bq
1
+r
1
e a = bq
2
+r
2
. Si
ha
b(q
1
q
2
) = r
2
r
1
. (1)
Se q
1
> q
2
abbiamo
b b(q
1
q
2
) = r
2
r
1
r
2
< b,
assurdo.
5
Se q
1
< q
2
, moltiplicando per 1 entrambi i membri della (1), abbiamo
b b(q
2
q
1
) = r
1
r
2
r
1
< b,
assurdo.
Segue necessariamente q
1
= q
2
e, per la (1), r
1
= r
2
. Quindi (q
1
, r
1
) = (q
2
, r
2
).
Proviamo adesso che per ogni a, b N con b > 0 esiste almeno una coppia (q, r) NN
tale che 0 r < b e a = bq + r. Procediamo per induzione sul numero a usando il secondo
principio di induzione sulla seguente successione di proposizioni P(a), a N,
P(a) =Comunque ssato il numero intero positivo b, esiste almeno una coppia
(q, r) N N tale che 0 r < b e a = bq + r.
Verichiamo le due condizioni del secondo principio di induzione.
Condizione 1. La proposizione P(0) `e vera. Infatti, comunque ssato b > 0, la coppia
(q, r) = (0, 0) verica entrambe le condizioni 0 r = 0 < b e 0 = b0 + 0.
Condizione 2. Bisogna provare che, comunque ssato a N, se P(a

) `e vera per ogni


a

tale che 0 a

< a, allora P(a) `e vera. Per fare ci`o distingueremo i due casi: a < b e
a b. Si osservi che nel primo di essi proveremo la verit`a di P(a) senza far uso dellipotesi
induttiva.
Sia a < b. Poniamo (q, r) = (0, a). Si ha 0 r = a < b e a = b0 + a.
Supponiamo ora, a b. In tal caso ricordiamo che vale lipotesi induttiva: P(a

) `e vera
per ogni a

tale che 0 a

< a. Consideriamo a b: esso `e un numero 0 e < a perch`e


b > 0. Per lipotesi induttiva esiste (q, r), con 0 r b, tale che a b = qb + r; si ha
allora a = (q + 1)b + r. Abbiamo quindi provato che la coppia (q + 1, r) `e una soluzione
dellequazione a = bq + r con 0 r < b.
Dimostrazione 2. (Dimostrazione obbligatoria). Consideriamo linsieme S = {a
bx | a bx 0, x N}; S `e non vuoto perch`e contiene a b0 = a N e quindi ha minimo,
diciamo r = a bq per un certo q N. Se fosse r b allora sarebbe 0 r b < r perch`e b
`e positivo e r b = a b(q + 1), contro lipotesi che r `e il minimo di S.
Teorema 2.2 Teorema di divisione in Z. Siano a, b due interi relativi, b = 0. Esiste
ununica coppia di interi q, r, con 0 r < |b|, tali che a = bq + r.
Denizione 2.1 Siano a, b Z, a = 0. Diciamo che a divide b e scriviamo a|b se esiste
c Z tale che b = ac.
Denizione 2.2 Massimo comune divisore. Siano a, b Z non entrambi nulli (cio`e
almeno uno dei due interi deve essere diverso da zero). Si chiama massimo comune divisore
(MCD) della coppia a, b, un numero d Z tale che:
1. d|a e d|b;
2. se c|a e c|b allora c|d.
6
Denizione 2.3 Minimo comune multiplo. Si chiama minimo comune multiplo (mcm)
della coppia a, b Z, a = 0 e b = 0, un numero m Z tale che:
1. a|m e b|m;
2. se a|c e b|c allora m|c.
Teorema 2.3 Ogni coppia a, b Z, a
2
+ b
2
> 0, ha al pi` u due massimi comune divisori,
uno lopposto dellaltro.
Dimostrazione. Supponiamo che d, d

siano entrambi massimo comune divisore di a, b;


dalla denizione segue d|d

e d

|d quindi d = hd

, d

= kd per certi h, k Z. Sostituendo si


ottiene d = hkd e, per cancellazione, hk = 1; segue h = k = 1 oppure h = k = 1 e ci sono
al pi` u due massimi comuni divisori di a, b uno opposto dellaltro. Quindi se d `e massimo
comune divisore lo `e anche d.
Lesistenza del massimo comune divisore verr`a provata nel teorema successivo. Ricordia-
mo che ragionamenti analoghi valgono anche per il minimo comune multiplo.
Si suole indicare il massimo comune divisore positivo di a, b con MCD(a, b) oppure solo
(a, b), il minimo comune multiplo positivo di a, b viene indicato con mcm(a, b) oppure [a, b].
Si vede facilmente che per ogni coppia di interi non entrambi nulli a, b si ha:
(a, b) = (a, b) = (a, b) = (a, b), (2)
[a, b] = [a, b] = [a, b] = [a, b].
Lemma 2.1 Siano a, b, q, r Z tali che b = 0 e a = bq + r. Allora (a, b) = (b, r).
Dimostrazione. Posto d = (a, b), per la denizione di MCD si ha:
1) d|a e d|b;
2) se esiste c Z tale che c|a e c|b, allora c|d.
Proviamo adesso che d soddisfa alla denizione di massimo comune divisore della coppia
b, r. Abbiamo per ipotesi r = a bq. Siccome d divide sia a che b, otteniamo che d|r.
Supponiamo ora che esista c Z tale che c|b e c|r. Dalluguaglianza a = bq + r segue che c
divide a e, per la 2), c|d.
Teorema 2.4 Siano a e b due interi non entrambi nulli; allora esiste il massimo comune
divisore (a, b).
Dimostrazione. Supponiamo b = 0. Se a = 0 si ha (a, b) = |b| e il teorema `e provato (si
osservi che b `e scritto in valore assoluto perch`e abbiamo convenuto che (a, b) > 0). Proviamo
il teorema per a = 0. Per la (2), possiamo supporre nel seguito a > 0 e b > 0. Proviamo in
due modi diversi lesistenza di (a, b). Diamo due dimostrazioni di questo teorema entrambe
obbligatorie.
7
Dimostrazione 1. Consideriamo linsieme S = {ax + by | ax + by > 0, x, y Z}; esso `e
non vuoto perch`e contiene, per esempio, a
2
+ b
2
. Quindi ha minimo, sia esso d = ax + by.
Verichiamo che d = MCD(a, b). Poich`e `e d > 0, per il teorema di divisione risulta a = dq+r
con 0 r < d; se fosse r > 0 allora r = a dq = a (ax + by)q = a(1 xq) byq S e
questo `e contro lipotesi che d `e il minimo di A. Quindi d|a ed analogamente si dimostra che
d|b.
Se poi un intero c `e tale che c|a, c|b allora sar`a a = ch, b = ck e sostituendo: d =
chx + cky = c(hx + ky) cio`e c|d.
Dimostrazione 2 . (Algoritmo di Euclide delle divisioni successive). Possiamo
supporre a b > 0 (perch`e?). Applichiamo il teorema di divisione alla coppia a, b: a = bq+r
con 0 r < b; se r = 0 allora b = MCD(a, b), come si verica facilmente. Altrimenti
possiamo dividere b per r, ottenendo: b = rq
1
+r
1
e ripetere il ragionamento di prima. Cos`
continuando si arriva ad un termine poich`e b > r > r
1
> . . . 0; abbiamo cos` il seguente
quadro:
a = bq + r
b = rq
1
+ r
1
r = r
1
q
2
+ r
2
...............
r
n2
= r
n1
q
n
+ r
n
r
n1
= r
n
q
n+1
Vogliamo dimostrare che r
n
, lultimo resto non nullo, `e il MCD di a, b. Infatti, applicando
il Lemma 2.1 alle precedenti uguaglianze, abbiamo: (a, b) = (b, r) = (r, r
1
) = (r
1
, r
2
) = . . .
. . . = (r
n1
, r
n
) = r
n
.
Identit`a di Bezout. Dalla Dimostrazione 1 del Teorema 2.4 risulta che, dati due interi non
entrambi nulli a, b, il loro massimo comune divisore d si pu`o scrivere
d = ax + by
per certi interi relativi x, y. Ci riferiremo ad una tale relazione come allidentit`a di Bezout.
Denizione 2.4 Due interi non nulli a e b si dicono primi tra loro o coprimi se il loro
massimo comune divisore (a, b) `e uguale ad 1.
Esempio 2.1 Cercare (78, 18) col metodo delle divisioni successive e scrivere la relativa
identit`a di Bezout.
SVOLGIMENTO. Si ha
78 = 18 4 + 6,
18 = 6 3 + 0.
8
Quindi (78, 18) = 6.
Per lidentit` a di Bezout, dalle precedenti uguaglianze otteniamo
6 = 78 18 4,
6 = 78 1 + 18 (4)
che `e lidentit`a cercata.
Esempio 2.2 Cercare (701, 231) col metodo delle divisioni successive e scrivere la relativa
identit`a di Bezout.
SVOLGIMENTO. Si ha
701 = 231 3 + 8,
231 = 8 28 + 7,
8 = 7 1 + 1,
7 = 1 7 + 0.
Quindi (701, 231) = 1.
Per lidentit` a di Bezout, riscriviamo le precedenti uguaglianze (esclusa lultima) nel
seguente modo:
8 = 701 231 3,
7 = 231 8 28,
1 = 8 7 1.
Possiamo quindi scrivere (701, 231) = 1 = 8 7 1 = 8 (231 8 28) = 29 8 231 =
29(701 231 3) 231 = 29 701 88 231. Lidentit`a cercata `e quindi
(701, 231) = 29 701 + 231 (88).
Esempio 2.3 Cercare (3522, 321) col metodo delle divisioni successive e scrivere la relativa
identit`a di Bezout.
SVOLGIMENTO. Si ha
3522 = 321 10 + 312,
321 = 312 1 + 9,
312 = 9 34 + 6,
9 = 6 1 + 3,
6 = 3 2 + 0.
Quindi (3522, 321) = 3.
9
Per lidentit` a di Bezout, riscriviamo le precedenti uguaglianze (esclusa lultima) nel
seguente modo:
3 = 9 6 1,
6 = 312 9 34,
9 = 321 312 1,
312 = 3522 321 10.
Possiamo quindi scrivere (3522, 321) = 3 = 9 6 1 = 9 (312 9 34) 1 = 9 35 312 =
(3213121)35312 = 3532136312 = 3532136(352232110) = 395321363522.
Lidentit`a cercata `e quindi
(701, 231) = 3522 (36) + 321 (395).
3 Decomposizione in fattori primi
I numeri primi sono divisibili soltanto per 1 e per se stessi. Se ne stanno al
loro posto nellinnita serie dei numeri naturali, schiacciati come tutti fra
due, ma un passo in l`a rispetto agli altri. Sono numeri sospettosi e solitari
e per questo Mattia li trovava meravigliosi. Certe volte pensava che in quella
sequenza ci fossero niti per sbaglio, che vi fossero rimasti intrappolati come
perline inlate in una collana. Altre volte, invece, sospettava che anche a
loro sarebbe piaciuto essere come tutti, solo dei numeri qualunque, ma che
per qualche motivo non ne fossero capaci.
Da La solitudine dei numeri primi di Paolo Giordano, Oscar Mondadori.
Denizione 3.1 Un numero p Z si dice primo se `e diverso da 0, 1 e i suoi unici divisori
sono 1 e p.
Si dimostra che:
1. Se p `e un numero primo e p|ab allora p|a oppure p|b. Pi` u in generale: se p `e un numero
primo e p|a
1
a
2
a
r
allora p|a
i
per qualche i, 1 i r.
2. Se a|bc e (a, b) = 1 allora a|c;
3. Siano a, b Z, a = 0, b = 0. Allora un minimo comune multiplo di a, b `e
[a, b] =
ab
(a, b)
.
Cio`e assegnati due interi non nulli a, b, un loro minimo comune multiplo si ottiene
dividendo il prodotto ab per il loro MCD (a, b).
10
Teorema 3.1 (Teorema fondamentale dellaritmetica). Ogni numero naturale stret-
tamente maggiore di uno si fattorizza nel prodotto di numeri primi positivi in maniera unica
a meno dellordine dei fattori.
Esempio 3.1 Le decomposizioni in fattori primi di 100, 641, 999 e 1024 sono:
100 = 2
2
5
2
,
641 = 641,
999 = 3
3
37,
1024 = 2
10
.
Osserviamo che il teorema di decomposizione in fattori primi si estende facilmente a
Z; infatti preso un numero minore di 1, il suo opposto ha una fattorizzazione in fattori
positivi. Basta allora cambiare di segno uno dei fattori; notiamo che in Z lunicit`a della
decomposizione vale non solo a meno dellordine ma anche a meno del segno dei fattori
primi.
Crivello di Eratostene. Ad Eratostene `e attribuito il merito di aver scoperto il seguente
algoritmo, noto col nome crivello di Eratostene, per determinare tutti i numeri primi compresi
fra 1 ed n:
1. Scrivere, in ordine crescente, tutti gli interi da 1 ad n.
2. Cancellare 1.
3. Cancellare tutti i numeri rimasti nella lista che sono divisibili per 2, maggiori di 2 e
minori od uguali ad n. Fra i numeri rimasti, cercare il pi` u piccolo intero x maggiore di
2. Se questo intero non esiste il procedimento ha termine. Altrimenti avremo x = 3.
4. Cancellare tutti i numeri rimasti nella lista che sono divisibili per 3, maggiori di 3 e
minori od uguali ad n. Fra i numeri rimasti, cercare il pi` u piccolo intero x maggiore
di 3. Se esso non esiste il procedimento ha termine. Altrimenti avremo x = 5.
5. Cancellare, fra i numeri rimasti, tutti i multipli di 5 che sono maggiori di 5 e minori
od uguali ad n. Fra i numeri rimasti, cercare il pi` u piccolo intero x maggiore di 5. Se
esso non esiste il procedimento ha termine. Altrimenti avremo x = 7.
6. Procedere in modo analogo ai passi precedenti n quando si ottiene che il numero x
non esiste. Contare quanti interi si trovano nella lista dei numeri non cancellati (infatti
essa coincide con lelenco dei numeri primi compresi fra 1 ed n.
11
Si osservi che i passi 3, 4, 5, . . . , della precedente procedura sono ripetitivi cio`e essi possono
essere unicati in una procedura ricorsiva del seguente tipo.
Passo 1. Si riceve in input una lista crescente di numeri L e un numero c L;
Passo 2 Se c = max L la procedura ha termine (bisogna inserire qui una procedura di
uscita). Se c < max L, si determina c = min{t L | t > c} e si crea la nuova lista L
ottenuta cancellando in L tutti i multipli di c che sono maggiori di c.
Passo 3. Ritornare al Passo 1 ponendo ivi L = L e c = c.
Esempio 3.2 Usando il crivello di Eratostene si prova che i numeri primi minori od uguali
a 100 sono: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83,
89 e 97.
Dato un intero n, `e molto importante avere un test veloce (molto pi` u veloce del crivello di
Eratostene) per determinare se esso `e primo o no. Per esempio in criptologia sono necessari
numeri primi molto grandi per formare messaggi segreti. Una procedura abbastanza semplice
`e basata sul seguente teorema.
Teorema 3.2 Sia n un numero intero positivo. Se n non `e primo allora esso ha un divisore
primo minore od uguale a

n.
Dimostrazione. (Dimostrazione obbligatoria). Per ipotesi n non `e primo. Quindi
esso ha un fattore a con 1 < a < n. Quindi, n = ab, con a > 1 e b > 1. Supponiamo che
valgano entrambe le disuguaglianze
a >

n, e b >

n. (3)
Ne segue n = ab >

n

n = n, assurdo. Quindi almeno una delle disuguaglianze in (3)


deve essere falsa. Per esempio la prima. Si ha allora
a

n.
Quindi a `e un divisore di n maggiore di uno. Se a `e primo, il teorema `e provato. Se a non `e
primo, avr` a un divisore primo c, con 1 < c < a

n. Poich`e c divide n, il teorema risulta


completamente provato.
Nota 3.1 In virt` u del Teorema 3.2, n `e primo se non `e divisibile per nessun primo a

n.
Esempio 3.3 Provare che 101 `e primo.
Si ha

101 = 10, 049875 . . .. Quindi i primi minori od uguali a

101 sono 2, 3, 5 e 7. Si
vede subito che 101 non `e divisibile per nessuno di essi, quindi, per il Teorema 3.2, `e primo.
12
Si osservi che il modo pi` u banale per stabilire la primalit`a di n consiste nel vericare se
esso `e divisibile per ogni primo p < n. Quindi bisogna determinare linsieme di tutti i primi
minori di n. La procedura illustrata nella Nota 3.1 `e sicuramente pi` u veloce in quanto richiede
la ricerca di tutti i numeri primi minori od uguali a

n. In ogni caso entrambe si basano sul


crivello di Eratostene e, per interi n grandissimi, non sono molto veloci. Recentemente, M.
Agrawal, N. Kayal e N. Saxena (PRIMES is in P, Annals of Mathematics 160 (2004), 781-
793) basandosi sul Piccolo teorema di Fermat (si veda il Teorema 9.2) hanno determinato
un test per stabilire in modo veloce se un intero `e o no primo.
Nel presente contesto ci limitiamo a dare una semplice procedura per fattorizzare n in
interi primi che si basa sul Teorema 3.2.
Procedura per determinare la fattorizzazione di n in interi primi.
1. Si cerchi il pi` u piccolo primo p
1
che divide n. Se p
1
= n, allora la fattorizzazione `e
n = n e la procedura ha termine. Se p
1
< n, allora p
1


n e si passa al punto
successivo.
2. Sia n
1
=
n
p
1
, cio`e n = p
1
n
1
. Si cerchi il pi` u piccolo primo p
2
che divide n
1
. Se p
2
= n
1
,
allora la fattorizzazione `e n = p
1
n
1
e la procedura ha termine. Sia p
2
< n
1
, allora
p
1
p
2

n
1
e si passa al punto successivo. Si osservi che la disuguaglianza p
1
p
2
segue dal fatto che p
2
`e anche divisore di n.
3. Sia n
2
=
n
1
p
2
, cio`e n
1
= p
2
n
2
e quindi n = p
1
p
2
n
2
. Procedendo in modo simile al punto
2, si cerchi il pi` u piccolo primo p
3
che divide n
2
. Se p
3
= n
2
, allora la fattorizzazione `e
n = p
1
p
2
n
2
e la procedura ha termine. Sia p
3
< n
2
, allora p
2
p
3

n
2
e si procede
in modo simile ponendo n
3
=
n
2
p
3
. Si osservi che esister`a un i per cui n
i
risulta primo e
quindi il procedimento ha termine.
Esempio 3.4 Trovare la fattorizzazione in primi del numero n = 7007 usando la precedente
procedura.
Il pi` u piccolo primo che divide n = 7007 `e p
1
= 7. Si ha quindi n = 7007 = 7 1001.
Sia n
1
=
n
p
1
= 1001. Cerchiamo ora il pi` u piccolo primo p
2
maggiore od uguale a p
1
= 7
che divide n
1
= 1001. Si ha p
2
= 7 e quindi n
1
= 1001 = 7 143 e n = 7007 = 7 7 143 =
7
2
143.
Sia n
2
=
n
1
p
2
= 143. Si cerchi il pi` u piccolo primo p
3
maggiore od uguale a 7 che divide
n
2
= 143. Esso `e p
3
= 11. e quindi n
2
= 143 = 11 13 e n = 7
2
143 = 7
2
11 13.
Sia n
3
=
n
2
p
3
= 13. Lintero n
3
, essendo primo, coincide col pi` u piccolo primo p
4
maggiore
od uguale a 11 che divide n
3
. Quindi il procedimento ha termine e la fattorizzazione 7007
in interi primi `e 7
2
11 13.
Teorema 3.3 Teorema di Euclide sui numeri primi. I numeri primi sono inniti.
Dimostrazione. (Dimostrazione obbligatoria). Supponiamo per assurdo che tutti i
numeri primi siano nellinsieme P = {p
1
, p
2
. . . p
n
} e consideriamo il numero 1 +p
1
p
2
p
n
.
13
Esso non `e primo perch`e `e maggiore di tutti gli elementi di P; allora avr` a un divisore primo
q. Se q fosse un elemento di P allora q dividerebbe sia p
1
p
2
p
n
che 1 + p
1
p
2
p
n
e
quindi la loro dierenza che fa 1: assurdo.
Il Teorema 3.3 ci dice che esistono inniti primi. Come abbiamo visto unaltra domanda
`e molto interessante: Sia n un intero positivo. Quanti numeri primi minori o uguali ad n
esistono? Il seguente teorema `e stato provato nel 1896 da Hadamard e de la Vallee-Poussin.
Teorema 3.4 Sia n un intero positivo e sia P = {p | p n, p e

primo}. Allora
lim
n+
|P|
n
ln n
= 1.
4 Sistemi di numerazione in base b
Quando scriviamo il numero a = 3481 intendiamo esprimere sinteticamente la somma: a = 3
10
3
+410
2
+810+1 che `e la rappresentazione in base 10 del numero a. Tale rappresentazione
dei numeri si dice posizionale perch`e il valore di una cifra dipende dalla sua posizione. La
base 10 che si adopera usualmente `e puramente convenzionale; pi` u in generale si potrebbe
rappresentare lo stesso numero a in base b, come precisato nel seguente teorema.
Teorema 4.1 Per ogni intero b > 1 possiamo rappresentare un numero naturale a > 0 in
maniera unica in base b:
a = (r
n
r
n1
. . . r
1
r
0
)
b
= r
n
b
n
+ r
n1
b
n1
+ . . . + r
1
b + r
0
con 0 r
i
< b per ogni i = 0, 1, . . . , n e con r
n
> 0.
Si osservi che usualmente si rappresentano le cifre, cio`e i numeri tra 0 e b 1, con un unico
simbolo: ad esempio {0, 1} per b = 2, {0, 1, . . . , 9, A, B, . . . , F} per b = 16.
Dimostrazione. (Dimostrazione obbligatoria). Questa dimostrazione fornisce anche
un algoritmo per ottenere un numero in base b. Applicando ripetutamente il teorema di
divisione, si divide a per b e poi il quoziente ancora per b e cos` via no ad ottenere un
quoziente uguale a zero. Sia esso, per esempio, q
n
. Allora a = (r
n
r
n1
. . . r
1
r
0
)
b
. Mostriamo
qui di seguito il procedimento nei suoi dettagli. Per il teorema di divisione abbiamo
a = bq
0
+ r
0
.
Se q
0
= 0 allora a = (r
0
)
b
= (a)
b
e il procedimento ha termine. Sia q
0
> 0. Essendo b > 1, si
ha q
0
< a e, per il teorema di divisione,
q
0
= bq
1
+ r
1
.
Se q
1
= 0 allora a = b(bq
1
+ r
1
) + r
0
= br
1
+ r
0
= (r
1
r
0
)
b
e il procedimento ha termine. Sia
q
1
> 0, allora q
1
< q
0
< a e
q
1
= bq
2
+ r
2
.
14
Se q
2
= 0 allora a = b
2
q
1
+br
1
+r
0
= b
2
(bq
2
+r
2
) +br
1
+r
0
= b
2
r
2
+br
1
+r
0
= (r
2
r
1
r
0
)
b
e il
procedimento ha termine. Sia q
2
> 0, allora q
2
< q
1
< q
0
< a e
q
2
= bq
3
+ r
2
.
................
Cos` procedendo esister`a un intero n tale che 0 < q
n1
< q
n2
< . . . < q
1
< q
0
< a e
q
n1
= b0 + r
n
.
La rappresentazione cercata `e cos`
a = (r
n
r
n1
. . . r
1
r
0
)
b
.
Si osservi che lunicit`a di questa rappresentazione deriva dallunicit`a di quoziente e resto
nella divisione.
Ovviamente si possono eettuare le quattro operazioni in qualunque base. Lunica novit`a
`e che bisogna usare la tavola pitagorica di base b.
Esempi.
1. Scrivere 5 in base 2.
`
E facile vericare che 5 = 1 2
2
+ 0 2
1
+ 1 2
0
. Quindi 5 in base
2 si scrive: (101)
2
.
2. Si ha 2749 = 2 10
3
+ 7 10
2
+ 4 10
1
+ 9 10
0
. Pertanto 2749 = (2749)
10
. Cio`e,
per convenzione, quando si scrive un numero in base 10 si omettono le parentesi e
lindicazione della base.
3. Scrivere 375 in base 2. Abbiamo:
375 = 2 187 + 1 q
0
= 187, r
0
= 1,
187 = 2 93 + 1 q
1
= 93, r
1
= 1,
93 = 2 46 + 1 q
2
= 46, r
2
= 1,
46 = 2 23 + 0 q
3
= 23, r
3
= 0,
23 = 2 11 + 1 q
4
= 11, r
4
= 1,
11 = 2 5 + 1 q
5
= 5, r
5
= 1,
5 = 2 2 + 1 q
6
= 2, r
6
= 1,
2 = 2 1 + 0 q
7
= 1, r
7
= 0,
1 = 2 1 + 1 q
8
= 0, r
8
= 1.
Quindi 375 in base 2 si scrive (101110111)
2
.
15
4. Scrivere 375 in base 4. Abbiamo:
375 = 4 93 + 3 q
0
= 93, r
0
= 3,
93 = 4 23 + 1 q
1
= 23, r
1
= 1,
23 = 4 5 + 3 q
2
= 5, r
2
= 3,
5 = 4 1 + 1 q
3
= 1, r
3
= 1,
1 = 4 0 + 1 q
4
= 0, r
4
= 1.
Quindi 375 in base 4 si scrive (11313)
4
.
5 Congruenze
Denizione 5.1 Sia n un intero positivo ssato e siano a, b Z. Diciamo che a congruo b
modulo n, e scriviamo a b (mod n), se accade che a b = kn per qualche k Z.
In simboli, la denizione precedente si pu`o esprimere nel seguente modo:
a b (mod n) n|a b.
Ad esempio, posto n = 5, abbiamo:
7 2 (mod 5),
14 4 (mod 5),
14 1 (mod 5).
Se non `e vero che a `e congruo b modulo n, diremo che a non `e congruo b modulo n e
scriveremo a b (mod n). Ad esempio 14 4 (mod 5).
Proposizione 5.1 Le seguenti proposizioni sono equivalenti:
1. a b (mod n);
2. a = b + kn per qualche k Z;
3. a e b hanno lo stesso resto se divisi per n.
Dimostrazione. (Dimostrazione obbligatoria).
1 2: n|a b vuol dire che a b = kn per qualche intero k Z.
2 3: Per il teorema di divisione in Z abbiamo a = nq
1
+ r
1
, 0 r
1
< n, e b = nq
2
+ r
2
,
0 r
2
< n. Supponiamo inoltre r
1
r
2
(se r
2
r
1
si procede in modo analogo). Sostituendo
in a = b +kn si ottiene nq
1
+r
1
= nq
2
+r
2
+kn cio`e 0 r
1
r
2
= n(q
2
q
1
+k) r
1
< n.
Quindi deve essere q
2
q
1
+ k = 0, da cui r
1
= r
2
.
3 1: Da a = nq
1
+ r, b = nq
2
+ r si ottiene a b = n(q
1
q
2
).
16
Proposizione 5.2 Propriet`a delle congruenze.
(1) Se a b (mod n) e a

(mod n), allora:


a + a

b + b

(mod n),
aa

bb

(mod n).
(2) Se a b (mod n) e d|n, allora a b (mod d).
(3) Se a b (mod n) e a b (mod m) allora a b (mod [n, m]).
(4) Se h = 0 e ha hb (mod n) allora a b (mod
n
(h,n)
).
Dimostrazione. (Dimostrazione obbligatoria).
Proviamo la (1). Avendosi per ipotesi a b = kn e a

= k
1
n, abbiamo che:
sommando membro a membro, si ha a + a

(b + b

) = (k + k
1
)n, cio`e a + a

b + b

(mod n);
moltiplicando membro a membro si ottiene aa

= bb

+ bk
1
n + b

kn + kk
1
n
2
= bb

+
n(bk
1
+ b

k + kk
1
n) e quindi aa

bb

(mod n).
La (2) segue subito dalla propriet`a transitiva della divisibilit`a. Lipotesi della (3), per deni-
zione, vuol dire che ab `e multiplo comune di n, m e quindi la tesi segue dalla denizione di
minimo comune multiplo. Per la (4), sia d = (h, n) e quindi h = h

d, n = n

d con (h

, n

) = 1;
poich`e n|ha hb = h(a b), sostituendo si ottiene h

d(a b) = kdn

e quindi h

(a b) = kn

cio`e n

|h

(ab) da cui, essendo (h

, n

) = 1, n

|ab. Osserviamo che, nel caso che (h, n) = 1,


la (4) `e una propriet`a di cancellazione delle congruenze.
Proposizione 5.3 La congruenza in Z, ssato lintero positivo n, `e una relazione di equi-
valenza.
Dimostrazione. (Dimostrazione obbligatoria). Valgono le propriet`a:
Riessiva: a a (mod n). Infatti a a = 0 = 0 n.
Transitiva: a b (mod n) e b c (mod n) a c (mod n). Infatti a b = k
1
n e
b c = k
2
n a c = (k
1
+ k
2
)n.
Simmetrica: a b (mod n) b a (mod n). Infatti a b = kn b a = (k)n.
Le classi disgiunte in cui Z viene ripartito dalla congruenza modulo n si sogliono denotare
con [0]
n
, [1]
n
, . . ., [n1]
n
. Linsieme di tali classi, dette anche classi di resto modulo n, viene
indicato con Z
n
= {[0]
n
, [1]
n
, . . . , [n 1]
n
}. Notiamo che le propriet`a (1) della Proposizione
5.2 permettono di denire operazioni di somma e prodotto in Z
n
:
[a]
n
+ [b]
n
= [a + b]
n
, [a]
n
[b]
n
= [ab]
n
.
Tali operazioni sono ben denite, nel senso che il risultato non dipende dai rappresentanti
scelti per le classi: se a

[a]
n
e b

[b]
n
allora [a

+ b

]
n
= [a + b]
n
e [a

]
n
= [ab]
n
.
Completiamo il seguente paragrafo con le seguenti denizioni
17
Denizione 5.2 Siano x e d due interi e sia d > 0. Allora
1. x div d denota il quoziente q della divisione intera fra x e d;
2. x mod d denota il resto r della divisione intera fra x e d.
Ricordiamo che, per il teorema di divisione, esiste ununica coppia di interi q e r tale
che x = dq + r e 0 r < d. Allora q = x div d, e r = x mod d.
`
E immediato provare la
congruenza
x r (mod d)
(perch`e?).
6 Criteri di divisibilit`a
Supponiamo di avere un numero a e la sua rappresentazione in base dieci:
a = r
n
10
n
+ r
n1
10
n1
+ r
1
10 + r
0
.
Le propriet`a (1) e (2) delle congruenze della Proposizione 5.2 permettono di dimostrare
alcuni criteri di divisibilit`a del numero a.
Teorema 6.1 Criterio di divisibilit`a per 9. Un numero a `e divisibile per 9 se e solo se
9 divide la somma delle cifre.
Dimostrazione. (Dimostrazione facoltativa). Poich`e 10 1 (mod 9) per la propriet`a (2)
si ha 10
r
1 (mod 9) per ogni r 0, ed anche r
s
10
r
r
s
(mod 9) (per la propriet`a (1)) e
quindi a = r
n
10
n
+ r
n1
10
n1
+ . . . + r
1
10 + r
0
r
n
+ r
n1
+ . . . + r
1
+ r
0
(mod 9).
Osserviamo che se risulta a + b = c, ab = d per certi interi a, b, c, d Z, allora `e anche
[a]
n
+ [b]
n
= [c]
n
, [a]
n
[b]
n
= [d]
n
per ogni intero positivo n. Questa propriet`a pu`o essere
usata per controllare lesattezza delle operazioni tra interi, anche se `e solo una condizione
necessaria. La ben nota prova del nove `e basata sul precedente criterio: viene usato proprio
il numero nove per la particolare facilit`a del calcolo del resto modulo nove.
Se un numero `e divisibile per 9 allora lo `e anche per 3.
Teorema 6.2 Criterio di divisibilit`a per 3. Un numero a `e divisibile per 3 se e solo se
3 divide la somma delle cifre.
Teorema 6.3 Criterio di divisibilit`a per 2 o per 5. Un numero a `e divisibile per 2 o
per 5 se lultima cifra `e rispettivamente divisibile per 2 o per 5 (2|r
0
oppure 5|r
0
).
18
7 Equazioni di congruenze
Consideriamo la seguente congruenza nellincognita x:
x + a b (mod n).
Essa si risolve facilmente, infatti essendo a a (mod n), sommando membro a membro
si ottengono le soluzioni x ba (mod n) che possono essere scritte x = ba+kn, k Z.
Per esempio, le soluzioni dellequazione x + 2 3 (mod 5) sono x 3 2 (mod 5), cio`e
x 1 (mod 5), e quindi x = 1 + 5k k Z.
Pi` u interessante si presenta lo studio della seguente equazione (sempre nellincognita x):
ax b (mod n) con a = 0.
Teorema 7.1 Siano a, b Z con a = 0. Condizione necessaria anch`e lequazione,
nellincognita x Z,
ax b (mod n)
ammetta soluzioni `e che (a, n)|b.
Dimostrazione. (Dimostrazione obbligatoria). Sia x una soluzione dellequazione
ax b (mod n). Allora esiste k Z tale che ax b = kn. Posto d = (a, n), possiamo
scrivere a = da

e n = dn

con (a

, n

) = 1. Abbiamo cos` da

x b = kdn

, da

x +kdn

= b, e
quindi d|b.
Teorema 7.2 Siano a, b Z con a = 0. Se (a, n)|b allora lequazione, nellincognita x Z,
ax b (mod n). (4)
ha soluzioni. Inoltre, indicata con x `e una sua soluzione, tutte le soluzioni di (4) sono
x = x + k
n
(a, n)
,
al variare di k Z o, equivalentemente, x x (mod
n
(a,n)
).
Dimostrazione. (Dimostrazione obbligatoria). Poniamo d = (a, n). Per ipotesi d|b,
quindi b = b

d. Per lidentit`a di Bezout esistono x

, y

Z tali che d = ax

+ny

. Moltiplicando
entrambi i membri di questultima uguaglianza per b

, otteniamo b

d = ab

+ nb

, cio`e
b = a(b

) + n(b

). Posto x = b

, si ottiene ax b = (b

)n con b

Z. Quindi
x = b

=
b
(a,n)
x

`e una soluzione della (4).


Proviamo che tutte le soluzioni della (4) sono date da x = x +k
n
(a,n)
al variare di k Z.
Si osservi innanzitutto che, per ogni k Z, x + k
n
(a,n)
`e soluzione di (4). Infatti ax b
(mod n), in quanto x `e una soluzione di (4), e k
a
(a,n)
n 0 (mod n). Quindi, per la (1) della
Proposizione 5.2, abbiamo a
_
x + k
n
(a,n)
_
b (mod n).
19
Sia ora x

una soluzione di (4). Allora esistono k, h Z tali che


ax

b = kn, e ax b = hn.
Sottraendo membro a membro, otteniamo
a(x

x) = (k h)n.
Essendo d = (a, n), possiamo scrivere a = da

e n = dn

. Abbiamo quindi
da

(x

x) = (k h)dn

,
a

(x

x) = (k h)n

.
Ne segue che
n

|a

(x

x).
Essendo n

e a

primi fra loro,


n

|x

x.
Cio`e esiste Z tale che
x

x = n

=
n
(a, n)
e quindi x

x (mod
n
(a,n)
).
Esempio 7.1 Dire se lequazione 4x 2 (mod 8) ha soluzioni.
SVOLGIMENTO. Poich`e (4, 8) = 4 e 4 | 2, per il Teorema 7.1 lequazione data non ha
soluzioni.
Esempio 7.2 Dire se lequazione 4x 7 (mod 9) ha soluzioni e, in caso aermativo,
determinarle.
SVOLGIMENTO. Essendo (4, 9) = 1, sicuramente 1|7 e quindi per il Teorema 7.1 lequazione
data ammette soluzioni.
In virt` u del Teorema 7.2, se x `e una soluzione della nostra equazione, tutte le soluzioni
sono date da
x = x + k
9
(4, 9)
, k Z.
Quindi il problema consiste nel determinare una soluzione particolare di 4x 7 (mod 9). A
tale scopo basta procedere come nella dimostrazione del Teorema 7.2.
Passo 1. Scrivere lidentit`a di Bezout relativa a 1 = (4, 9). Si ha
9 = 4 2 + 1, 4 = 1 4 + 0
e quindi
1 = 9 4 2,
20
1 = 9 + 4(2)
che `e ldentit`a cercata.
Passo 2. Moltiplicare entrambi i membri dellidentit` a di Bezout trovata al Passo 1 per
b

=
7
(4,9)
= 7:
7 = 4(14) + 9 7.
Una soluzione particolare di 4x 7 (mod 9) `e quindi x = 14.
Passo 3. Tutte le soluzioni cercate sono
x = 14 +
9
(4, 9)
= 14 + 9, Z.
Queste soluzioni si possono anche scrivere come
x 4 (mod 9).
Esempio 7.3 Dire se lequazione 40x 6 (mod 14) ha soluzioni e, in caso aermativo,
determinarle.
SVOLGIMENTO. Essendo (40, 14) = 2, si ha che 2|6 e quindi per il Teorema 7.1 lequazione
data ammette soluzioni.
In virt` u del Teorema 7.2, se x `e una soluzione della nostra equazione, tutte le soluzioni
sono date da
x = x + k
14
(40, 14)
= x + 7k, k Z.
Quindi il problema consiste nel determinare una soluzione particolare di 40x 6 (mod 14).
A tale scopo basta procedere come nella dimostrazione del Teorema 7.2.
Passo 1. Scrivere lidentit`a di Bezout relativa a 2 = (40, 14). Si ha
40 = 14 2 + 12,
14 = 12 1 + 2,
12 = 6 2 + 0.
Quindi
2 = 14 12 1,
12 = 40 14 2
. Da cui 2 = 14 12 1 = 14 (40 14 2) 1 = 40 + 14 3. Lidentit`a cercata `e dunque
(40, 14) = 2 = 40 (1) + 14 3.
Passo 2. Moltiplicare entrambi i membri dellidentit` a di Bezout trovata al Passo 1 per
b

=
6
(40,14)
= 3:
6 = 40 (3) + 14 9.
21
Una soluzione particolare di 40x 6 (mod 14) `e quindi x = 3.
Passo 3. Tutte le soluzioni cercate sono
x = 3 +
14
(40, 6)
= 3 + 7, Z.
Queste soluzioni si possono anche scrivere come
x 4 (mod 7).
8 Sistemi di congruenze
Teorema 8.1 Siano n
1
e n
2
due interi positivi e siano a e b due interi relativi. Condizione
necessaria e suciente anch`e il sistema di congruenze
_
x a (mod n
1
)
x b (mod n
2
)
(5)
ammetta soluzioni `e che
(n
1
, n
2
)|a b.
Dimostrazione. (Dimostrazione obbligatoria). Osserviamo innanzitutto che risolvere
il sistema (5) equivale a determinare linsieme degli x Z tali che esiste una coppia ordinata
(h, k) Z Z per cui
_
x = a + hn
1
x = b + kn
2
.
Pertanto la dimostrazione di questo teorema `e simile a quella dei Teoremi 7.1 e 7.2.
Necessit`a. Sia x una soluzione di (5). Si ha x = a + hn
1
e x = b + kn
2
. Ne segue
a b = kn
2
hn
1
= (n
1
, n
2
)
_
k
n
2
(n
1
,n
2
)
h
n
1
(n
1
,n
2
)
_
, quindi (n
1
, n
2
)|a b.
Sucienza. Supponiamo che (n
1
, n
2
)|a b. Per lidentit` a di Bezout esistono h, k Z
tali che (n
1
, n
2
) = n
1
h + n
2
k. Da cui
ab
(n
1
,n
2
)
(n
1
, n
2
) =
_
h
ab
(n
1
,n
2
)
_
n
1
+
_
k
ab
(n
1
,n
2
)
_
n
2
. Posto
h = h
ab
(n
1
,n
2
)
e k = k
ab
(n
1
,n
2
)
, abbiamo a b = hn
1
+kn
2
. Da cui a hn
1
= b +kn
2
= x `e una
soluzione di (5).
Teorema 8.2 Sia x una soluzione del sistema (5) del Teorema 8.1. Allora tutte le soluzioni
di (5) sono x = x + k[n
1
, n
2
] al variare di k Z o, equivalentemente, x x (mod [n
1
, n
2
]).
Dimostrazione. (Dimostrazione obbligatoria). Si osservi innanzitutto che x+k[n
1
, n
2
]
`e soluzione di (5) per ogni k Z. Infatti x +k[n
1
, n
2
] a `e multiplo di n
1
e x +k[n
1
, n
2
] b
`e multiplo di n
2
.
Sia ora x

unaltra soluzione del sistema dato. Allora esistono h


1
, h
2
, k
1
, k
2
Z tali che
_
x

= a + h
1
n
1
x

= b + k
1
n
2
, e
_
x = a + h
2
n
1
x = b + k
2
n
2
.
22
Da cui
_
x

x = (h
1
h
2
)n
1
x

x = (k
1
k
2
)n
2
.
Quindi x

x, essendo multiplo di n
1
e di n
2
, `e multiplo del loro minimo comune multiplo
[n
1
, n
2
]. Quindi x

x (mod [n
1
, n
2
]).
Si osservi che il Teorema 8.2 fornisce una formula risolutiva del sistema (5) purch`e si
riesca a determinarne una soluzione particolare x. Un algoritmo per trovare x `e dato
nel corso della dimostrazione della sucienza del Teorema 8.1.
Esempio 8.1 Dire se il seguente sistema ammette soluzioni ed, eventualmente, trovarle:
_
x 3 (mod 8)
x 2 (mod 6)
.
SVOLGIMENTO. Si ha (8, 6) | 3 2. Per il Teorema 8.1, il sistema assegnato non ha
soluzioni.
Esempio 8.2 Dire se il seguente sistema ammette soluzioni ed, eventualmente, trovarle:
_
x 6 (mod 8)
x 2 (mod 6)
.
SVOLGIMENTO. Si ha (8, 6) | 6 2. Per il Teorema 8.1, il sistema assegnato ha soluzioni.
In virt` u del Teorema 8.2, tutte le soluzioni sono determinate non appena se ne conosce una
particolare. Determiniamo questultima. Sia x una soluzione particolare del sistema dato.
Si ha
_
x = 6 + 8h
x = 2 + 6k
,
da cui 6 + 8h = 2 + 6k, e quindi
4 = 6k 8h = 6k + 8(h). (6)
Lidentit`a di Bezout relativa a 2 = (6, 8) e 2 = 6 (1) + 8 1. Da cui 4 = 6(2) + 8 2.
Confrontando questultima ugualglianza con la (6) abbiamo k = 2 e h = 2. Quindi
x = 10. Tutte le soluzioni sono quindi x = 10 + k[6, 8], k Z, o, equivalentemente,
x 14 (mod 24).
Esempio 8.3 Dire se il seguente sistema ammette soluzioni ed, eventualmente, determinar-
le:
_
6x 4 (mod 7)
9x 8 (mod 4)
. (7)
23
SVOLGIMENTO. Risolvo la congruenza
6x 4 (mod 7). (8)
Lidentit`a di Bezout relativa a (6, 7) `e
1 = (6, 7) = 7 1 6 1.
Da cui
4 = 7 4 6 4,
6(4) = 4 + 7(4).
Una soluzione particolare `e quindi x = 4. Tutte le soluzioni di (8) sono x 4 (mod 7),
cio`e
x 3 (mod 7). (9)
Risolviamo la seconda equazione del sistema
9x 8 (mod 4). (10)
Lidentit`a di Bezout relativa a (9, 4) `e
1 = (9, 4) = 9 1 4 2.
Da cui
8 = 9 8 4 16,
9 8 = 8 + 4 16.
Una soluzione particolare `e quindi x = 8. Tutte le soluzioni di (8) sono x 8 (mod 4), cio`e
x 0 (mod 4). (11)
Adesso mettiamo a sistema (9) e (11):
_
x 3 (mod 7)
x 0 (mod 4)
. (12)
Lidentit`a di Bezout relativa a (7, 4) `e
1 = (7, 4) = 7(1) + 4 2.
Da cui
3 0 = 7(3) + 4 6,
3 + 7 3 = 0 + 4 6 = 24.
Una soluzione particolare `e x = 24. Tutte le soluzioni di (12), e quindi di (7) sono
x 24 (mod 28).
24
Esempio 8.4 Dire se il seguente sistema ammette soluzioni ed, eventualmente, determinar-
le:
_
x 4 (mod 7)
x 6 (mod 21)
.
SVOLGIMENTO. Si ha (7, 21) = 7 | 2 = 4 6. Quindi, per il Teorema 8.1, il sistema
assegnato non ha soluzioni.
Il seguente teorema, di cui omettiamo la dimostrazione, generalizza il risultato dei Teo-
remi 8.1 e 8.2.
Teorema 8.3 Siano a
i
, n
i
Z con n
i
> 0, i = 1, 2, . . . , k. Il sistema di congruenze
_

_
x a
1
(mod n
1
)
x a
2
(mod n
2
)
. . .
x a
k
(mod n
k
)
(13)
ammette soluzioni se e solo se (n
i
, n
j
)|a
i
a
j
per ogni i, j {1, 2, . . . , k} con i = j.
Inoltre, se x `e una soluzione di (13), tutte le soluzioni sono
x x (mod )
essendo il minimo comune multiplo degli interi n
1
, n
2
, . . . , n
k
che indicheremo con
[n
1
, n
2
, . . . , n
k
].
Un procedimento per risolvere (13) quando k 3, pu`o essere il seguente. Risolvere il
sistema
_
x a
1
(mod n
1
)
x a
2
(mod n
2
)
. (14)
Se (14) non ha soluzioni, neanche (13) avr`a soluzioni. In caso contrario le soluzioni di (14)
sono del tipo x s
1
(mod [n
1
, n
2
]) e si considera il seguente sistema
_
x s
1
(mod [n
1
, n
2
])
x a
3
(mod n
3
)
. (15)
Se (15) non ha soluzioni neanche il sistema (13) avr`a soluzioni. In caso contrario, le soluzioni
di (15) sono del tipo x s
2
(mod [n
1
, n
2
, n
3
]) e si considera il sistema
_
x s
2
(mod [n
1
, n
2
, n
3
])
x a
4
(mod n
4
)
.
Si procede cos` no alleventuale studio dellultimo sistema
_
x s
k2
(mod [n
1
, n
2
, . . . , n
k1
])
x a
k
(mod n
k
)
.
Leventuale soluzione di questultimo coincider`a con quella di (13).
25
Esempio 8.5 Dire se il seguente sistema ammette soluzioni ed, eventualmente, trovarle:
_
_
_
x 4 (mod 5)
x 2 (mod 4)
x 6 (mod 9)
.
SVOLGIMENTO. Poniamo a
1
= 4, a
2
= 2, a
3
= 6, n
1
= 5, n
2
= 4 e n
3
= 9. Si ha
(n
i
, n
j
) = 1 per ogni coppia i, j tale che 1 i < j 3. Pertanto (n
i
, n
j
)|a
i
a
j
e, per
il Teorem 8.3, il sistema dato ammette soluzioni che determiniamo mediante la procedura
illustrata prima. Cominciamo col risolvere il sistema
_
x 4 (mod 5)
x 2 (mod 4)
. (16)
Se x `e una sua soluzione, avremo
_
x = 4 + 5k
x = 2 + 4h
.
Da cui 4 + 5k = 2 + 4h, e quindi
2 = 4h + 5(k). (17)
Per determinare un coppia h, k Z che risolva (17) procediamo nel seguente modo. Essendo
(4, 5) = 1, si ricava facilmente che lidentit` a di Bezout `e 1 = 4 (1) + 5 1. Moltiplicando
per 2, 2 = 4 (2) +5 2. Pertanto una soluzione di (17) `e h = 2, k = 2. Quindi x = 6
e, per il Teorema 8.2, tutte le soluzioni di (16) sono x = 6 + 20t (poich`e [4, 5] = 20) o,
equivalentemente, x 14 (mod 20).
Si studia adesso il sistema seguente
_
x 14 (mod 20)
x 6 (mod 9)
. (18)
Se x `e una sua soluzione, avremo
_
x = 14 + 20k
x = 6 + 9h
.
Da cui 14 + 20k = 6 + 9h, e quindi
8 = 9h + 20(k). (19)
Per determinare un coppia h, k Z che risolva (19) procediamo nel seguente modo. Si ha
(20, 9) = 1. Determiniamone lidentit`a di Bezout. Si ha
20 = 9 2 + 2,
9 = 2 4 + 1,
26
2 = 1 2 + 0.
Quindi possiamo scrivere 1 = 9 2 4 = 9 (20 9 2) 4 = 20 (4) +9 9. Da cui, = 4
e = 9. Pertanto 1 = 20 (4) + 9 9 `e lidentit`a cercata. Moltiplicando per 8, abbiamo
8 = 20 (32) + 9 72. Pertanto una soluzione di (19) `e h = 72, k = 32. Quindi x = 654
e, per il Teorema 8.2, tutte le soluzioni di (18) sono x = 654 + 180t (poich`e [20, 9] = 180) o,
equivalentemente, x 114 (mod 180).
Essendo (18) lultimo sistema della nostra procedura, tutte le soluzioni del sistema
assegnato sono
x 114 (mod 180).
Esempio 8.6 Dire se il seguente sistema ammette soluzioni ed, eventualmente, trovarle:
_

_
x 5 (mod 4)
x 3 (mod 6)
x 9 (mod 8)
x 6 (mod 3)
. (20)
SVOLGIMENTO. Poniamo a
1
= 5, a
2
= 3, a
3
= 9, a
4
= 6, n
1
= 4, n
2
= 6 e n
3
= 8, n
4
= 3.
Si verica facilmente che (n
i
, n
j
)|a
i
a
j
per ogni coppia i, j tale che 1 i < j 3. Allora,
per il Teorema 8.3, (20) ammette soluzioni. Usiamo la precedente procedura per calcolarle.
Cominciamo col risolvere il sistema
_
x 5 (mod 4)
x 3 (mod 6)
. (21)
Se x `e una sua soluzione, avremo
_
x = 5 + 4h
x = 3 + 6k
.
Da cui 5 + 4h = 3 + 6k, e quindi
2 = 4(h) + 6k. (22)
Per determinare un coppia h, k Z che risolva (22) procediamo nel seguente modo. Essendo
(6, 4) = 2, si ricava facilmente che lidentit`a di Bezout `e 2 = 6 1 + 4 (1). Pertanto una
soluzione di (22) `e h = 1, k = 1. Quindi x = 9 e, per il Teorema 8.2, tutte le soluzioni di
(21) sono x = 9 + 12t (poich`e [4, 6] = 12) o, equivalentemente, x 9 (mod 12).
Si studia adesso il sistema seguente
_
x 9 (mod 12)
x 9 (mod 8)
. (23)
Per la (3) della Propriet`a 5.2, le soluzioni di (23) sono x 9 (mod 24) (si osservi che
[8, 12] = 24).
27
Si studia inne lultimo sistema
_
x 9 (mod 24)
x 6 (mod 3)
. (24)
Se x `e una sua soluzione, avremo
_
x = 9 + 24h
x = 6 + 3k
.
Da cui 9 + 24h = 6 + 3k, e quindi
3 = 24(h) + 3k. (25)
`
E immediato determinare un coppia h, k Z che risolva (25). Infatti (24, 3) = 3, cio`e
24 = 3 8 = 3 7 + 3 e 3 = 24 1 + 3 (7) `e lidentit` a di Bezout. Pertanto una soluzione
di (25) `e h = 1, k = 7. Quindi x = 15 e, per il Teorema 8.2, tutte le soluzioni di (24)
sono x = 15 + 24t (poich`e [24, 3] = 24) o, equivalentemente, x 9 (mod 24).
Essendo (24) lultimo sistema della nostra procedura, tutte le soluzioni di (20) sono
x 9 (mod 24).
Esempio 8.7 Dire se il seguente sistema ammette soluzioni ed, eventualmente, trovarle:
_
_
_
2x 6 (mod 4)
3x 7 (mod 5)
4x 5 (mod 3)
. (26)
SVOLGIMENTO. Risolvo la congruenza
2x 6 (mod 4). (27)
Lidentit`a di Bezout relativa a (4, 2) `e
2 = (4, 2) = 4 1 + 2 (1).
Da cui
6 = 4 3 + 2 (3),
2(3) = 6 + 4(3).
Una soluzione particolare `e quindi x = 3. Tutte le soluzioni di (27) sono x 3 (mod 2),
cio`e
x 1 (mod 2). (28)
Risolviamo la seconda equazione del sistema
3x 7 (mod 5). (29)
28
Lidentit`a di Bezout relativa a (3, 5) `e
1 = (3, 5) = 3 2 + 5 (1).
Da cui
7 = 3 14 + 5 (7),
3 14 = 7 + 5 7.
Una soluzione particolare `e quindi x = 14. Tutte le soluzioni di (29) sono x 14 (mod 5),
cio`e
x 4 (mod 5). (30)
Risolviamo inne la terza equazione del sistema
4x 5 (mod 3). (31)
Lidentit`a di Bezout relativa a (1, 3) `e
1 = (1, 3) = 4 1 + 3 (1).
Da cui
5 = 4 5 + 3 (5),
4 5 = 5 + 3 5.
Una soluzione particolare `e quindi x = 5. Tutte le soluzioni di (31) sono x 5 (mod 3),
cio`e
x 2 (mod 3). (32)
Adesso mettiamo a sistema (28), (30) e (32):
_
_
_
x 1 (mod 2)
x 2 (mod 3)
x 4 (mod 5)
. (33)
Ovviamente, linsieme delle soluzioni del sistema assegnato coincide con quello di (33).
Cominciamo col risolvere
_
x 1 (mod 2)
x 2 (mod 3)
. (34)
Lidentit`a di Bezout relativa a (2, 3) `e
1 = (2, 3) = 3 1 + 2 (1).
Da cui
2 1 = 3 1 + 2 (1),
2 + 3 (1) = 1 + 2 (1) = 1.
29
Una soluzione particolare `e x = 1. Tutte le soluzioni di (34) sono
x 5 (mod 6). (35)
Mettiamo ora a sistema (35) con (30):
_
x 5 (mod 6)
x 4 (mod 5)
. (36)
Lidentit`a di Bezout relativa a (5, 6) `e
1 = (5, 6) = 6 1 + 5 (1).
Da cui
5 4 = 6 1 + 5 (1),
5 + 6 (1) = 4 + 5 (1) = 1.
Una soluzione particolare `e x = 1. Tutte le soluzioni di (36), e quindi di (33) sono
x 29 (mod 30).
Il seguente teorema sembra (ed in eetti `e) un caso particolare del Teorema 8.3. Ne
diamo la dimostrazione, in quanto essa fornisce un dierente ed interessante algoritmo per
determinare tutte le soluzioni del sistema di congruenze in esame.
Teorema 8.4 Teorema cinese del resto. Siano n
1
, n
2
, . . . , n
k
numeri interi positivi a
due a due coprimi e a
1
, a
2
, . . . , a
k
numeri interi relativi. Allora il sistema di congruenze
_

_
x a
1
(mod n
1
)
x a
2
(mod n
2
)
. . .
x a
k
(mod n
k
)
(37)
ha soluzioni. Se x `e una soluzione, allora tutte le soluzioni sono x x (mod M), dove
M = n
1
n
2
n
k
.
Dimostrazione. (Dimostrazione obbligatoria). Per i = 1, 2, . . . , k, poniamo M
i
=
M
n
i
,
cio`e M
i
`e il prodotto di tutti i moduli escluso n
i
. Poich`e i moduli sono a due a due primi fra
loro, abbiamo che (n
i
, M
i
) = 1. Per il Teorema 7.2, lequazione
M
i
y 1 (mod n
i
) (38)
ha soluzioni. Sia y
i
, i = 1, 2, . . . , k, una sua soluzione. Allora
x = a
1
M
1
y
1
+ a
2
M
2
y
2
+ . . . + a
k
M
k
y
k
(39)
30
`e una soluzione del sistema (37). Infatti, essendo M
j
0 (mod n
i
) per ogni j = i, si ha
x a
i
M
i
y
i
(mod n
i
), (40)
ed essendo M
i
y
i
1 (mod n
i
), si ha
a
i
M
i
y
i
a
i
(mod n
i
). (41)
Dalle (40) e (41) segue che x a
i
(mod n
i
) per ogni i = 1, 2, . . . , k, e quindi (39) `e una
soluzione del sistema assegnato.
Dimostriamo ora che tutte le soluzioni del sistema sono date da x x (mod M). Si
osservi innanzitutto che, per ogni Z, x + M `e soluzione di (37). Infatti, per ogni
i = 1, 2, . . . , k, x + M a
i
`e multiplo di n
i
in quanto sia x a
i
che M lo sono.
Sia ora x

unaltra soluzione di (37). Allora


_

_
x

= a
1
+ h
1
n
1
x

= a
2
+ h
2
n
2
. . .
x

= a
k
+ h
k
n
k
, e
_

_
x = a
1
+ t
1
n
1
x = a
2
+ t
2
n
2
. . .
x = a
k
+ t
k
n
k
.
Da cui
_

_
x

x = (h
1
t
1
)n
1
x

x = (h
2
t
2
)n
2
. . .
x

x = (h
k
t
k
)n
k
e quindi
_

_
n
1
|x

x
n
2
|x

x
. . .
n
k
|x

x
Allora x

x `e multiplo di M (che `e il minimo comune multiplo degli interi n


1
, n
2
, . . . , n
k
).
Cio`e x

x 0 (mod M), x

x (mod M).
Osserviamo che, a dierenza del Teorema 8.3, il teorema cinese del resto `e solo una
condizione suciente per la risolubilit`a del sistema (37): pu`o eettivamente capitare che
esso abbia soluzioni anche se i moduli non sono a due a due coprimi.
La dimostrazione del teorema cinese del resto `e particolarmente interessante perch`e pre-
senta un semplice algoritmo per risolvere il sistema (37). Tale algoritmo consiste principal-
mente nella ricerca di una soluzione particolare di ognuna delle congruenze (38) le quali
non dipendono dai termini noti a
i
ma solamente dai moduli n
i
. Questo `e un valido
aiuto nel caso in cui si debbano studiare pi` u sistemi di congruenze aventi gli stessi moduli,
ovviamente a due a due primi fra loro, ma termini noti dierenti.
31
Esempio 8.8 Determinare le soluzioni del seguente sistema applicando lalgoritmo fornito
dal teorema cinese del resto:
_
_
_
x 4 (mod 5)
x 6 (mod 4)
x 2 (mod 9)
. (42)
SVOLGIMENTO. Poniamo a
1
= 4, a
2
= 6, a
3
= 2, n
1
= 5, n
2
= 4, n
3
= 9. Usando lo
stesso simbolismo del Teorema 8.4, abbiamo M = n
1
n
2
n
3
= 180, M
1
= n
2
n
3
= 36,
M
2
= n
1
n
3
= 45, M
3
= n
1
n
2
= 20.
Determiniamo una soluzione particolare y
1
della congruenza M
1
y 1 (mod n
1
), cio`e di
36y 1 (mod 5). (43)
La (43) equivale a
36y + 5(k) = 1.
Poich`e (36, 5) = 1, abbiamo la seguente identit` a di Bezout 1 = 36 1 + 5 (7) e quindi
y
1
= 1.
Determiniamo una soluzione particolare y
2
della congruenza M
2
y 1 (mod n
2
), cio`e di
45y 1 (mod 4). (44)
La (44) equivale a
45y + 4(k) = 1.
Poich`e (45, 4) = 1, abbiamo la seguente identit` a di Bezout 1 = 45 1 + 4 (11) e quindi
y
2
= 1.
Determiniamo una soluzione particolare y
3
della congruenza M
3
y 1 (mod n
3
), cio`e di
20y 1 (mod 9). (45)
La (45) equivale a
20y + 9(k) = 1.
Poich`e (20, 9) = 1, abbiamo
20 = 9 2 + 2,
9 = 2 4 + 1.
Pertanto 1 = 9 2 4 = 9 (20 9 2) 4 e lidentit` a di Bezout `e 1 = 9 9+20 (4) e quindi
y
3
= 4.
Per il Teorema 8.4, una soluzione di (42) `e
x = a
1
M
1
y
1
+ a
2
M
2
y
2
+ a
3
M
3
y
3
= 4 36 1 + 6 45 1 + 2 20 (4) = 254.
Tutte le soluzioni di (42) sono quindi x 254 (mod 180) o, e quivalentemente,
x 74 (mod 180).
32
Esempio 8.9 Determinare le soluzioni del seguente sistema applicando lalgoritmo fornito
dal teorema cinese del resto:
_
_
_
x 4 (mod 5)
x 2 (mod 4)
x 6 (mod 9)
. (46)
SVOLGIMENTO. Il sistema assegnato coincide con quello dellEsempio 8.5. Il metodo di
risoluzione `e, ovviamente, dierente.
Poniamo a
1
= 4, a
2
= 2, a
3
= 6, n
1
= 5, n
2
= 4, n
3
= 9. Si ha M = n
1
n
2
n
3
= 180,
M
1
= n
2
n
3
= 36, M
2
= n
1
n
3
= 45, M
3
= n
1
n
2
= 20. Si osservi che i moduli di (46)
coincidono con quelli di (42). Poich`e nellalgoritmo del teorema cinese del resto le congruenze
(38) non dipendono dagli a
i
ma solamente dai moduli n
i
, abbiamo (si veda lEsempio 8.9)
y
1
= 1, y
2
= 1, y
3
= 4.
Una soluzione di (46) `e
x = a
1
M
1
y
1
+ a
2
M
2
y
2
+ a
3
M
3
y
3
= 4 36 1 + 2 45 1 + 6 20 (4) = 246.
Tutte le soluzioni di (42) sono quindi x 246 (mod 180) o, e quivalentemente,
x 114 (mod 180).
9 Il Piccolo Teorema di Fermat e una sua applicazione
alla crittograa
Il problema di determianre la cardinalit`a dellinsieme P dei numeri primi primi minori od
uguali ad un ssato intero positivo n `e molto dicile. Il miglior risultato in questo senso `e,
almeno no ad oggi, dato dal Teorema 3.4. Pi` u facile risulta determinare, per ogni intero
positivo n, la cardinalit`a dellinsieme dei numeri interi q, 1 q < n, che sono primi con n.
Questo valore `e noto come funzione di Eulero.
Denizione 9.1 Dicesi funzione di Eulero (n) quella funzione che fa corrispondere ad ogni
intero positivo n il numero degli interi, compresi fra 1 e n, che sono primi con n.
Per comodit`a enunciamo il seguente teorema la cui dimostrazione si trova nel capitolo
riguardante il Calcolo Combinatorio.
Teorema 9.1 Sia n un intero positivo avente la seguente fattorizzazione in fattori primi
n = p
e
1
1
p
e
2
2
. . . p
e
r
r
(unica a meno dellordine dei p
i
). Allora
(n) = n
_
1
1
p
1
__
1
1
p
2
_
. . .
_
1
1
p
r
_
.
33
Dimostriamo adesso il seguente risultato ricco di importanti conseguenze non solo teoriche
ma anche applicative.
Teorema 9.2 Piccolo teorema di Fermat. Siano p un numero primo e x un intero
positivo tali che x 0 (mod p). Allora
x
p1
1 (mod p).
Dimostrazione. (Dimostrazione obbligatoria).
Sia A = {x mod p, 2x mod p, 3x mod p, . . . , (p 1)x mod p} (si veda la Denizione 5.2).
Cominciamo col dimostrare che gli elementi di A sono tutti distinti modulo p. Infatti sup-
poniamo che per qualche coppia i, j con 1 j < i p 1 si abbia ix mod p = jx mod p.
Allora esistono k, h Z tali che ixkp = jxhp, cio`e (ij)x = (kh)p e quindi p | (ij)x.
Il numero p, essendo primo, deve dividere almeno uno dei due interi x oppure i j. Ma,
essendo per ipotesi x 0 (mod p), si ha p | x. Allora necessariamente p | (i j), ma questo
e assurdo perch`e 1 i j < p.
Verichiamo ora che 0 A. Infatti, se per qualche i {1, 2, . . . , p1} fosse ix mod p = 0,
ix dovrebbe essere un multiplo di p e quindi (essendo 1 i p 1) p | x. Ma questo
contraddice lipotesi x 0 (mod p).
In conclusione abbiamo A = {1, 2, . . . , p1}. Pertanto, per la (1) della Proposizione 5.2,
x 2x (p 1) x 1 2 (p 1) (mod p),
cio`e
[1 2 3 (p 1)] x
p1
[1 2 3 (p 1)] (mod p).
Allora esiste h Z tale che 1 2 3 (p 1) (x
p1
1) = hp, cio`e
p |
_
1 2 3 (p 1)
_
x
p1
1
_
.
Poich`e p | [1 2 3 (p 1)], si ha p | (x
p1
1) e quindi la tesi.
Il Piccolo Teorema di Fermat e un caso particolare del seguente teorema di cui omettiamo
la dimostrazione.
Teorema 9.3 Teorema di Eulero. Siano x e n interi positivi primi fra loro con n 2.
Allora
x
(n)
1 (mod n)
essendo (n) la funzione di Eulero.
Abbiamo gi`a precedentemente osservato come il miglior test di primalit`a (almeno no-
ra) scoperto si basi sul Teorema 9.2. Mostriamo adesso, in modo pi` u dettagliato, unaltra
interessantissima applicazione di questo teorema alla crittograa: lalgoritmo RSA.
Algoritmo RSA. (Dimostrazione obbligatoria). Inviare senza pericoli informazioni
importanti (per esempio numeri di carte di credito) attraverso Internet oggi `e un problema di
34
cruciale interesse. Linformazione deve essere prima criptata, quindi codicata e trasmessa.
Chi la riceve deve decodicarla e quindi decriptarla. Descriviamo brevemente come si pu`o
criptare e poi decriptare uninformazione con un algoritmo sviluppato da Rivest, Shamir e
Adleman nel lavoro A Method for obtainind Digital Signatures and Public-Key Cryptosystems
Comm. ACM 21 (1978), 120-126, (da qui la sigla RSA). Supponiamo di voler acquistare on-
line un biglietto aereo pagandolo con la carta di credito. Chiaramente vogliamo trasmettere
il numero n della carta di credito alla compagnia aerea in modo che eventuali intrusi non
possano prottarne.

E quindi necessario criptare n in modo che chi intercetta abusivamente
il messaggio non riesca a risalire ad n. Daltra parte la compagnia aerea deve essere in grado
di conoscere n (cio`e deve poter decriptare il numero criptato da noi trasmesso). Ovviamente
sono necessari due algoritmi: uno per criptare n trasformandolo per esempio nel numero m
ed un altro per decriptare m e risalire ad n. In generale questi algoritmi sono pubblici ma
fanno uso di una chiave segreta per criptare e poi decriptare il messaggio. La compagnia
aerea dovrebbe quindi assegnare ad ogni utente una chiave segreta personale e inviaglierla
attraverso un canale sicuro. Questa procedura, sebbene in molti altri casi possa funzionare
benissimo, sicuramente e impraticabile nel nostro esempio: ogni cittadino del mondo potreb-
be acquistare online un biglietto! La compagnia aerea ha la necessit`a di rendere pubblica la
chiave segreta e, nonostante questo fatto, lintruso non deve essere in grado di decriptare il
messaggio m inviato. Come si pu`o procedere? I metodi usati oggi si basano sullalgoritmo
RSA.
La compagnia aerea sceglie due numeri primi p e q diversi tra loro e MOLTO MOLTO
GRANDI. Quindi calcola r = pq e trova due interi positivi s e t tali che
st 1 (mod (p 1)(q 1)) (47)
(cio`e st = j(p 1)(q 1) + 1 per qualche intero j) rendendo pubblici i numeri r e s (essi
formano la chiave pubblica per criptare n).
Per esempio siano p = 37 e q = 23 (questi numeri sono troppo piccoli per un uso pratico
ma vanno bene per un esempio). Cos`, r = 37 23 = 851, e la compagnia aerea pu`o scegliere
s = 5 e t = 317 perch`e 5 317 = 1585 = 2(36)(22) + 1 = 2(37 1)(23 1) + 1 1
(mod (37 1)(23 1)). Altre scelte per s e t sono possibili, ma in ogni caso si consiglia
di evitare che uno di essi sia uguale ad 1.
`
E importante osservare che la compagnia aerea
non rende pubblici i numeri p, q e t ma solo r e s. Inoltre, data la grandezza di r = pq,
possiamo supporre n < r. Invece di trasmettere n, lutente calcola e invia il numero
m = n
s
mod r
(si veda la Denizione 5.2). Nascono le seguenti domande:
(1) La compagnia aerea che riceve m (cio`e il numero n criptato) `e in grado di risalire ad
n?
(2) Lintruso che intercetta m pu`o risalire ad n? (ovviamente anche lui conosce il valore
di r e t).
35
Cominciamo col rispondere alla prima domanda. Per risalire ad n, la compagnia aerea
deve solo calcolare m
t
mod r. Proviamo infatti che vale la seguente uguaglianza:
m
t
mod r = n. (48)
Essendo 0 n < r, la (48) equivale a
m
t
n (mod r). (49)
Poich`e m = n
s
mod r, abbiamo m n
s
(mod r) e, per la (1) della Proposizione 5.2,
m
t
n
st
(mod r). (50)
Vogliamo adesso provare le due seguenti congruenze:
n
st
n (mod p); (51)
n
st
n (mod q). (52)
Dimostriamo la (51). Si hanno due casi: n 0 (mod p) oppure n 0 (mod p).
Se n 0 (mod p), per il Piccolo teorema di Fermat si ha n
p1
1 (mod p). Da cui,
sempre per la (1) della Proposizione 5.2,
_
n
p1
_
j(q1)
1 (mod p),
_
n
p1
_
j(q1)
n n (mod p)
e quindi
n
st
= n
j(p1)(q1)+1
=
_
n
p1
_
j(q1)
n n (mod p).
Se n 0 (mod p), allora n
st
n `e multiplo di p. Abbiamo cos` provato che, in ogni caso,
la (51). Analogamente si prova la (52).
Essendo r = pq = [p, q], da (51) e (52) segue, per la (3) della Proposizione 5.2, che
n
st
n (mod r). (53)
Applicando la propriet`a transitiva alle congruenze (50) e (53) (si veda la Proposizione
5.3), otteniamo (49) e quindi (48).
Per quanto riguarda la seconda domanda, si osservi che la sicurezza di questo procedi-
mento dipende dalla inaccessibilit`a di t. Essendo r e s pubblici, come mai t non pu`o essere
dedotto da chi vuole rubare il numero di carta di credito? Per conoscere t, lintruso dovrebbe
essere in grado di risolvere lequazione (47) il cui modulo (p 1)(q 1) gli `e sconosciuto.
Per risalire ad esso dovrebbe individuare i numeri p e q conoscedone solo il prodotto r. Cio`e
fattorizzare r = pq. Questo `e, nora, un problema dicile (nel senso che la sua soluzione
richiede moltissimo tempo anche usando computer velocissimi). Nel nostro esempio `e faci-
lissimo fattorizzare r = 581. Ma, se p e q sono numeri di 200 cifre, il problema diventa per
ora quasi impossibile.
36
Indice analitico
(a, b), 7
MCD(a, b), 7
[a, b], 7
a b (mod n), 16
mcm(a, b), 7
x mod d, 18
Algoritmo di Euclide delle divisioni successi-
ve, 8
Algoritmo RSA, 34
Assioma di induzione, 3
Assiomi di Peano, 3
Classe resto modulo n, 17
Congruo, 16
Criterio di divisibilit`a per 2 o per 5, 18
Criterio di divisibilit`a per 3, 18
Criterio di divisibilit`a per 9, 18
Crivello di Eratostene, 11
Equazioni di congruenze, 19
Funzione di Eulero, 33
Identit`a di Bezout, 8
Insieme ben ordinato, 4
Interi coprimi, 8
Interi primi fra loro, 8
Massimo comune divisore, 6
Minimo comune multiplo, 7
Numero naturale, 3
Numero primo, 10
Piccolo teorema di Fermat, 34
Principio di denizione per induzione o ricor-
renza, 4
Principio di induzione, primo, 3
Principio di induzione, secondo, 5
Procedura per fattorizzare n, 13
Sistema di numerazione in base b, 14
Sistemi di congruenze, 22
Teorema cinese del resto, 30
Teorema di divisione in N, 5
Teorema di divisione in Z, 6
Teorema di Euclide sui numeri primi, 13
Teorema di Eulero, 34
Teorema fondamentale dellaritmetica, 11
37

Potrebbero piacerti anche