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.