O‘ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI
RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Amaliyot ishi
Guruh: 713-20
Bajardi: Fayzullayev Farhod
Tekshirdi: Jabbarov Nuriddin
6- amaliy ish
Mavzu: OpenSSL kutubxonasidan foydalangan holda ma’lumotlarni
ochiq kalitli shifrlash algoritmlari 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), Adi Shamir (Adi Shamir) va Len Adlmen (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
Adlmen
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 𝑀 < 𝑛 uchun
𝑀𝑒𝑑 = 𝑀𝑚𝑜𝑑𝑛 tenglik oʼrinli boʼlishi kerak.
2. Barchak. 𝑀 < 𝑛 uchun 𝑀𝑒 va 𝐶 𝑑 ni hisoblash oson boʼlishi kerak.
3. Amaliy 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.
Amaliy qism
7- amaliy ish
Mavzu: OpenSSL kutubxonasidan foydalangan holda maʼlumotlarni gibrid
shifrlash usulida shifrlash.
Ishdan maqsad: Simmetrik asimmetrik algoritmlarga asoslangan gibrid
shifrlash tizimini ishlab chiqish
Nazariy qism
Gibrid shifrlash algoritmlari va ularning ishlash prinsiplarni haqida to’xtalib
o’tiladi.
Gibrid shifrlash tizimini qurish uchun bittadan simmetrik va asimmetrik
shifrlash tizimlarini tanlash kerak bo’ladi. Bunda simmetrik shifrlash tizimi sifatida
VERNAM shifrlash algoritmini, asimmetrik shifrlash tizimi uchun esa RSA
shifrlash algoritmini tanlab olinadi.
Gibrid shifrlash tizimini qurishdan oldin ushbu shifrlash algoritmlariga
to’xtalib o’tish maqsadga muvofiq:
Vernamning shifrlash usuli
Vernamning shifrlash tizimi modul qiymati m=2 bo’lgan Vijiner shifrlash
tizimining bir qismi hisoblanib, kiruvchi matn sifatida ikkilik sanoq sistemasidan
foydalandi. Shifrlashda birinchi Ingliz alfavitidagi(A,B...Z). Matnning xar bir xarfi
5-bit bo’lakli (b0,b1…b4) Bado raqami bilan kodlanadi. Ixtiyoriy ketma-ketlikdagi
ikkilik kalitlar k0,k1,k2, avval kitobsimon lentaga yoziladi. Quyidagi rasmda
uzatilayotgan axborotni Vernam usuli orqali shifrlash ko’rsatilgan(7.1-rasm).
7.1-rasm. Vernam usuli orqali shifrlash
Kiruvchi matnni shifrlashda x-kiruvchi matn ikkilik ko’rinishiga o’tkaziladi
va ikkilik modul ostida(XOR amali yordamida) ikkilik ketma-ketlikdagi k-kalit bilan
qo’shish orqali shifrlash amalga oshiriladi. Xabarni shifrlash quyidagi foymula
orqali amalga oshiriladi:
𝑦 =𝑥⊕𝑘
Shifrni ochishda shifrmatni bilan k-kalitning mos bitlari ikkilik modul
ostida(XOR amali bilan ) qo’shiladi va ochiq matnga ega bo’linadi:
𝑥 =𝑦⊕𝑘
32=25 ga yani 5 bitli ikkilik sanoq sistemasi uchun shifrlash jadvalini
quyidagicha tuzish mumkin:
Ushbu shifrlash jadvalidan foydalanib shifrlash amalga oshiriladi. Misol:
“HELLO” so’zi shifrlansin.
T0= HELLO
K= KALIT
T1= ?
H=7=00111
K=10=01010
N=13=01101
X
y
xor
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
Vernam ishlab chiqqan bu tizimni aylanali lenta yordamida tekshirgan,
uzatgich (peridatchik) va qabul qilgichlarni (pryomnik) ko’rishda bir xil yoki shunga
o’xshagan kalit ketma-ketligidan foydalangan. Vernam shifrlash tizimining
kamchiligi uzatuvchi orqali qabul qilish tomoniga kalit ketma-ketligini qanday
uzatish edi. Chunki dushman kalitni olsa, u yuborgan shifrlangan matnni bemalol
ochib o’qiy oladi. Shuning uchun xam Vernamning shifrlash tizmi yetarli emasligi
sababli buni hal kilish uchun shifrlash kalitini assimmetrik shifrlash tizimi orqali
uzatish muammoning yechimi hisoblanadi. Kalitni shifrlash uzatuvchi assimmetrik
tizimi sifatida RSA algoritmi tanlanadi. Quyida RSA algoritmi haqida ma’lumot
beriladi:
Misol.<GA3> so’zini shifrlash va deshifr qilish talab etilsin. Dastlabki so’zni
shifrlash uchun quyidagi qadamlarni bajarish lozim.
1-qadam. p=3 va q=11 tanlab olinadi.
2-qadam. n 3 11 33 hisoblanadi.
3-qadam. Eyler funksiyasi aniqlanadi.
f ( p , q ) (3 1) * (11 1) 20
4-qadam. O’zaro tub son sifatida d=3 soni tanlab olinadi.
5-qadam. (e 3) (mod 20 ) 1 shartini qanoatlantiruvchi e soni tanlanadi.
Aytaylik, e=7.
6-qadam. Dastlabki so’zning alfavitdagi xarflar tartib raqami ketma-ketligiga
mos son ekvivalenti aniqlanadi. A xarfiga -1, G xarfiga-4, Z xarfiga -9. O’zbek
alfavitida 36ta xarf ishlatilishi sababli ikkilik kodda ifodalash uchun 6 ta ikkili xona
kerak bo’ladi. Dastlabki axborot ikkilik kodda quyidagi ko’rinishga ega bo’ladi:
000100 000001 001001.
Blok
uzunligi
L
butun
sonlar
ichidan
L log 2 (33 1)
shartini
qanoatlantiruvchi minimal son sifatida aniqlanadi. n =33 bo’lganligi sababli L =6.
Demak, dastlabki matn X (i ) 4,1,9 ketma-ketlik ko’rinishida ifodalanadi.
7-qadam. X (i ) ketma-ketligi ochiq kalit {7,33} yordamida shifrlanadi:
Y(1)=(47)(mod 33)=16384(mod 33)=16
Y(2)=(17)(mod 33)=1(mod 33)=1
Y(1)=(97)(mod 33)=4782969(mod 33)=15
Shifrlangan so’z Y(i)=<16,1,15>
Shifrlangan so’zni rasshifrovka qilish maxfiy kalit {3,33} yordamida
bajariladi.:
Y(1)=(163)(mod 33)=4096(mod 33)=4
Y(1)=(13)(mod 33)=1(mod 33)=1
Y(1)=(153)(mod 33)=3375(mod 33)=9
Dastlabki son ketma-ketligi rasshifrovka qilingan X(i)=<4,1,9> ko’rinishida
dastlabki matn <GAZ> bilan almashtiriladi.
Yuqorida ko’rilgan shifrlash metodlarining kripto turg’unligi kalit uzunligiga
bog’liq bo’lib, bu uzunlik zamonaviy sistemalar uchun, yaqqol, 128 bitdan katta
bo’lishi shart.
Ayrim muhim qo’llanishlarda nafaqat kalit, balki shifrlash algoritmi ham
maxfiy bo’ladi. Shifrlarning kriptoturg’unligini oshirish uchun bir necha kalit
ishlatilishi mumkin. Birinchi kalit yordamida shifrlangan axborot ikkinchi kalit
yordamida deshifrlanadi va hakozo.
Shifrlashning o’zgaruvchan algoritmlarini qo’llash tavsiya qilinadi. Bunda
shifrlash kaliti shifrlashning muayyan algoritmini tanlash uchun ham ishlatiladi.
Ochiq kalitlardan foydalanuvchi shifrlash metodlarining afzalligi, avvalo,
maxfiy kalitlarni tarqatish zaruriyatining yo’qligidir. Katta masofalarda tarqalgan
kompyuter sistemalari uchun maxfiy kalitlarni tarqatish yetarlicha murakkab masala
hisoblanadi. Ochiq kalitli sistemalarning ommalashuviga maxfiy kalitlarning faqat
ularni to’liq saralash orqali olinishidan boshqa yo’l bilan olib bo’lmasligi isbotining
yo’qligi to’sqinlik qiladi.
Ushbu imkoniyatdan foydalanib gibrid shifrlash tizimlarini yaratish va u
orqali shifrlash kalitini xavfsiz uzatish muammosidan xoli tizim yaratish mumkin.
Quyida tanlangan simmetrik va assimmetrik algoritmlardan foydalanib gibrid
shifrlash tizimi ishlab chiqildi. Tizimning umumiy sxeamasi quyidagi ko’rinishda
bo’ladi
Amaliy Qism
1-rasm.yopiq kalit generatsiyasi
2-rasm.yopiq kalit yozilgan fayl
3-rasm.RSA yopiq kaliti yordamida ochiq kalit hosil qilish
4-rasm.RSA yopiq kaliti yordamida hosil qilimgan ochiq kalit
5-rasm.32 ta belgidan iborat bo’lgan tasodifiy qiymat hosil qilish
6-rasm.32ta belgidan iborat bo’lgan tasodifiy qiymat fayli
7-rasm.RSA ochiq kalitini shifrlash
8-rasm.Shifrlangan RSA ochiq kaliti
9-rasm.ochiq matn faylini hosil qilish
10-rasm.ochiq matn faylini shifrlash
11-rasm.shifrmatn ko’rinishi
12-rasm.yopiq kalitni o’chirish
13-rasm.shifrlangan kalitni deshifrlash
14-rasm.shifrmatnni deshifrlash
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )