O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR
VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI
“Kriptografiya 2”
Fanidan
Mavzu : OpenSSL kutubxonasidan foydalangan holda ma’lumotlarni RSA
algoritmi yordamida shifrlash.
2-Amaliy ish.
Tayyorladi:Zaxriddinov S’
Toshkent 2024
Mavzu: OpenSSL kutubxonasidan foydalangan holda maʼlumotlarni RSA
algoritmi yordamida shifrlash.
Ishdan maqsad: RSA shifrlash algoritmi va uning matematik asosi, tub sonlar va ularni generatsiyalash
usullari haqida nazariy va amaliy ko’nikmalarga ega bo’lish.
Nazariy qism
Diffi va Xelman kriptografiya sohasida yangicha yondashishni targʼib qilib, ochiq kalitli
kriptotizimlarning barcha talablariga javob beradigan kriptografik algoritm yaratish taklifi bilan chiqdi.
Birinchilardan boʼlib bunga javoban 1997 yil Ron Rayvets (Ron Rivest), Аdi Shamir (Adi Shamir) va Len
Аdlmen (Len Adlmen)lar shu vaqtgacha tan olingan va amaliy keng qoʼllanib kelingan ochiq kalitli shifrlash
algoritm sxemasini taklif qildi va bu algoritm ularning nomi sharafiga RSA algoritmi deb ataldi. RSA
algoritmi faktorlash murakkabligiga asoslangan shifrlash algoritmi hisoblanadi.
Rayvest, Shamir va Аdlmen tomonidan yaratilgan sxema daraja koʼrsatkichiga asoslangan. Ochiq
matn bloklarga ajratilib shifrlanadi, har bir blok baʼzi berilgan 𝑛 sonidan kichik boʼlgan ikkilik qiymatga ega
boʼladi. Bundan kelib chiqadiki blok uzunligi 𝑙𝑜𝑔2 (𝑛) dan kichik yoki teng boʼlishi kerak. Umuman olganda
amaliyotda blok uzunligi 2𝑘 ga teng deb olinadi, bu yerda 2𝑘 < 𝑛 ≤ 2𝑘+1 . Ochiq matn M bloki va shifrlangan
matn C bloki uchun shifrlash va deshifrlash quyidagi formula bilan hisoblash mumkin.
𝑀 = 𝑀𝑒 𝑚𝑜𝑑𝑛,
𝑀 = 𝐶 𝑑 𝑚𝑜𝑑𝑛 = (𝑀𝑒 )𝑑 𝑚𝑜𝑑𝑛 = 𝑀𝑒𝑑 𝑚𝑜𝑑𝑛.
Joʼnatuvchi ham, qabul qiluvchi ham 𝑛 ni qiymatini bilishi kerak. Joʼnatuvchi e ni qiymatini, qabul
qiluvchi esa faqat d ni qiymatini bilishadi. Ushbu sxema ochiq kalitli shifrlash algoritmi hisoblanadi,
KU={e,n}- ochiq kalit va KR={d,n}- maxfiy kalit hisoblanadi. Bu algoritm ochiq kalit yordamida shifrlanishi
uchun, quyidagi talablar bajarilishi kerak.
1. Shunday e, d va n qiymatlar mavjud boʼlish kerakki, barcha 𝑀 < 𝑛 учун 𝑀𝑒𝑑 = 𝑀𝑚𝑜𝑑𝑛 tenglik
oʼrinli boʼlishi kerak.
2. Barchak. 𝑀 < 𝑛 uchun 𝑀𝑒 va 𝐶 𝑑 ni hisoblash oson boʼlishi kerak.
3. Аmaliy jihatdan e va n ni bilmasdan turib d ni qiymatini bilish mumkin bo’lmasligi kerak.
Birinchi shartga binoan quyidagi munosabatni toppish kerak
𝑀𝑒𝑑 = 𝑀𝑚𝑜𝑑𝑛.
Eyler funksiyasiga asosan: har qanday ikkita p va q tub son va har qanday n va m butun sonlar uchun,
n=pq va 0 < 𝑚 < 𝑛, va ixtiyoriy k butun son uchun quyidagi munosabat bajariladi.
𝑚𝑘𝜑(𝑛)+1 = 𝑚𝑘(𝑝−1)(𝑞−1)+1 ≡ 𝑚𝑚𝑜𝑑𝑛,
Bu yerda 𝜑(𝑛) Eyler funksiyasi bo’lib, n dan kichik va n bilan o’zaro tub bo’lgan munosabat butun
son. Eyler funksiyasi 𝜑(𝑛) bilan o’zaro tub bo’lgan e son tanlab olinadi va talab qilinayotgan munosabat
quyidagi shart asosida bajariladi.
𝑒𝑑 = 𝑘𝜑(𝑛) + 1.
Bu quydagi munosabat bilan ekvivalent:
𝑒𝑑 ≡ 1 𝑚𝑜𝑑𝜑(𝑛),
𝑑 ≡ 𝑒 −1 𝑚𝑜𝑑𝜑(𝑛),
e va d, 𝜑(𝑛) modul bo’yicha o’zaro teskari son, ya’ni
gcd(𝜑(𝑛), 𝑒) = 1.
Yuqorida keltirilgan parametrlar asosida RSA sxemasini quyidagicha tasniflash mumkin:
p va q – tub sonlar (maxfiy, tanlab olinadi),
n=pq (ochiq, hisoblanadi),
shunday e, gcd(𝜑(𝑛), 𝑒) = 1, 1 < 𝑒, 𝜑(𝑛) (ochiq, tanlab olinadi),
𝑑 ≡ 𝑒 −1 𝑚𝑜𝑑𝜑(𝑛) (maxfiy, hisoblanadi).
Maxfiy kalit {d,n} dan, ochiq kalit esa {e,n} dan iborat boʼladi. Faraz qilaylik A foydalanuvchi ochiq
kalitini elon qildi va B foydalanuvchi unga M xabarni joʼnatmoqchi. B foydalanuvchi 𝐶 = 𝑀𝑒 (𝑚𝑜𝑑𝑛)
hisoblab C ni joʼnatadi. Shifrlangan matnni qabul qilgan A foydalanuvchi 𝑀 = 𝐶 𝑑 (𝑚𝑜𝑑𝑛) yordamida
deshifrlab dastlabki ochiq matnga ega boʼladi.Misol.
1. Ikkita tub son tanlab olinadi, p=7 va q=17.
2. n=p*q=7*17 hisoblanadi.
3. Eyler funksiyasi hisoblanadi 𝜑(𝑛) = (𝑝 − 1)(𝑞 − 1) = 96.
4. Eyler funksiyasi𝜑(𝑛) = 96 bilan oʼzaro tub boʼlgan va undan kichkina boʼlgan e tanlab olinadi;
bizni, misolimizda e=5.
5. de=1mod 96 va d<96 shartni qanoatlantiruvchi d soni topiladi. d=77, 77*5=385=4*96+1.
Natijada ochiq kalit KU={5,119} va yopiq kalit KR={77,119}= hosil bo’ladi. Yuqoridagi misolda ochiq matn
qiymati M=19 olingan. Shifrlash formulasiga ko’ra ochiq matn qiymati ochiq kalit qiymati yordamida
darajaga ko’tarilib, n modul bo’yicha qiymati olinadi, ya’ni 19 soni 5 darajaga ko’tariladi, natijada 2476099
hosil bo’ladi. Natijani 119 ga bo’linsa, qoldiq 66 ga teng bo’ladi. 195 = 66 𝑚𝑜𝑑 119 va shuning uchun ham
shifrlangan matn 66 ga teng bo’ladi. Deshifrlash uchun esa shifrlangan matn qiymati maxfiy kalit qiymati
yordamida darajaga ko’tarilib, n modul bo’yicha qiymati olinadi, ya’ni 6677 = 19 𝑚𝑜𝑑 119 amali
hisoblanadi va dastlabki ochiq matn qiymatiga ega bo’linadi, ya’ni 19 ga.
1.1-rasm. Cmd buyrug’i
1.2-rasm. C diskdagi Bomba papkasiga kirish
1.4-rasm. Ochiq matn fayli
1.5-rasm. OpenSSLni ishga tushirish
1.6-rasm. Yopiq kalit hosil qilish
1.7-rasm. Hosil qilingan yopiq kalit
1.8-rasm. Maxfiy kalitdan foydalanib ochiq kalit hosil qilish.
1.9-rasm. Ochiq kalit
1.10-rasm. Ma’lumotni shifrlash
1.11-rasm. Shifrlangan matnli fayl.
1.12-rasm. Shifrlangan matn.
1.13-rasm. Ma’lumotni deshifrlash.
1.14-rasm. Shifrmatnning dastlabki holatga qaytarilgan ko‘rinishi
DSA algoritmi asosida ERI hosil qilinib haqiqiylikka tekshirilsin.
1-rasm. OpenSSL dasturini ishga tushirish.
2-rasm. Yopiq kalit hosil qilish jarayoni
3-rasm. Yopiq kalit yordamida ochiq kalit generatsiya qilish.
4-rasm. Yopiq kalit asosida sertifikat
5-rasm. DSA algoritmi yordamida ERI hosil qilish
6-rasm. Elektron raqamli imzoni tekshirish
1. Imzoni tekshirish jarayoni qanday amalga oshiriladi.
Qabul qilingan M’ ma’lumot va unga qo’yilgan imzo (r’, s’) asosida imzoni tekshirish
jarayoni amalga oshiriladi. Bu ikki bosqichdan iborat. Agar imzo birinchi bosqichdagi
tekshiruvdan o‘ta olmasa, unda ikkinchi bosqichga o‘tmaydi. Qabul qilingan imzolar
uchun 0 < s’ < q yoki 0 < r’ < q shart tekshiriladi. Bu shart bajarilsa ikkinchi bosqichga
o‘tiladi.
1. Ikkinchi bosqich quyidagilardan iborat:
a. v = (𝑠′)−1(mod q) hisoblanadi.
b. z1 = H(M’) v mod q, 𝑧2= r’ v mod q qiymatlar hisoblanadi.
c. Shundan so’ng u =𝑔𝑧1 𝑦 𝑧2 mod p mod q qiymat hisoblanadi.
d. Agar r’ = u tenglik bajarilsa, u holda qo’yilgan elektron raqamli imzo haqiqiy
(M = M’) bo’ladi. Aks holda imzo qalbaki deb topiladi.
2. Xesh funksiya sifatida qaysi standartdan foydalanilgan? Xesh
funksiya sifatida SHA1 standartidan foydalanilgan. 3.DSS, ERI
standarti algoritm qanday muammoga asoslanadi.
DSS(Digital Signature Standard) algoritmi chekli maydonda diskret logarifmlash
muammosiga asoslangan.
XULOSA
Men RSA shifrlash algoritmi va uning matematik asosi, tub sonlar va ularni generatsiyalash
usullari haqida nazariy va amaliy ko’nikmalarga ega boldim va OpenSSL kutubxonasidan
foydalangan holda maʼlumotlarni RSA algoritmi yordamida shifrlashni to’la qonli organdim
bunga menga dars paytida amaliy yordam korsatgan ustozimga raaxmat men OpenSSL
kutubxonasidan ishalshni organdim.