65
qanoatlantiruvchi
𝑒 va 𝑑 sonlari mavjud. Shundan so‘ng, 𝑝 𝑣𝑎 𝑞 lar
esdan chiqariladi (o‘chirib tashlanadi).
Bu yerda,
𝑁 modul hisoblanib, (𝑁, 𝑒) ochiq kalit juftini va 𝑑
maxfiy kalitni tashkil etadi. RSA algoritmida
shifrlash va
rasshifrovkalash modul bo‘yicha darajaga oshirish asosida bajariladi.
RSA
algoritmida shifrlash uchun
𝑀 xabarni son ko‘rinishida ifodalash
talab etiladi va
𝑁 modul bo‘yicha 𝑒 darajaga ko‘tariladi, ya’ni
𝐶 = 𝑀
𝑒
𝑚𝑜𝑑 𝑁
.
𝐶 ni rasshifrovkalash uchun uni 𝑁 modul bo‘yicha shaxsiy kalit 𝑑
darajaga ko‘tarish talab etiladi:
𝑀 = 𝐶
𝑑
𝑚𝑜𝑑 𝑁.
Boshqacha aytganda, RSA algoritmida xabar ochiq kalit bilan
shifrlansa va shaxsiy kalit bilan rasshifrovkalansa,
𝑀 = 𝐶
𝑑
𝑚𝑜𝑑 𝑁 =
𝑀
𝑒𝑑
𝑚𝑜𝑑 𝑁 tenglikning to‘g‘riligini isbotlash zarur.
Aytaylik, RSA algoritmida ma’lumotni shifrlash va
rasshifrovkalash amallari tanlab olingan (
𝑝 = 11 𝑣𝑎 𝑞 = 3) “katta”
sonlar ustida amalga oshirish talab qilinsin. Mazkur holda modul
𝑁 = 𝑝 ∗ 𝑞 = 33 ga teng bo‘ladi va 𝜑(𝑁) = (𝑝 − 1)(𝑞 − 1) = 20 ga
teng bo‘ladi. U holda shifrlash uchun zarur bo‘lgan daraja
e ni (
3) ga
teng deb olish mumkin. Sababi, 3 soni
𝜑(𝑁) = 20 bilan o‘zaro tubdir.
Shundan so‘ng, Evklidning kengaytirilgan algoritmi asosida
rasshifrovkalash kaliti
𝑑 = 7 aniqlanadi. Ya’ni, 𝑒𝑑 = 3 ∗ 7 =
1 𝑚𝑜𝑑 20. U holda A tomonning ochiq kalit jufti 𝑁, 𝑒 = 33, 3 va
shaxsiy kaliti
𝑑 esa 7 ga teng bo‘ladi.
Shundan so‘ng, A tomon o‘zining ochiq kalitini barchaga uzatadi.
Biroq, shaxsiy kalitini maxfiy saqlaydi.
Faraz qilaylik, B tomon A tomonga
𝑀 = 15 ma’lumotni shifrlab
yubormoqchi. Buning uchun B tomon A tomonning
ochiq kaliti juftini
𝑁, 𝑒 = 33,3 oladi va shifrmatnni quyidagicha hisoblaydi:
𝐶 = 𝑀
𝑒
𝑚𝑜𝑑 𝑁 = 15
3
= 3375 = 9 𝑚𝑜𝑑 33
va uni A tomonga yuboradi.
66
A tomon
𝐶 = 9 shifrmatnni rasshifrovkalash uchun shaxsiy kalit
𝑑 = 7 dan foydalanadi:
𝑀 = 𝐶
𝑑
𝑚𝑜𝑑 𝑁 = 9
7
= 4782969 = 144938 ∗ 33 + 15 = 15 𝑚𝑜𝑑 33
Agar RSA algoritmida kichik tub sonlardan (
𝑝 𝑣𝑎 𝑞 𝑢𝑐ℎ𝑢𝑛)
foydalanilgan taqdirda, hujumchi ochiq bo‘lgan
𝑁 ni
osonlik bilan ikkita
tub sonning ko‘paytmasi ko‘rinishida yozishi mumkin. Shundan so‘ng,
ochiq kalitning ikkinchi qism
𝑒 dan foydalangan holda, shaxsiy kalit 𝑑
ni hisoblay oladi. Shuning uchun RSA algoritmidan amalda foydalanish
uchun tanlanuvchi tub sonlar uzunligi kamida 2048 bit bo‘lishi talab
etiladi. Bundan tashqari, RSA algoritmini
buzish faqat faktorlash
muammosiga bog‘liqligi isbotlanmagan.