Antonino Salibra
Università Ca’Foscari Venezia
31 Ottobre 2017
Nel seguito indicheremo con Z l’insieme dei numeri interi.
Scriveremo talvolta a|b al posto di “a divide b”. Questo significa che esiste c ∈ Z tale
che b = ac. Ricordiamo che ogni numero intero divide 0.
2. a = ±b sse bZ = aZ.
In particolare, abbiamo:
b è un multiplo di a sse bZ ⊆ aZ
e
a divide b sse aZ ⊇ bZ
Lemma 1.3. Siano a e b numeri interi non entrambi nulli. Allora aZ + bZ = dZ, dove
d è il minimo intero positivo che appartiene all’ideale aZ + bZ.
1
Lezioni di Aritmetica Modulare 2
Lemma 1.4. Siano a e b numeri interi. Allora esiste un unico numero d ≥ 0 che verifica
le seguenti proprietà:
Il massimo comun divisore di a e b coincide con l’unico numero determinato dal Lemma
1.4. Verrà indicato con MCD(a, b) oppure con (a, b).
Abbiamo (a, b) = (|a|, |b|), dove |a| e |b| sono il valore assoluto di a e b rispettivamente.
Dal Lemma 1.4 segue che (0, 0) = 0.
Due numeri interi a, b si dicono relativamente primi se (a, b) = 1.
Lemma 1.5. Siano a e b interi con b 6= 0 e sia a = bq + r con 0 ≤ r < |b|. Allora
(a, b) = (b, r).
a := b;
b := r;
end;
return a; //quando b diventa 0, il risultato è a
a = b · q1 + r2 0 ≤ r2 < |b|
b = r2 · q2 + r3 0 ≤ r3 < r2
r2 = r3 · q3 + r4 0 ≤ r4 < r3
r3 = r4 · q4 + r5 0 ≤ r5 < r4 (1)
.. .. ..
. . .
rt−2 = rt−1 · qt−1 + rt 0 ≤ rt < rt−1
rt−1 = rt · qt Allora rt = (a, b)
Dati due naturali a, b con a > b, allora c(a, b) è il numero di volte che calcoliamo la
divisione con resto nell’algoritmo di Euclide per ottenere (a, b). Per esempio, c(a, 1) = 1
per ogni a > 1.
Example 1.2. (134, 36) = (36, 26) = (26, 10) = (10, 6) = (6, 4) = (4, 2) = (2, 0). In tal
caso, c(134, 36) = 6.
Example 1.3. La successione di Fibonacci è definita ricorsivamente come segue:
F0 = 1; F1 = 1; Fn = Fn−1 + Fn−2 .
I primi elementi della successione sono: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, . . . . Il
centesimo numero di Fibonacci è F100 = 354224848179261915075. Se dividiamo Fn+1
per Fn otteniamo proprio la relazione Fn+1 = Fn + Fn−1 , cioé il quoto è 1 ed il resto è
Fn−1 < Fn . Fn+1 e Fn sono relativamente primi:
(Fn+1 , Fn ) = (Fn , Fn−1 ) = (Fn−1 , Fn−2 ) = · · · = (F2 , F1 ) = 1.
n = c(Fn+1 , Fn ) è il numero di volte che calcoliamo la divisione con resto.
Per definizione log2 (b) è uguale al numero reale x tale che 2x = b.
Lemma 1.6. Siano a > b interi positivi. Il numero di volte che iteriamo la divisione con
resto nell’algoritmo di Euclide è al più 2log2 (b) + 1.
Proof. Siano r0 = a e r1 = b e
r0 = r1 q1 + r2 0 ≤ r2 < r1
r1 = r2 q2 + r3 0 ≤ r3 < r2
r2 = r3 q3 + r4 0 ≤ r4 < r3
r3 = r4 q4 + r5 0 ≤ r5 < r4 (2)
.. .. ..
. . .
rt−2 = rt−1 qt−1 + rt 0 ≤ rt < rt−1
rt−1 = rt qt
Lezioni di Aritmetica Modulare 4
Lemma 1.7. Siano a, b numeri interi non entrambi nulli. Allora esistono interi x e y
tali che ax + by = (a, b).
Proof. Dal Lemma 1.3 segue aZ + bZ = (a, b)Z, dove (a, b) è il massimo comun divisore
di a, b.
Osservazione: Siano a, b interi non entrambi nulli. Allora l’equazione lineare ax + by = 0
rappresenta la retta dei vettori (x, y) che sono ortogonali al vettore (a, b). Il Lemma 1.3
afferma che la retta ax + by = c parallela alla retta ax + by = 0 passa attraverso dei punti
che hanno coordinate intere sse c è un multiplo di (a, b).
Theorem 1.1. (Proprietà di Bézout) Siano a, b, c numeri interi e sia d = (a, b) il massimo
comun divisore di a, b. Allora l’equazione lineare ax + by = c ha soluzioni intere sse d|c.
Proof. Dal Lemma 1.3 si ha aZ + bZ = dZ. Quindi c ∈ aZ + bZ sse c ∈ dZ.
Example 1.4. Trovare una soluzione intera dell’equazione 240x + 36y = 12. Possiamo
dividere tutti i coefficienti per 12 ed ottenere 20x + 3y = 1. Siccome 20 e 3 sono relati-
vamente primi (cioé (20, 3) = 1) allora le soluzioni intere di 20x + 3y = 1 esistono. Si
vede facilmente che x = −1 e y = 7 è una soluzione di 20x + 3y = 1. La stessa soluzione
risolve 240x + 36y = 12.
Example 1.5. Trovare una soluzione intera dell’equazione 120x + 81y = 12. Dividendo
per 3 si ottiene 40x + 27y = 4. Siccome 40 e 27 sono relativamente primi (cioé (40, 27) =
1) allora le soluzioni intere di 40x + 27y = 1 esistono. Applichiamo l’algoritmo di Euclide
per il calcolo del massimo comun divisore: 40 = 27 + 13 e 27 = 13 ∗ 2 + 1. Quindi
1 = 27 − 13 ∗ 2 = 27 − (40 − 27) ∗ 2 = 27 − 40 ∗ 2 + 27 ∗ 2 = (−2)40 + 27 ∗ 3. Quindi
una soluzione intera dell’equazione 40x + 27y = 4 è: x = −8, y = 12. Le stesse soluzioni
funzionano per l’equazione lineare 120x + 81y = 12.
Example 1.6. Non esistono soluzioni intere dell’equazione 6x + 2y = 5, perché 2 = (6, 2)
non divide 5.
Lezioni di Aritmetica Modulare 5
le regole del metodo di eliminazione di Gauss (scambio di due righe; sostituzione di una
riga con la somma della riga stessa
con un’altra moltiplicata per uno scalare r) ammette
a
come unica soluzione il vettore .
b
Se a = bq + r con 0 ≤ r < b, si sottrae alla prima riga q volte la seconda riga e poi si
scambiano la prima e la seconda riga:
1 0 a 1 −q a − bq 1 −q r 0 1 b
⇒ = ⇒
0 1 b 0 1 b 0 1 b 1 −q r
Siccome b > r, si procede in maniera simile fino a quando nella terza colonna della matrice
non appare uno 0 in posizione A23 . Alla fine otterremo una matrice
c d n
e f 0
L’algoritmo è il seguente.
Matrice(nat a, nat b)
{matrix
A; nat q, z}
1 0 a
A := ;
0 1 b
while (A23 6= 0) do //ripetere finché non riduciamo A23 a zero
begin
A13
q := A 23
//quoto della divisione A13 = A23 q + r con resto 0 ≤ r < A23 ;
for i := 1 to 3 do A1i := A1i − qA2i ; //Sottrai q volte la riga 2 dalla riga 1 di A ;
for i := 1 to 3 do z := A1i ; A1i := A2i ; A2i := z; Scambia le righe 1 e 2 della matrice A;
end;
return A13 = A11 a + A2 b; // A23 = 0 implica (a, b) = A13 = A11 a + A12 b
return A21 a = −A22 b; // A23 = 0 implica mcm(a, b) = |A21 a| = | − A22 b|
Example 1.7. Calcoliamo il massimo comun divisore e il minimo comune multiplo di 53
e 71 con il metodo matriciale:
1 0 71 0 1 53 1 −1 18
⇒ ⇒
0 1 53 1 −1 18 −2 3 17
−2 3 17 3 −4 1
⇒ ⇒
3 −4 1 −53 71 0
Quindi,
3 −4 71 3 × 71 − 4 × 53 1
= =
−53 71 53 −53 × 71 + 71 × 53 0
da cui
(71, 53) = 1 = 3 × 71 − 4 × 53; mcm(71, 53) = 71 × 53.
Example 1.8. (134, 36) = (26, 36) = (26, 10) = (6, 10) = (6, 4) = (2, 4) = (2, 0) perché
1 0 134 0 1 36 1 −3 26 −1 4 10
⇒ ⇒ ⇒
0 1 36 1 −3 26 −1 4 10 3 −11 6
3 −11 6 −4 15 4 7 −26 2
⇒ ⇒ ⇒
−4 15 4 7 −26 2 −18 67 0
Quindi,
7 −26 134 7 × 134 − 26 × 36 2
= =
−18 67 36 −18 × 134 + 67 × 36 0
da cui
2 −3 Fn−4 −3 5 Fn−5 5 −8 Fn−6
⇒ ⇒ ⇒ ⇒ ...
−3 5 Fn−5 5 −8 Fn−6 −8 13 Fn−7
Si noti che i numeri 2, 3, 5, 8, 13, . . . che compaiono nella matrice sono numeri di Fi-
bonacci. In altri termini,
F−2 −F−1 Fn −F−1 F0 Fn−1 F0 −F1 Fn−2 −F1 F2 Fn−3
⇒ ⇒ ⇒
−F−1 F0 Fn−1 F0 −F1 Fn−2 −F1 F2 Fn−3 F2 −F3 Fn−4
F2 −F3 Fn−4 −F3 F4 Fn−5 F4 −F5 Fn−6
⇒ ⇒ ⇒ ⇒ ...
−F3 F4 Fn−5 F4 −F5 Fn−6 −F5 F6 Fn−7
Si noti che ad ogni passo abbiamo
Se n è pari e 2i + 2 = n si ha
2
1 = F0 = Fn−2 Fn − Fn−1 .
Se n è dispari e 2i + 1 = n si ha
2
Fn−1 −Fn−2 Fn = 1 = (Fn , Fn−1 ); Fn−1 Fn −Fn Fn−1 = F−1 = 0; mcm(Fn , Fn−1 ) = Fn−1 Fn
2. L’aritmetica dell’orologio
L’aritmetica modulare (o aritmetica dell’orologio) è stata introdotta da Gauss ad inizio
ottocento. Consideriamo un orologio con n > 0 tacche che corrispondono ad i numeri
da 0 a n − 1 (Si veda la figura per il caso n = 9). Indichiamo con Zn = {0, 1, . . . , n −
1}. Scorriamo l’orologio in senso orario partendo da 0. Una mossa +1 consiste nello
spostarsi in senso orario dalla tacca in cui ci troviamo alla tacca successiva. La mossa
+1 corrisponde all’operazione di aggiungere 1. Quando arriviamo al numero n − 1 ed
eseguiamo una ulteriore mossa +1, scopriamo che (n − 1) + 1 = 0 anziché (n − 1) + 1 = n.
Quindi, contrariamente ai numeri naturali, il numero 0 è il successore del numero n − 1
e la funzione determinata dalle mosse +1 definisce una funzione bigettiva dall’insieme
Zn nell’insieme Zn . Viceversa, scorriamo l’orologio in senso antiorario partendo da 0.
Una mossa −1 consiste nello spostarsi in senso antiorario dalla tacca in cui ci troviamo
alla tacca precedente. La mossa −1 corrisponde a sottrarre 1. Quindi 0 − 1 = n − 1
anziché essere indefinito come avviene nell’aritmetica dei numeri naturali. La funzione
determinata dalle mosse −1 definisce una funzione bigettiva dall’insieme Zn nell’insieme
Zn . Essa è la funzione inversa della funzione determinata dalle mosse +1.
Come possiamo “rappresentare” un intero a nell’orologio? Adottiamo due strategie
diverse se a è positivo oppure negativo. Se a è positivo, eseguiamo esattamente un numero
di mosse +1 pari ad a volte partendo da 0. La tacca in cui ci troviamo rappresenta il
numero intero positivo a nell’orologio. Se a è negativo, eseguiamo esattamente un numero
di mosse −1 pari a |a| volte partendo da 0. La tacca in cui ci troviamo rappresenta il
Lezioni di Aritmetica Modulare 9
numero intero negativo a nell’orologio. In entrambi i casi la tacca del numero a rappresenta
il numero
modn (a)
che è il resto della divisione di a per n. Esso è un numero naturale compreso tra 0 e n − 1.
3. Congruenze
Le tacche numerate dell’orologio della sezione precedente sono i rappresentanti delle n
classi di equivalenza di una relazione di equivalenza ≡n definita sugli interi. Nella prossima
definizione definiamo la relazione ≡n .
Definition 3.1. Sia n > 0. Diciamo che a, b ∈ Z sono congruenti modulo n, e scriviamo
a ≡ b (mod n) oppure a ≡n b,
(ii) a ≡n b ∧ c ≡n d ⇒ ac ≡n bd.
(iii) a ≡n b ⇒ ak ≡n bk .
Proof. Sia modn (a) = modn (b) e modn (c) = modn (d).
(i) Sia Dalla Proposizione 2.1(1) e dall’ipotesi si ha: modn (a + c) = modn (modn (a) +
modn (c)) = modn (modn (b) + modn (d)) = modn (b + d).
(ii) La prova è simile a quella del punto (i).
(iii) La prova è per induzione su k utilizzando (ii).
La relazione ≡n partiziona Z in n classi di equivalenza. Se a è un intero scriveremo [a]n
per la classe di equivalenza di a modulo l’equivalenza ≡n . Ecco la partizione determinata
da ≡n :
• Proprietà commutativa: x +n y = y +n x;
• Elemento neutro: x +n 0 = x = 0 +n x;
• Proprietà commutativa: x ∗n y = y ∗n x;
• Elemento neutro: x ∗n 1 = x = 1 ∗n x;
• x ∗n (y +n z) = (x ∗n y) +n (x ∗n z).
Nei prossimi due lemmi studiamo proprietà di cancellazione e periodicità delle potenze.
Proof. Dal Lemma 1.7 e dall’ipotesi (c, n) = 1 esistono interi x e y tali che cx + ny = 1.
Siccome cx = n(−y) + 1, allora cx ≡n 1. Dal Lemma 3.2(ii) si ricava acx ≡n a e bcx ≡n b.
Dall’ipotesi ac ≡n bc segue che acx ≡n bcx. Quindi a ≡n b.
a0 a1 a2 a3 a4 a5 a6 ...
1 modn (a1 ) modn (a2 ) modn (a3 ) modn (a4 ) modn (a5 ) modn (a6 ) . . .
è periodica a partire da un certo punto in poi: esistono k e p ≤ n tali che ak ≡n ak+rp per
ogni r ≥ 0.
30 31 32 33 34 35 36
1 3 2 6 4 5 1
20 21 22 23 24
1 2 4 0 0
Il periodo è 1 a partire da 23 .
Concludiamo la sezione con una serie di esempi che provano l’utilità della Proposizione
2.1 e dell’aritmetica modulare.
Example 3.3. Vogliamo calcolare qual’è il resto della divisione di 95758 per 5. Siccome
10 è divisibile per 5, si ha che 95758 = 8 + 5 · 10 + 7 · 102 + 5 · 103 + 9 · 104 ≡5 8 ≡5 3.
Example 3.4. Vogliamo calcolare qual’è il resto della divisione di 95758 per 7. Siccome
10 è 3 modulo 7, si ha che
Example 3.5. Vogliamo determinare mod5 (95758 · 37988). Piuttosto che eseguire prima
la moltiplicazione e poi il calcolo del resto della divisione per 5, calcoliamo direttamente
il resto della divisione di 95758 per 5 ed il resto della divisione di 37988 per 5. Si ha:
mod5 (95758) = 3 e mod5 (37988) = 3. Quindi mod5 (95758 · 37988) = 4.
Example 3.6. Calcoliamo 3128 modulo 7. Siccome 33 = 27 ≡7 −1, allora 3128 = 33·42+2 =
(33 )42 · 32 ≡7 (−1)42 · 2 = 2.
Lezioni di Aritmetica Modulare 13
a · 2a · 3a · · · · · (p − 1)a ≡p 1 · 2 · 3 · · · · · (p − 1)
da cui
ap−1 (p − 1)! ≡p (p − 1)!
Cancellando (p − 1)!, che non è divisibile per p, da entrambi i membri otteniamo la
conclusione1 .
Example 4.1. Vogliamo calcolare 5236 modulo 13. Applicando il Piccolo Teorema di
Fermat sappiamo che 512 ≡13 1. Quindi
Theorem 4.2. Se p e q sono primi distinti tali che ap ≡q a e aq ≡p a, allora apq ≡pq a.
p!
Siccome i!(p−i)! ≡p 0 per ogni 1 ≤ i ≤ p − 1 si ha:
(a + 1)p ≡p ap + 1 ≡p a + 1.
211·31 ≡11·31 2
Proof. Dalla Proposizione 3.1 dobbiamo soltanto provare che ogni elemento a ∈ Zp ha un
inverso. La conclusione segue dal Piccolo Teorema di Fermat perché
aap−2 ≡p 1.
Chiudiamo questa sezione con una applicazione del Teorema di Wilson allo studio delle
congruenze quadratiche.
Proof. (⇒) Supponiamo che esista a tale che a2 ≡p −1. Ricordiamo che p−1 è un numero
pari. Dal Piccolo Teorema di Fermat abbiamo:
p−1 p−1
1 ≡p ap−1 = (a2 ) 2 ≡p (−1) 2 .
5. Teorema di Eulero
Leonhard Euler, noto in Italia come Eulero, è stato il più importante matematico del
diciottesimo secolo. Eulero è nato il 15 aprile 1707 a Basilea in Svizzera ed è morto il 18
settembre 1783 a San Pietroburgo in Russia.
Si definisca la seguente funzione di Eulero:
Proof. Si ha: (a, pk ) = 1 sse p 6 | a. Vi sono pk−1 interi tra 1 e pk che sono divisibili per p:
Proposition 5.1. Sia n > 0. L’insieme degli interi relativamente primi con n è chiuso
rispetto all’operazione di moltiplicazione (modulo n) e costituisce un gruppo moltiplicativo.
Proof. Sia (a, n) = 1 e (b, n) = 1. Allora si vede facilmente che (ab, n) = 1. Dal Lemma
1.7 esistono interi x, y tali che ax + ny = 1. Ne segue che ax ≡n 1 ed x è l’inverso di
a.
Lezioni di Aritmetica Modulare 16
Proof. Siano b1 , b2 , . . . , bφ(n) i numeri minori di n che sono relativamente primi con n.
Allora ab1 , ab2 , . . . , abφ(n) sono congruenti a b1 , b2 , . . . , bφ(n) in qualche ordine. Ne segue
che
(ab1 ) · (ab2 ) · · · · · (abφ(n) ) = aφ(n) (b1 · b2 · · · · · bφ(n) ) ≡n b1 · b2 · · · · · bφ(n)
Siccome ogni bi è primo con n possiamo dividere per b1 · b2 · · · · · bφ(n) ed ottenere la
conclusione.
Example 5.2. φ(100) = φ(22 · 52 ) = φ(22 )φ(52 ) = 100(1 − 21 )(1 − 15 ) = 40. Dal teorema
di Eulero si ricava
340 ≡100 1.
Quindi, per esempio, 3256 = 36·40+16 = (340 )6 316 ≡100 316 . Infine, 316 = (81)4 ≡100
(−19)4 = (361)2 ≡100 612 ≡100 21.
6. Equazioni modulari
Theorem 6.1. La congruenza lineare ax ≡n b ha una soluzione sse (a, n)|b.
Proof. ax ≡n b sse n|(ax − b) sse ∃q(ax − b = nq) sse ∃q(ax − nq = b). Dal Teorema 1.1
di Bézout otteniamo che ax ≡n b sse (a, n)|b.
Example 6.1. Vogliamo trovare, se esiste, una soluzione all’equazione modulare 124x ≡71
17. Siccome 124 ≡71 53, l’equazione si riduce a 53x ≡71 17. Calcoliamo il massimo comun
divisore di 53 e 71 con il metodo matriciale:
1 0 71 1 −53 18 1 −53 18
⇒ ⇒
0 1 53 0 1 53 −36 107 17
4 −160 1 4 −160 1
⇒ ⇒
−36 107 17 −104 107 + 160 × 17 0
Theorem 6.2. (Teorema cinese del resto) Siano n1 , . . . , nk interi positivi a due a due
relativamente primi (i.e., (ni , nj ) = 1 per i 6= j). Allora il sistema di congruenze lineari
x ≡ a1 (mod n1 )
x ≡ a2 (mod n2 )
... ... ... ...
x ≡ ak (mod nk )
bi = n1 . . . ni−1 ni+1 . . . nk .
Lezioni di Aritmetica Modulare 17
x = a1 b 1 x 1 + a2 b 2 x 2 + · · · + ak b k x k
risolve il problema.
7. Congruenze quadratiche
8. Applicazione alla Crittografia
Questa sezione è essenzialmente la Sezione 4.6 del libro Bellissima-Montagna, Matem-
atica per l’Informatica, Carrocci Editore, 2008.
Vogliamo inviare un messaggio privato ad un nostro interlocutore. Come prima cosa
codifichiamo il messaggio con un numero M tramite una codifica elementare. Supponiamo
di avere un alfabeto di n caratteri α1 , α2 , . . . , αn . Associamo a ciascun carattere un
numero in progressione evitando i numeri che nella rappresentazione in base 10 contengono
degli zeri. Per ogni i, sia ci il numero che codifica il carattere αi . Allora una stringa
αi1 . . . αik si codifica con il numero (in base 10) ci1 0 . . . 0cik . La cifra 0 è un separatore.
Un messaggio scritto con la codifica elementare può essere facilmente decodificato purché
il nostro interlocutore conosca l’associazione carattere-numero. Questa associazione deve
essere inviata al nostro interlocutore per mail e può quindi finire nelle mani di un intruso.
Per evitare il problema, criptiamo il messaggio. Concordiamo con ciascuno dei nostri
interlocutori una n-upla di numeri a1 , . . . , an a due a due relativamente primi. Tali numeri
sono conosciuti soltanto allo scrivente ed agli interlocutori.
Metodo 1 basa to sul Teorema Cinese del Resto: Sia A = a1 · . . . · an . Possiamo
supporre che la codifica elementare M del nostro messaggio sia < A, altrimenti spezziamo
il messaggio in più parti. Inviamo al nostro interlocutore non il numero M , ma i numeri
b1 ≡a1 M , b2 ≡a2 M ,. . . , bn ≡an M . Chi riceve i numeri b1 , . . . , bn può ricostruire M
dal teorema Cinese del resto perché conosce a1 , . . . , an . Un eventuale intruso (che non
conosce a1 , . . . , an ) non potrebbe. Il metodo ha il problema di comunicare i numeri segreti
a1 , . . . , an ai nostri interlocutori.
Metodo 2 : Questo metodo è stato inventato nel 1977 da Ron Rivest, Adi Shamir e Leon
Adleman ed è indicato con la sigla RSA.
Lezioni di Aritmetica Modulare 18
Ogni utente dispone di una chiave pubblica nota a tutti e una chiave privata. L’utente
U si procura quattro numeri distinti p, q, n, e molto grandi tali che p, q, e sono numeri
primi, n = p · q ed inoltre e è relativamente primo con p − 1 e q − 1 (per esempio, e
potrebbe essere un altro numero primo molto grande).
I numeri p e q costituiscono la chiave privata nota solo all’utente U , mentre i numeri n
ed e costituiscono la chiave pubblica, utilizzata per inviare messaggi ad U .
In linea di principio, chi riuscisse a scomporre in fattori primi n potrebbe decodificare
il messaggio, ma non esistono algoritmi efficienti per la scomposizione in fattori primi.
Il signor X vuole inviare un messaggio in codice ad U senza che nessuno lo possa de-
codificare. Il signor X considera la codifica elementare M del messaggio. Si può supporre
che M < n, altrimenti si spezza il messaggio in tante parti e si spediscono separatamente.
Possiamo supporre che M sia primo con n. Se no, si può renderlo primo con n aggiungendo
un simbolo speciale in fondo.
Il signor X cerca nella pagina web di U la chiave pubblica di U , ossia n ed e. Il signor
X calcola
modn (M e ).
Per calcolare questo numero si applicano le tecniche che abbiamo imparato nelle sezioni
precedenti.
Il numero N < n tale che
N ≡n M e
costituisce il messaggio criptato che il signor X invia per email al signor U . SOLO U può
decodificare N per ottenere M , quindi non è importante se qualcuno intercetta N .
Come U decodifica N : U calcola la funzione di Eulero φ(n) = φ(pq) = (p − 1)(q − 1).
Poi l’utente U risolve la congruenza modulare ex ≡φ(n) 1. Tale congruenza modulare
ammette soluzione perché e è relativamente primo con φ(n) = (p − 1)(q − 1). Indichiamo
con x0 una soluzione di tale equazione modulare. Dopo U calcola
modn (N x0 ).
N x0 ≡n (M e )x0 ≡n M ex0 .
Ora essendo ex0 ≡φ(n) 1, esiste un numero k tale che ex0 = 1 + kφ(n). Allora