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
© Copyright 2024 Paperzz