null

1
Alcuni numeri non razionali
L’insieme dei numeri razionali purtroppo non esaurisce√l’insieme di tutti i
numeri di cui abbiamo bisogno. Pensiamo ad esempio a 2. Questa la posso
vedere come lo zero (o radice) del polinomio x2 − 2, oppure pi´
u geometricamente come la lunghezza della diagonale di un triangolo
rettangolo
con
√
` veramente molto facile notare che 2 non `e un numecateti lunghi 1. E
√
ro razionale. Infatti, ragioniamo per assurdo e suppomiamo che 2 sia un
numero razionale. Quindi
√
n
2= ,
m
con n, m ∈ N e n 6= 0. Inoltre, a meno di sostituire n ed m, possiamo pensare
che siano “ridotti ai minimi termini”: ossia non abbiano nessun fattore > 1
in comune. Prendendo il quadrato da ambo le parti e moltiplicando per m2
si trova
2m2 = n2 .
Dunque n2 `e pari. Per cui n `e pari. Quindi n2 `e divisibile per 4. Da questo
si vede che 4 divide 2m2 : ossia m `e pari. Questa `e una contraddizione, visto
che n ed m non hanno fattori > 1 in comune.
Nota che tutto questo ragionamento dipende dal Teorema fondamentale
dell’aritmetica: ogni numero intero > 1 si scrive in modo unico (a meno
dell’ordine dei fattori) come prodotto di numeri primi.
Con pochissima fatica abbiamo il seguente risultato.
√
Lemma 1 Sia x un numero razionale. Allora x `e un numero razionale
se e solo se x = n2 /m2 , per qualche n, m ∈ Z con m 6= 0.
Proof 1 (Dimostrazione) Una parte dell’implicazione `e ovvia. Infatti se
√
x = n2 /m2 (per qualche n, m ∈ Z con m 6= 0), allora x = n/m oppure
−n/m, ed entrambi questi numeri sono razionali. √
√
Supponi ora che x ∈ Q. Come fatto sopra per 2, scrivi
x=
nx
dx
e
√
x=
n
d
con nx , dx , n, d ∈ Z, dx , d 6= 0. Inoltre, prendiamo nx e dx , e n e d, ri√
dotti ai minimi termini. Elevando al quadrato l’espressione x = n/d e
moltiplicando per d2 dx si trova
d2 nx = dx n2 .
1
(1)
Ora ci sono vari casi da considerare. Se nx = 0 o se n = 0 allora x = 0
ed il risultato `e evidende. Inoltre possiamo assumere (a meno di cambiare
il segno di dx , nx , d e n) che dx , nx , d, n > 0.
Se nx = dx = 1 allora x = 1 e ancora una volta non c’`e niente da
verificare. Quindi possiamo supporre che nx > 1 o dx > 1.
Supponi che nx > 1. Sia p un divisore primo di nx e sia pα la pi´
u
grande potenza di p che divide nx . Ora visto che nx e dx non hanno primi in
comune, pα divide n2 . Visto che n2 `e un quadrato, il teorema fondamentale
dell’aritmetica mostra che α `e pari: ossia α = 2α0 per qualche α0 ∈ N.
Ripetendo questo ragionamento per ogni divisore primo di nx si trova che
nx = a2 , per qualche a ∈ N. Ora l’equazione (1) diventa
(da)2 = d2 a2 = dx n2 .
Se dx = 1 allora x = nx = a2 e la dimostrazione `e conclusa. Altrimenti
se dx > 1 possiamo applicare il Teorema fondamentale dell’aritmetica per
dimostrare (come fatto sopra) che dx = b2 , per qualche b ∈ N.
2
Accenni sui numeri primi
Ricordiamo che un numero naturale p > 1 si dice un primo se gli unici
divisori naturali di p sono 1 e p. Quindi ad esempio 2, 3, 5, 7, 11, 13 sono
numeri primi, mentre 4 = 2 · 2, 6 = 2 · 3, 8 = 2 · 4, 9 = 3 · 3, 10 = 2 · 5 non
sono numeri primi.
Alla luce del teorema fondamentale dell’aritmetica `e molto importante
avere una conoscenza approfondita sui numeri primi. Iniziamo con una
domanda basilare: “quanti sono?”.
Presentiamo tre dimostrazione sull’esistenza di infiniti numeri primi.
Theorem 1 Esistono infiniti numeri primi.
Proof 2 (Dimostrazione 1) Questa ´e forse ´e la pi`
u famosa: anche se la
meno informativa. Supponiamo per assurdo che esistano soltanto un numero
finito di primi: diciamo p1 , . . . , p` . Prendi n := p1 p2 · · · p` + 1. Visto che
p > pi , per ogni i ∈ {1, . . . , `}, abbiamo che n non `e un numero primo.
Quindi n ha un divisore primo p, quindi p = pi , per qualche i ∈ {1, . . . , `}.
Ora la divisione di n per p ha resto 1, una contraddizione.
n
Proof 3 (Dimostrazione 2) Considerate i numeri naturali Fn = 22 + 1,
al variare di n ∈ N. Dimostriamo che i numeri Fn sono a due a due coprimi:
da cui segue che esistono infiniti numeri primi.
2
Per dimostrare che Fn sono a due a due coprimi baster`
a verificare che
vale la formula
n−1
Y
Fn − 2 =
Fk .
(2)
k=0
Infatti se d ´e un divisore di Fn e di Fm (con m < n diciamo), allora da (2)
si vede che d divide 2. Dato che Fm e Fn sono dispari si ha d = 1.
Per dimostrare (2) usiamo l’induzione. Chiaramente F0 = 21 + 1 = 3 e
F1 = 22 + 1 = 5 = F0 − 2. Ora per induzione
!
n
n−1
Y
Y
Fk =
Fk Fn = (Fn − 2)Fn
k=0
k=0
2n
= (2
n
n+1
− 1)(22 + 1) = 22
− 1 = Fn+1 − 2.
Proof 4 (Dimostrazione 3) Questa ´e la mia preferita ed ´e dovuta a Paul
Erd˝
os. Sia P l’insieme di tutti i numeri primi: dimostriamo che la somma
X1
p∈P
p
diverge, da cui segue che esistono infiniti numeri primi.
Scriviamo gli elementi di P con pP
1 < p2 < p3 < · · · . Ragioniamo per
assurdo e supponiamo che la somma p∈P 1/p converga. Quindi esiste un
numero naturale ` per cui
`
X
1
1
< .
pi
2
i≥`+1
Per semplicit´
a chiamiamo i primi p1 , . . . , p` piccoli, e i primi p`+1 , . . . grandi.
Prendi N := 22`+2 . Nota che
X N
N
< .
(3)
pi
2
i≥`+1
Sia Ngrnd il numero degli interi n con n ≤ N e con n divisibile per qualche
primo grande. Sia Npccl il numero degli interi n con n ≤ N e con n divisibile
soltanto per primi piccoli. Chiaramente
Ngrnd + Npccl = N.
(4)
Cerchiamo di stimare Ngrnd e Npccl . Iniziamo con Ngrndd . Nota che
bN/pi c conta esattamente il numero degli interi n ≤ N con n divisibile per
3
pi . Quindi dall’equazione (3) si trova
X
Ngrnd ≤
bN/pi c < N/2.
(5)
i≥`+1
Passiamo a Npccl . Ogni intero n ≤ N divisibile soltanto che per primi
piccoli si pu´
o scrivere come n = an b2n , dove an non ´e divisibile per quadrati.
Nota che il numero di elementi senza
√ quadrati e divisibili soltanto che per
√
`
primi piccoli ´e 2 . Ora bn ≤ n ≤ N . Questo dimostra che il numero
√ di
scelte Npccl per n ≤ N divisibile soltanto che per primi piccoli ´e ≤ 2` N .
Per cui
√
Npccl ≤ 2` N = 2` 2`+1 = 22`+1 = N/2.
Per cui Ngrnd + Npccl < N , una contraddizione.
Nota che la terza dimostrazione dimostra molto di pi´
u del semplice fatto che
esistono infiniti numeri primi: dimostra che la densit´a dei numeri primi non
´e trascurabile nell’insieme dei numeri naturali.
Chiamate π(x) la funzione che conta i primi ≤ x: quindi π(x) = 0 se
0 ≤ x < 2, π(x) = 1 se 2 ≤ x < 3, π(x) = 2 se 3 ≤ x < 5.
P Con un poca di analisi sarebbe facile (usando solamente il fatto che
p 1/p diverge) dimostrare che, per ogni > 0, esiste N > 0, per cui
π(x) ≥ x1− per ogni x ≥ N . Uno dei teoremi pi´
u celebrati della teoria dei
numeri (Teorema dei Numeri Primi) dimostra che
π(x) ´e asintotica a
x
,
log(x)
ossia
lim
x→∞
π(x)
= 1.
x/ log(x)
L’analisi complessa ´e stata inventanta soltanto per dimostrare questa affermazione. Tuttavia oggigiorno esiste una dimostrazione elementare di questo
teorema, la dimostrazione ´e dovuta a Erd˝os e Selberg.
Il problema di stimare l’errore π(x) − x/ log(x) ´e uno dei problemi maggiori della matematica (una delle possibili formulazioni della congettura di
Riemann).
3
Applicazioni di congruenze
Sappiamo bene che ogni numero razionale x scritto in espansione decimale
ha la parte decimale o finita oppure periodica. Esiste un modo molto facile
per determinare in anticipo (senza fare le divisioni successive) la lunghezza
della parte periodica. Invece di farlo in generale (che ci complicherebbe
soltanto i conti), trattiamo il caso x = 1/n con n coprimo con 10.
4
Sia ` il pi´
u piccolo intero positivo con n | 10` − 1. Allora ` ´e la lunghezza
del periodo della parte decimale di x.
Facciamo alcuni esempi. Prendi x = 1/3. Visto che 3 | 10 − 1 si ha ` = 1 ed
infatti 1/3 = 0.3. Facciamo altri due esempi, x = 1/11, visto che 11 | 102 − 1
e che 11 non divide 10 − 1, si ha ` = 2, ed infatti 1/11 = 0.09. Prendi
x = 1/37, allora 37 | 103 − 1, ma 37 ´e coprimo con 10 − 1, 102 − 1. Dunque
` = 3 ed infatti 1/37 = 0.027. Infine prendi x = 1/101 ora 101 | 104 − 1,
ma 101 non divide 10 − 1, 102 − 1 o 103 − 1. Quindi ` = 4 ed infatti
1/101 = 0.0099.
Passiamo ora al caso generale. Supponiamo che la parte periodica di
x = 1/n abbia lunghezza `. Quindi
x=
1
= 0.a1 a2 · · · a` a1 a2 · · · a` · · · a1 a2 · · · a` · · · .
n
(6)
Prendi il numero q := a1 a2 · · · a` e nota che a/10` = 0.a1 a2 · · · a` inoltre
q
= 0. 0| ·{z
· · 0} a1 a2 · · · a` .
102`
` zeri
Da (6), questo dimostra (insieme con una facile induzione) che
1
q
q
q
q
1
1
q
1
q
= x = ` + 2` + 3` · · · = ` 1 + ` + 2` · · · = `
= `
.
`
n
10 10
10
10
10
10
10 1 − 1/10
10 − 1
Per cui nq = 10` − 1 e n | 10` − 1. La minimalit`a di ` e l’implicazione inversa
seguono facilmente con calcoli analoghi.
4
Massimo comun divisore tra due interi;
soluzione di alcune equazioni diofantee
Definizione Siano a, b ∈ Z non entrambi nulli; si dice che d ∈ Z `e
un Massimo Comun Divisore tra a e b se sono verificate le seguenti due
condizioni:
i) d/a e d/b;
ii) se c ∈ Z `e tale che c/a e c/b, allora c/d.
5
Proposizione Dati i due numeri interi non entrambi nulli a, b, se d e d˜
˜
sono due Massimi Comun Divisori tra a e b, allora o d = d˜ o d = −d.
Dimostrazione Per la definizione di Massimo Comun Divisore, si ha d/d˜
˜
˜ Ne see d/d.
Esistono allora due interi h e k tali che d˜ = hd e d = d.
˜ oppure
gue d˜ = (hk)d˜ e quindi hk = 1; si conclude h = k = 1 e d = d,
˜
h = k = −1 e quindi d = −d.
Da quanto appena provato segue che, se esiste, il Massimo Comun Divisore
positivo d tra a e b `e unico e si indica con il simbolo M.C.D.
Costruiamo ora il Massimo Comun Divisore tra due interi (non entrambi
nulli a, b. In questo modo diamo una dimostrazione dell’esistenza di tale
M.C.D.
(Algoritmo euclideo delle divisioni successive) Per ogni coppia di
interi non entrambi nulli a e b, esiste d = M.C.D.
Dimostrazione Se d = M.C.D., allora risulta d =, MCD (−a, −b); possiamo quindi prendere a, b ∈ N. Si supponga inoltre b 6= 0 o a 6= 0.
• Se b = 0 allora M.C.D. = a.
• Sia b 6= 0 e a 6= 0; si esegua le seguente operazione:
a = bq1 + r1 ,
0 ≤ r1 < b.
Si hanno due possibilit`a: se r1 = 0, b = M.C.D.; altrimenti:
b = r1 q2 + r2 ,,
0 ≤ r2 < r1 .
Di nuovo si hanno le due possibilit`a: se r2 = 0 il processo ha termine
e si dimostra che r2 = M.C.D.; altrimenti:
r1 = r2 q3 + r3 ,
0 ≤ r3 < r2 .
Il procedimento continua poi come nei precedenti passaggi.
Poich´e i resti costituiscono una successione strettamente decrescente di numeri non negativi, dopo un numero finito di passi si ottiene un resto rk = 0.
(1)
(2)
(3)
...
(k − 1)
(k)
r1 =
6 0
r2 =
6 0
r3 =
6 0
a = bq1 + r1
b = r1 q2 + r2
r1 = r2 q3 + r3
rk−1 6= 0
rk−3 = rk−2 qk−1 + rk−1
rk−2 = rk−1 qk + 0
6
rk−1 , l’ultimo resto positivo, `e il M.C.D.. Verifichiamo infatti che valgono
le condizioni i) e ii) della Definizione di Masssimo Comun Divisore.
i) Occorre provare che rk−1 /a e rk−1 /b: infatti, dalla riga (k) `e immediato
`
riconoscere che rk−1 /rk−2 e dalla riga (k − 1) che rk−1 divide rk−3 . E
facile convincersi che risalendo fino alla riga (2) si ottiene rk−1 /r1 e
rk−1 /b. Dalla riga (1) segue rk−1 /a.
ii) Sia c ∈ Z, c/a, c/b. In questo caso si scende dalla riga (1) alla
riga (k): dalla (1) segue c/r1 , dalla (2) c/r2 e cos`ı via, ottenendo
c/rk−1 .
Lo stesso procedimento ci permette di trovare due interi x, y tali che M.C.D. =
ax + by
Ma quando esistono x, y soluzioni dell’equazione diofantea
ax + by = c
e, una volta trovata una soluzione, quante sono? Come le trovo tutte?
(Identit`
a di B´
ezout) Se a, b sono due interi non entrambi nulli, e d =
M.C.D. , esistono due interi x, y tali che sia:
ax + by = d.
Dimostrazione Dalla prima riga della dimostrazione del Teorema delle
divisioni successive, si ottiene:
r1 = 1 · a + (−q)b.
Sostituendo tale espressione nella (2) si ha:
r2 = (−q2 )a + (1 + q1 q2 )b.
Procedendo in tal modo si ottiene ogni resto come αa + βb per opportuni
interi α e β. In particolare, esistono x, y ∈ Z tali che: rk−1 = d = xa +
yb.
E come le trovo tutte? Abbiamo un Teorema che afferma:
Teorema Se (x0 , y0 ) `e una soluzione dell’equazione diofantea
ax + by = c
7
allora tutte e sole le soluzioni sono le coppie x = x0 + hb, y = y0 − ha al
variare di h ∈ Z.
ESEMPIO
1) Determinare M.C.D.(110143, 665).
2) Determinare (se esistono) tutte e sole le soluzioni intere dell’equazione
110143x + 665y = 19.
(7)
3) Determinare (se esistono) tutte e sole le soluzioni intere di
110143x + 665y = 95.
(8)
Applicando l’algoritmo delle divisioni duccessive, si ottiene:
(1)
(2)
(3)
(4)
(5)
(6)
110143 = 165 · 665 + 418;
665 = 1 · 418 + 247;
418 = 1 · 247 + 171;
247 = 1 · 171 + 76;
171 = 2 · 76 + 19;
76 = 4 · 19.
Dunque MCD (110143, 665) = 19.
Per quanto riguarda il secondo punto dell’esempio, l’Identit`a di B´ezout
assicura l’esistenza di almeno una soluzione. Troviamola:
(5) 19 = 171 − 2 · 76;
(4) 76 = 247 − 1 · 171;
(3) 171 = 418 − 1 · 247;
(2) 247 = 665 − 1 · 418;
(1) 418 = 110143 − 165 · 665.
Si ottiene allora: 19 = 171−2·(247−171) = 3·171−2·247 = 3·(418−247)−
2·247 = 3·418−5·247 = ·(110143−165·665)−5·(665−418) = 3·110143−500·
665 + 5(110143 − 165 · 665) = 8 · 110143 − (500 + 825) · 665 = 881144 − 881125.
e una soluzione dell’Equazione (??) `e data dalla coppia
x0 = 8,
y0 = 1325.
La richiesta era per`
o di trovare tutte le soluzioni dell’equazione data.
8
Si supponga allora che x
ˆ, yˆ sia un’altra soluzione dell’Equazione data; si ha
pertanto:
110143x0 − 665y0 = 19
e
110143ˆ
x + 665ˆ
y = 19.
Sottraendo membro a membro si ottiene:
0 = 110143(x0 − x
ˆ) + 665(y0 − yˆ)
e quindi, dividendo ambo i membri per 19:
5797(x0 − x
ˆ) = 35(ˆ
y − y0 ).
(9)
Segue che 5797(x0 −ˆ
x) `e multiplo di 35 e 35(ˆ
y −y0 ) `e multiplo di 5797. Poich´e
19 = MCD (110143, 665), si conclude che 5797 e 35 non hanno fattori comuni
e quindi 35/(x0 − x
ˆ) e 5797/(ˆ
y − y0 ). Dunque:
∃ h, k ∈ Z,
x0 − x
ˆ = h35,
yˆ − y0 = k5797
e sostituendo nell’Uguaglianza (9), si ottiene h = k. Pertanto:
x
ˆ = x0 − h35,
yˆ = y0 + h5797.
Viceversa, `e immediato verificare che ogni coppia di interi
x = x0 − h35,
y = y0 + h5797
con x0 = 8, y0 = 1325, `e soluzione dell’Equazione (??).
Per quanto riguarda il terzo punto, basta osservare che 95 = 5 · 19 e quindi
le coppie
(5x, 5y)
al variare di ( x, y) tra le soluzioni della prima equazione sono tutte e sole
le soluzioni dell’equazione nel punto3.
` immediato verificare che se si sostituisce a 1110143 a e a 665 b, si dimostra
E
il Teorema.
9
5
Aritmetica modulo n
Definizione Sia n ∈ Z, un intero maggiore di 1. Due interi a e b si dicono
congrui modulo n e si scrive a ≡ b mod n se e solo se n/(a − b).
Il caso n = 1 `e banale. Infatti a ≡ b mod 1 comunque si scelgano a e b;
se invece n < 0, n/(a − b) se e solo se −n/(a − b); non `e quindi restrittivo
ricondursi alle congruenze modulo n per i soli n positivi. e n=0?
La relazione di congruenza gode delle propriet`a riflessiva, simmetrica e transitiva e quindi `e una relazione di equivalenza su Z. Inoltre valgono le seguenti
propriet`
a:
a ≡ a0 mod n, b ≡ b0 mod n ⇒ a + b ≡ a0 + b0 ;
(10)
a ≡ a0 mod n, b ≡ b0 mod n ⇒ aa0 ≡ bb0 .
(11)
(10) e (11) permettono di definire le operazioni di somma e prodotto nell’insieme quoziente.
La classe di equivalenza dell’intero a rispetto alla relazione di congruenza
modulo n si denota con [a]n o, se chiaro dal contesto, semplicemente con [a].
Z
L’insieme quoziente viene indicato con Zn = nZ
.
La classe di equivalenza dell’intero a rispetto alla relazione di congruenza
modulo n si denota con [a]n . L’insieme quoziente viene indicato con Zn =
Z
mZ .
Proposizione Per ogni n ≥ 2 risulta Zn = {[0], [1], . . . , [n − 1]}.
Dimostrazione Basta osservare che ogni intero a `e congruo a r modulo n,
dove r `e il resto della divisione di a per n.
Teorema Zn `e un anello commutativo con unit`a rispetto alle operazioni
di somma e prodotto cos`ı definite:
• [a]n + [b]n = [a + b]n ;
• [a]n · [b]n = [a · b]n
Dimostrazione Bisogna provare che il risultato non dipende dal rappresentante scelto.
Esempio
La legge M.C.D.([a]n , [b]n ) = [M.C.D.(a, b)]n non `e una operazione su Zn .
5.1
Congruenze lineari
Torniamo alle equazioni diofantee considerate prima. Osserviamo che l’equazione diofantea
ax + by = c
10
ha soluzione se e solo se ha soluzione la congruenza lineare ax ≡ c mod n.
Problema: Quando [a]n `e invertibile rispetto al prodotto.
5.2
Teorema cinese del resto
Consideriamo ora sistemi di congruenze lineari.
Teorema Sia
x ≡ bi mod i,
i = 1, . . . , h
(12)
un sistema di h congruenze lineari con MCD(ni , nj ) = 1 ∀i, j, i 6= j.
Esiste allora una sola soluzione del Sistema (12) modulo n = n1 · · · nh .
Dimostrazione Preso n = n1 · · · nh consideriamo n0i = nni . Poich´e MCD(ni , n0i ) =
1, la congruenza n0i z ≡ 1 modni ha una soluzione li Allora
x = b1 n01 l1 + · · · + bh n0h lh
`e una soluzione di (12). Infatti, poich´e ni /n0j se i 6= j, x ≡ bi n0i li ≡ bi modni .
Sia y 6= x una seconda soluzione di (12). Allora, x ≡ y modni ∀i, 1 ≤ i ≤ h.
Poich´e gli ni sono a due a due coprimi, si ha la tesi.
Applicazioni:
• Quante radici quadrate ha 1 (modulo n?
• fattorizzazione di interi.
5.3
Congruenze non lineari
Si considera ora un’equazione diofantea, non lineare. Quale relazione deve
intercorrere tra due interi a e n perch´e l’equazione
az − 1 = ny
(13)
ammetta soluzioni intere (positive).
La risposta `e data dal Teorema di Eulero-Fermat. Prima di enunciarlo,
occorre introdurre la funzione ϕ : N → N, detta funzione di Eulero:
∀n ∈ N,
ϕ(n) =| In |,
dove In `e l’insieme costituito dagli interi naturali i, 0 < i < n primi con n,
In = {i ∈ N : 0 < i < n M CD(a, n) = 1}.
11
(Teorema di Eulero-Fermat) Siano n > 0 un numero naturale fissato
e a un intero tale che M CD(a, n) = 1. Si ha allora:
aϕ(n) ≡ 1 modn.
(14)
Se M CD(a, n) 6= 1 l’Equazione (13) non ammette soluzioni.
Dimostrazione Sia In = {i1 , . . . , ir } l’insieme degli interi positivi minori di n e primi con n di modo che ϕ(n) = r; si considerino i sottoinsiemi
X e Y di Zn :
X = {[i1 ]n , . . . , [ir ]n }
Y = {[ai1 ]n , . . . , [air ]n }.
Proviamo che X = Y . Infatti, per ogni ij ∈ In , [aij ]n = [j]n e [j] ∈ X e
quindi Y ⊆ X. D’altra parte, se ik 6= il ∈ In , allora [aik ]n 6= [ail ]n e quindi
r =| X |=| Y | e X = Y .
Moltiplicando tra loro tutti gli elementi di X e tutti gli elementi di Y ,
otteniamo:
1 · i1 i2 · · · ir ≡ ai1 ai2 · · · air ≡ ar i1 i2 · · · ir modn
e quindi ar ≡ 1 mod n, cio`e la (14)
Se MCD (a, n) 6= 1, l’Equazione (13) non ha soluzioni. Se infatti per assurdo t fosse una soluzione di (13), x = a sarebbe soluzione della congruenza
lineare
at−1 x ≡ 1 modn.
Prima di generalizzare il Teorema di Fermat, diamo alcune prpriey`a della
funzione ϕ.
• ϕ `e moltiplicativa, ovvero, se m, n sono due interi coprimi, risulta
ϕ(mn) = ϕ(m)ϕ(n). (la dimostrazione segue subito dal Teorema
cinese).
• se p `e un numero primo ϕ(p) = p − 1;
• per ogni primo p e per ogni intero n, risulta ϕ(pn ) = pn − pn−1 .
12
Esiste una versione estesa del Teorema di Fermat, indispensabile per la
comprensione del sistema crittografico RSA.
Teorema Sia n un intero libero da quadrati, ovvero
n = p1 · p2 · · · pr , con pi primi pi 6= pj .
Allora ∀m, 0 < m < n, vale
mhϕ(n)+1 ≡ m modn ∀h ∈ N
Dimostrazione La ϕ `e una funzione moltiplicativa e pertanto
ϕ(n) = ϕ(p1 )ϕ(p2 ) · · · ϕ(pr ) = (p1 − 1)(p2 − 1) · · · (pr − 1).
Sia m ∈ N, m < n e si consideri mϕ(pi )+1 per ogni fattore primo pi di n.
Ovviamente risulta
mtϕ(pi )+1 ≡ m mod pi
per ogni i ∈ {1, . . . r} e t ∈ N. Poich´e ϕ(n) `e multiplo di (pi − 1) per ogni
pi che divide n, mϕ(n)+1 risulta congruo a m modulo p1 p2 · · · pr e quindi
modulo n poich´e n `e libero da quadrati.
5.4
Crittografia
Svetonio nelle Vitae Caesarorum racconta che Cesare sostituiva a ogni lettera del testo in chiaro la lettera che la segue di 3 posti. Per esempio, si
sostituisce alla A la lettera D, alla B la lettera E e cos`ı via.
Diamo la definizione di sistema crittografico.
Definizione Un sistema crittografico `e la collezione dei seguenti oggetti:
1. un insieme P T , costituito da tutti i possibili testi in chiaro (cio`e i
messaggi che vanno protetti);
2. un insieme CT dei testi cifrati ;
3. un insieme K, detto insieme delle chiavi, e 2 algoritmi (funzioni) D,
E
E : K × P T → CT
D : K × CT → P T.
13
Ogni chiave k ∈ K determina una funzione di cifratura E(k) e una funzione di decifratura D(k), che sono una l’inversa dell’altra. Ovvero si trasforma un messaggio m di P T in un messaggio E(k)(m) di CT ; applicando
a E(k)(m) la funzione D(k) si ritrova m.
Si noti che quando si parla di messaggi in chiaro ci si riferisce a messaggi
gi`
a codificati (per esempio per essere letti da un computer).
Nell’Esempio precedente l’insieme P T `e costituito da tutti i testi; CT dai
testi trasformati, la chiave usata `e 3, E(3) `e l’operazione di aggiungere 3,
D(3) quella di sottrarre 3 (in realt`a con questo linguaggio stiamo gi`a immaginando di identificare le 23 lettere dell’alfabeto latino con i primi 23 interi
naturali 1, . . . , 23, e operare con l’aritmetica modulo 23).
Suggerimenti per lezione: parlare di cifrari affini; agli alunni si pu`o
far notare quando in Zn la funzione
[x]n → [a]n [x]n + [k]n
serve a definire un sistema crittografico.
5.5
Cenni sulla Crittografia a chiave pubblica
Si pu`
o dire che la “Crittografia a chiave pubblica” abbia origine con l’articolo di Diffie e Hellman New Directions in cryptography del 1976 [8]. Questa
si basa sulla possibilit`
a di rendere il canale di comunicazione asimmetrico.
In tal caso la funzione di cifratura E(k) e quindi la chiave k pu`o essere resa
pubblica, in quanto anche conoscendo k `e computazionalmene impossibile,
cio`e molto lungo, trovare la funzione inversa di E(k). E(k) `e cio`e una oneway function.
Definizione Dati due insiemi X e Y , si dice one-way function (funzione
a senso unico) una funzione f : X → Y iniettiva, per cui sia computazionalmente trattabile il calcolo di f (x), per quasi ogni x ∈ X, ma per cui sia
computazionalmente intrattabile il calcolo di f −1 (x), per ogni y ∈ f (X).
Esempio Un esempio di one-way function `e il seguente: si considera la
funzione che associa a ogni abbonato al telefono il suo numero telefonico;
possedendo l’elenco telefonico `e immediato trovare il telefono di un qualsiasi
abbonato, ma `e molto difficile risalire al nome dell’abbonato dalla conoscenza
del suo numero di telefono (senza l’aiuto di Internet).
L’esempio appena dato `e chiaramente privo di interesse crittografico. Il
prossimo `e invece alla base del metodo RSA.
14
Esempio Un esempio di funzione a senso unico, che ha molta importanza
nella Crittografia moderna, `e il prodotto di numeri: `e facile eseguire il prodotto di numeri anche molto grandi, ma `e estremamente lungo scomporre
un numero in prodotto di fattori primi. Nel 2007 secondo i Laboratori RSA,
un numero n di 1024 cifre binarie (308 cifre decimali) garantiva la sicurezza
fino al 2010. Ecco che qui si nota una differenza tra l’importanza di un teorema, e la necessit`
a di poterlo mettere in pratica: il matematico dimostra
che ogni numero intero positivo a si scrive nella forma a = pr11 · · · prss , con pi
numeri primi numero intero qualsiasi; questo `e un bel teorema (il Teorema
fondamentale dell’Aritmetica!); applicarlo `e pi`
u difficile.
RSA
Il metodo RSA(dal nome dei tre ricercatori Rivest, Shamir, Adleman) del
1978 `e tutt’oggi diffuso e ritenuto sicuro e si basa sulla scomposizione in
fattori primi, e sull’aritmetica modulo n. Diamo di seguito una breve
descrizione del metodo RSA:
• si sceglie un intero n grande tale che per ogni m, 0 < m < n risulti
mtϕ(m)+1 ≡ mmod n,
• si sceglie un numero e primo con ϕ(n);
• si considera come insieme dei testi in chiaro e insieme dei testi cifrati
l’insieme Zn (immaginiamo di avere codificato le lettere in modo tale
che nella codifica a un messaggio in chiaro corrisponda un numero
intero m compreso tra 1 e n − 1. m rappresenta un messaggio e viene
identificato con la classe [m]n ;
• si invia me , considerato ancora come elemento di Zn ; m
¯ = me `e il
messaggio cifrato.
• chi `e autorizzato a ricevere il messaggio calcola (me )d ≡ m modn, per
un opportuno d, scelto come soluzione di ex ≡ 1 modϕ(n).
15