Oldingi shifrlarda bitta kalit ham shifrlaydi, ham ochadi — uni xavfsiz yetkazish muammo. RSA'da ikki kalit bor: ochiq kalit (hamma biladi, u bilan shifrlanadi) va shaxsiy kalit (faqat egasida, u bilan ochiladi). HTTPS, raqamli imzolar va boshqa ko'plab tizimlar shu g'oyaga tayanadi.
Qanday ishlaydi (soddalashtirilgan)
- Ikki tub son tanlanadi:
pvaq. Ochiq modul:n = p × q. φ(n) = (p − 1)(q − 1)hisoblanadi.- Ochiq daraja
etanlanadi (ko'pincha 65537), shaxsiy darajadesae · d ≡ 1 (mod φ(n))shartidan topiladi. - Shifrlash:
c = mᵉ mod n. Ochish:m = cᵈ mod n.
kichik misol
p = 61, q = 53 → n = 3233, φ(n) = 3120
e = 17 → d = 2753
m = 65 ('A') → c = 65^17 mod 3233 = 2790
c = 2790 → m = 2790^2753 mod 3233 = 65Xavfsizlik bitta faktga tayanadi: n ni bilib p va q ni topish juda qiyin. Haqiqiy RSA'da n 2048 bit (600 dan ortiq raqam) — uni hozirgi kompyuterlar bilan ajratib bo'lmaydi.
Kichik sonlar, takroran ishlatilgan tub sonlar yoki har bir belgini alohida shifrlash — RSA'ni zaif qiladigan klassik xatolar. Shu sababli amalda tayyor, sinovdan o'tgan kutubxonalardan foydalaniladi.

