Uploaded by farruxmisoqulov

1-amaliy — sirtqi (2) (1)

advertisement
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
H=7=00111
T1= ?
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 (7.2- rasm):
7.2- rasm. Gibrid shifrlash tizimining umumiy sxemasi
7.3- rasm. Yopiq kalit generatsiyasi
7.4- rasm. Yopiq kalit yozilgan fayl
7.5- rasm. RSA yopiq kaliti yordamida ochiq kalit hosil qilish
7.6- rasm. RSA yopiq kaliti yordamida hosil qilingan ochiq kalit
7.7- rasm. 32 ta belgidan iborat bo’lgan tasodifiy qiymat hosil qilish
7.8- rasm. 32 ta belgidan iborat bo’lgan tasodifiy qiymat fayli
7.8- rasm. RSA ochiq kalitini shifrlash
7.9- rasm. Shifrlangan RSA ochiq kaliti
7.10- rasm. Ochiq matn faylilini hosil qilish
7.11- rasm. Ochiq matn faylilini shifrlash
7.12- rasm. Shifr matn ko’rinishi
7.13- rasm. Yopiq kalitni o’chirish
7.14- rasm. Shifrlangan kalitni deshifrlash
7.15- rasm. Shifr matnni deshifr qilish
7.16- rasm. Faylni deshifrlash
7.17- rasm. Dastlabki ochiq matn
Topshiriq
OpenSSL kutubxonasidan foydalangan holda maʼlumotlarni gibrid shifrlash
usulida har bir talaba o’z ism familyasidan foydalangan holda shifrlash amalga
oshirilsin.
Nazorat savollari
1. Gibrid shifrlash tizimini qurish qanday amalga oshiriladi.
2. Shifrlarning kriptoturg’unligini oshirish uchun necha kalit ishlatilishi
mumkin.
3. Nima sababdan Shifrlashning o’zgaruvchan algoritmlarini qo’llash tavsiya
qilinadi.
Download