Alice poate recupera m {\displaystyle m\,}
de la c {\displaystyle c\,}
folosind cheia sa privată d {\displaystyle d\,}
în următoarea procedură:
Dat fiind m {\displaystyle m\,}
, ea poate recupera numerele prime distincte originale, aplicând teorema restului chinezesc la aceste două congruențe rezultă
m e d ≡ m mod p q {\displaystyle m^{ed}\equiv m{\bmod {pq}}}
.
Astfel,
c d ≡ m mod n {\displaystyle c^{d}\equiv m{\bmod {n}}}
.
Prin urmare:
m = c d m o d n {\displaystyle m=c^{d}\ mod\ n} 
Un exemplu de lucru
Iată un exemplu de criptare și decriptare RSA. Numerele prime utilizate aici sunt prea mici pentru a ne permite să criptăm ceva în siguranță. Puteți utiliza OpenSSL pentru a genera și examina o pereche de chei reală.
1. Alegeți două numere prime aleatoare p {\displaystyle p}
și q {\displaystyle q\,}
:
p = 61 {\displaystyle p=61}
și q = 53 {\displaystyle q=53\,}
;
2. Calculați n = p q {\displaystyle n=pq\,}
:
n = 61 × 53 = 3233 {\displaystyle n=61\ ori 53=3233\!}
;
3. Calculați totienul ϕ ( n ) = ( p - 1 ) ( q - 1 ) {\displaystyle \phi (n)=(p-1)(q-1)}
:
ϕ ( n ) = ( 61 - 1 ) ( 53 - 1 ) = 3120 {\displaystyle \phi (n)=(61-1)(53-1)=3120\!}
;
4. Alegeți e > 1 {\displaystyle e>1}
coprimă cu 3120 {\displaystyle 3120\,}
:
e = 17 {\displaystyle e=17\,}
;
5. Alegeți d {\displaystyle d\,}
pentru a satisface e d ≡ 1 mod ϕ ( n ) {\displaystyle ed\equiv 1{\bmod {\phi (n)}}}
:
d = 2753 {\displaystyle d=2753\,}
, cu 17 × 2753 = 46801 = 1 + 15 × 3120 {\displaystyle 17\times 2753=46801=1+15\times 3120}
.
Cheia publică este ( n = 3233 {\displaystyle n=3233}
, e = 17 {\displaystyle e=17}
). Pentru un mesaj umplut m {\displaystyle m\,}
funcția de criptare c = m e mod n {\displaystyle c=m^{e}{\bmod {n}}}}
devine:
c = m 17 mod 3 233 {\displaystyle c=m^{17}{\bmod {3}}}233\,} 
Cheia privată este ( n = 3233 {\displaystyle n=3233}
, d = 2753 {\displaystyle d=2753}
). Funcția de decriptare m = c d mod n {\displaystyle m=c^{d}{\bmod {n}}}
devine:
m = c 2753 mod 3 233 {\displaystyle m=c^{2753}{\bmod {3}}}233\},} 
De exemplu, pentru a cripta m = 123 {\displaystyle m=123}
, se calculează
c = 123 17 mod 3 233 = 855 {\displaystyle c=123^{17}{\bmod {3}}}233=855}} 
Pentru a decripta c = 855 {\displaystyle c=855}
, se calculează
m = 855 2753 mod 3 233 = 123 {\displaystyle m=855^{2753}{\bmod {3}}}233=123} 
Ambele calcule pot fi efectuate rapid și ușor cu ajutorul algoritmului pătrat și înmulțire pentru exponențierea modulară.