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.