Progetto Lauree Scientifiche Crittografia III incontro

annuncio pubblicitario
Progetto Lauree Scientifiche
Crittografia
III incontro
Giovanna Carnovale
27 febbraio 2006
Sommario
Oggi introdurremo un metodo per determinare numeri primi e definiremo la funzione ϕ di Eulero, che è uno strumento necessario per la costruzione
del sistema crittografico RSA.
1
Il Crivello di Eratostene
Se vogliamo determinare tutti i numeri primi compresi tra 1 ed un numero N ,
il metodo più classico è fornito dal crivello di Eratostene, basato sull’idea elementare di prendere tutti i numeri minori o uguali ad N ed eliminare successivamente tutti quelli che sono multipli di 2 diversi da 2, di 3 diversi da 3...
Tecnicamente, scriveremo tutti i numeri da 2 ad N (possiamo trascurare 1
perché non è un numero primo), cancelleremo tutti i numeri pari maggiori di 2,
poi prenderemo il primo intero q maggiore di 2 che non è stato cancellato ed
elimineremo tutti i suoi multipli diversi da q stesso, e cosı̀ via. In realtà ogni
volta, basterà cominciare ad eliminare i multipli di q partendo da q 2 (gli altri sono
stati eliminati nei passaggi precedenti). Il procedimento si fermerà quando q 2 è
maggiore di N . I numeri che non saranno stati cancellati saranno tutti e soli i
numeri primi compresi tra 1 ed N .
Ad esempio, se cerchiamo i numeri primi compresi tra 2 e 25: scriviamo
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
1
eliminiamo tutti i multipli di 2 maggiori di 2 (sottolineeremo i numeri eliminati),
ottenendo:
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25.
Ora eliminiamo tutti i multipli di 3 maggiori di 3. Il primo che non abbiamo già
eliminato è 9 = 32 . Abbiamo
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25.
Ora eliminiamo tutti i multipli di 5 maggiori di 5: l’unico che non abbiamo già
cancellato è 25:
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
Poiché il primo numero maggiore di 5 che non è stato eliminato è 7 e 72 =
49 > 25, il processo termina qui ed i numeri primi minori o uguali a 25 sono:
2, 3, 5, 7, 11, 13, 17, 19, 23.
Attività
Determinare con il crivello di Eratostene tutti i numeri primi compresi tra 1 e 100.
2
La funzione ϕ di Eulero
La funzione ϕ di Eulero associa ad un numero naturale n > 1 il numero degli
elementi invertibili di Zn .
Attività
1. Calcolare ϕ(p) per un qualsiasi numero primo p.
2. Calcolare il valore di ϕ(n) per n = 8, 16.
3. Calcolare il valore di ϕ(n) per n = 6, 15, 26.
4. Constatare che se ϕ(n) = n − 1 allora n è un numero primo e viceversa.
2
Verifichiamo cosa succede in particolare se n = pq con p e q numeri primi distinti.
Per contare gli elementi invertibili di Zn useremo di nuovo un crivello: vogliamo
eliminare tutti gli elementi di Zpq che non sono invertibili e poi contarli. Sappiamo
che i non invertibili corrispondono ai numeri compresi tra 0 e pq − 1 che non
sono coprimi con pq, cioè quelli che sono divisibili per p e/o per q. I multipli
di p compresi tra 0 e pq − 1 sono 0 = 0p, p = 1p, 2p, . . . , (q − 1)p, in totale
sono quindi q. Analogamente, i multipli di q compresi tra 0 e pq − 1 sono 0 =
0q, q = 1q, 2q, . . . , (p − 1)q, ed in totale sono p. Il risultato ϕ(pq) si otterrà
sottraendo a pq il numero dei multipli di p, il numero dei multipli di q, ed avendo
poi l’accortezza di aggiungere ciò che in questo caso avremmo tolto due volte, vale
a dire il numero dei multipli comuni di p e q compresi tra 0 e pq − 1. Osserviamo
che l’unico elemento che soddisfa queste proprietà è lo 0 perché se avessimo un
numero della forma rp = sq compreso tra 1 e pq − 1, avremmo che pr ≤ pq − 1
quindi r < q non può essere un multiplo di q. Poiché p non è un multiplo di q,
avremmo che q è un divisore di rp che non è un divisore né di r né di p, e ciò è
impossibile perché q è un numero primo. Ne segue che l’unico multiplo comune
è 0 ed avremo:
ϕ(pq) = pq − q − p + 1
= q(p − 1) − (p − 1)
= (q − 1)(p − 1)
= ϕ(q)ϕ(p).
In generale vale la regola:
Se M CD(m, n) = 1 allora ϕ(mn) = ϕ(m)ϕ(n).
Attività
1. Utilizzare un crivello per determinare ϕ(pk ) se p è un numero primo.
2. Dedurre una formula generale ϕ(n) utilizzando le formule appena introdotte
e la scomposizione in fattori primi di n.
3. Prendere due primi p e q a caso, tra quelli determinati con il crivello di
Eratostene, e calcolare ϕ(pq).
4. Calcolare i possibili n che siano prodotti di due primi distinti e per i quali
ϕ(n) = 192.
3
3
Un ulteriore sguardo sull’aritmetica modulare
Fissato un numero naturale n, possiamo sempre associare ad ogni numero naturale
il suo corrispettivo modulo n, cioè il resto della sua divisione per n visto come
elemento di Zn . Ad esempio, 72 è uguale a 2 modulo 14 perché 2 è il resto della
divisione di 72 per 14. In questo caso diremo anche che 72 è congruo a 2 modulo
14. Generalizzando questo concetto diremo che il numero a è congruo al numero
b modulo n se a e b hanno lo stesso resto nella divisione per n. Ad esempio, 72 è
congruo a 16 modulo 14 perché 72 = 5 · 14 + 2 e 16 = 14 · 1 + 2.
Si verifica che se a è congruo a b modulo n e c è congruo a d modulo n allora
anche a + c sarà congruo a b + d modulo n e ac sarà congruo a bd modulo n.
Per verificare la prima affermazione osserviamo che se a = qn + r e b =
0
q n + r e se c = kn + r0 e d = hn + r0 allora a + c = (q + k)n + r + r0 e
b + d = (q 0 + h)n + r + r0 . Il resto della divisione sia di a + c che di b + d per n è
uguale al resto della divisione di r + r0 per n (perché ?), quindi anche a + c e b + d
sono tra loro congrui modulo n. L’altra affermazione si verficia in modo analogo.
L’applicazione ψn che al numero a associa a mod n rispetta sia la somma che
il prodotto, vale a dire che:
ψn (a + b) = ψn (a) + ψn (b) mod n
ψn (ab) = ψn (a)ψn (b) mod n.
Attività
1. Provare a dimostrare le uguaglianze che riguardano ψn .
2. Calcolare 25 mod 13, 51 mod 13, 20 mod 13 e 46 mod 13.
3. Calcolare 25+20 mod 13, 25·20 mod 13, 51+46 mod 13 e 51·46 mod 13.
4. Verificare che ψ13 (51+46) = ψ13 (51)+ψ13 (46) mod 13 e che ψ13 (20·25) =
ψ13 (20) · ψ13 (25) mod 13.
Riferimenti bibliografici
[1] A. Languasco
Crittografia, Progetto nazionale Lauree Scientifiche
2005-2006, Regione Veneto Dispense (2006).
4
Scarica