Sezar shifrlash algoritmi. Shifrlash, kalit, shifrmatn va deshifrlash ishining mazmun mohiyati


Sezar shifrini buzish dasturi va ishlashi


Download 1.83 Mb.
bet6/7
Sana12.03.2023
Hajmi1.83 Mb.
#1261850
1   2   3   4   5   6   7
Bog'liq
IL 100% Matchanov Suxrobb bbbbbbbbbbbbbbbb

2.2 Sezar shifrini buzish dasturi va ishlashi
Shifrlashni buzish deganda shifrlangan ma’lumotni qayta deshifrlashga aytiladi. Yani harqanday qulfni buzish va aynan o’zining kalitisiz ochish ikkalasi bir hil gapdek. Deshifrlashga doir misol ishlab ko’rsak:
Misol:
Shifrlangan matn: “drchyts bchshe - chfyurlyuyashchzhh yryeashlt, euplschschzhh lyuyash tshchlsch pkhchshsh. ro y’funrprshfk, y’enkesschshchzhr y’ftschygrschfksh drch’tsl bachshel, uschlshchfyu’o ch’shchpshchets’o glayusch’ prurtsyufnl, egfyulyyuek tschleefts’kh prurtsyufnl.”
Deshifrlangan matn: “Sherlok Xolms Artur Konan Doyl tomonidan yaratilgan adabiy qahramon. uning Londonning mashhur xususiy detektivi Sherlok Xolmsning sarguzashtlariga bag'ishlangan asarlari detektiv janrining klassikasi hisoblanadi.”
Deshifrlashni ma’lum bir algoritmi bo’lganligi tufayli bu algoritmni avtomatlashtirish mumkin. Bundan kelib chiqadiki, deshifrlovchi dastur tuzish mumkin. Ya’ni alifbo berilgan bo’lsa va bu dasturga shifrlangan matn bilan birgalikda kalitni berilsa alifboni o’zgartirib shifrmatnni deshifrlab harbir harfni analiz qilib ochiq matnni hosil qilib beradi. Bundan tashqari chastotani hisoblab generatsiya qilib ko’rib kalitni bilmagan holda ochiq matnni hosil qilishni ham dasturini yaratish mumkin. Buning uchun harflarni qatnashish soni ko’p harf tanlanadi va ixtiyoriy unli harf bilan almashishi kerakligi buyuriladi va natija olingan paytda deshifrlangan matnda ketma-ket 3tadan ortiq undosh harf qatnashadigan so’z hosil bo’lsa ishni qaytadan bajarib shartni qanoatlantiruvchi harfga kelganda ish to’xtatilib natija ekranga chiqarish buyrug’i beriladi.Ishni qayta-qayta bajarish kombinatsiyasi 25 tagacha yetishi mumkin. Bunda natijaga qo’shimcha holda to’g’ri kelgan harf bilan chastotasi baland harf orasidagi masofa aniqlanib kalit ham hosil qilinadi [4].
Sezar shifrini buzish uchun Ceaser Cipher nomli dastur ishlab chiqilgan. Caesar Cipher dasturini yozish uchun Delphi dasturlarni ishlab chiqish muhiti qo'llaniladi, bu Windows uchun afzal qilingan ilovalarni ishlab chiqish muhiti hisoblanadi. Delphi dasturiy vositasidan dastur yozishda foydalanish uning qulay interfeysga egaligi va menyu va oynalarni foydalanuvchi uchun qulay tartibda tartibga solish imkoniyatiga ega ekanligi bilan izohlanadi. Dasturiy ta'minot vositasi vazifalarni to'g'ri hal qilish uchun zarur bo'lgan etarli miqdordagi funktsiyalarga ega. Delphida rivojlanishning umumiy yo'nalishi juda oddiy. Avvalo, interfeys yaratiladi. Bu jarayon dasturni ishlab chiqish umumiy vaqtining taxminan sakson foizini oladi. Zarur komponentlar Windows oynasi yuzasiga joylashtiriladi va ularning xossalari maxsus Ob'ekt tekshiruvi vositasi yordamida sozlanadi. Ushbu vosita bunday komponentlarning harakatlarini bog'lashi mumkin: sichqoncha bilan ro'yxatdan elementni tanlash, tugmani bosish, ishlov berish uchun kodni qo'llash. Oddiy dastur tayyor. Shu bilan birga, ishlab chiquvchi o'z ixtiyorida kontekstga sezgir yordam tizimi, jiddiy disk raskadrovka vositalari, loyiha bilan hamkorlik qilish vositalari va boshqalarga ega. Microsoft IDL dan foydalanmasdan ActiveX boshqaruvlarini yaratish ASP yoki HTML XML haqida ko'p ma'lumotga ega bo'lmasdan veb-server imkoniyatlarini kengaytiradi. ODBC drayverlari, Borland DataBase Engine yoki Microsoft ADO ma'lumotlariga kirish uchun ishlatiladigan CORBA va COM, intranet va Internet ilovalari asosida tarqatilgan ilovalarni shakllantirish. Delphida Object Pascal tilidan foydalaniladi, u doimiy ravishda Borland tomonidan to'ldiriladi va kengaytiriladi. Ushbu til, barcha mezonlarga ko'ra, ob'ektga yo'naltirilgan dasturlash tiliga qo'llaniladigan talablarni qo'llab-quvvatlaydi. C++ uslubidagi haddan tashqari yuklash usullari va pastki dasturlari (ortiqcha yuklash), istisno vaziyatlarni hal qilishni qo'llab-quvvatlash - bu tilning unchalik muvaffaqiyatli bo'lmagan xususiyatlaridan biridir. WideChar va AnsiChar formatlarida uzun satrlarni qo'llab-quvvatlash yaxshi xususiyatlardan biridir. AnsiStrmg turi barcha muvaffaqiyatli dinamik xotira taqsimotlaridan foydalanish imkonini beradi. Delphi hech qanday tashvishsiz avtomatik ravishda axlatni ajratish va yig'ish bilan shug'ullanadi. Freestyle dasturlashda ochiq variantlar, massivlar va variant massivlari mavjud. Ular har qanday narsani xotiraga joylashtirish va ma'lumotlar turlarini aralashtirish imkonini beradi. Delphi-dan foydalanish eng oddiy ilovalarni yaratish uchun mos keladi, ularni ishlab chiqish uch soatdan oshmaydi. Bundan tashqari, o'nlab va yuzlab foydalanuvchilarning ishi uchun mo'ljallangan jiddiy loyihani yaratishingiz mumkin. Buning uchun kompyuter texnologiyalari olamidagi eng so'nggi ishlanmalardan foydalaniladi, shu bilan birga vaqt va kuch minimaldir [5].
Bundan tashqari Delphi dasturlash tilida shifrlash dasturidan tashqari deshifrlash uchun ham dastur kodi yozilgan. Bu dasturni ham ko’rib chiqsak:
"O'chirish" tugmasini bosing, so'ng biz olgan shifrlangan matnni 1-maydonga kiriting va 2-maydonga xuddi shu kalitni kiriting(2.1 rasm):

2.1 rasm Shifrmatnni deshifrlash uchun birinchi maydonga yozilishi.
Shifrlangan matnni ko'rsatish uchun 3-maydondagi "Ishga tushirish" tugmasini bosing(2.2 rasm):

2.2 rasm Deshifrlab ochiq matnni hosil qilinishi.
Sezar shifrini buzish uchun Ceaser dasturini androidlar uchun apk turi ham ishlab chiqilgan bo’lib, xuddi Delphi dasturlash tilida yozilgan Ceaser Cipher dasturi bilan bir xil algoritmda ishlaydi. Yani bu android dastur ham shifrmatn va kalit berilishi orqali ochiq matn hosil qilinadi[6]. Ammo bu android dasturning windows dasturidan farqli bo’lib, foydanuvchiga windows dasturdan ko’ra android dastur tushunarli ifoda qilinadi. Yuqorida Ceaser Cipher dasturining windows dasturi keltirib o’tganman. Bu dasturning faqatgina malumot kiritish va chiqariy oynalari, kalitni kiritish uchun oyna va shifrlash yoki deshifrlashni belgilash uchun tugmalardan iborat. Android dasturda esa bundan farqli o’laroq foydalanayotgan insonga shifrlash va deshifrlash uchun qanday ish bajarilishi tushunarli ifoda etiladi.
Ceaser Cipher dasturining android operatsion sistemalar uchun ishlab chiqilgan dasturi windows operatsion sistemasiga o’xshagan oynasi ham mavjud va shu bilan bir qatorda aylanma baraban shaklidagi oynasi ham mavjud. Aynan shu oyna foyudalanuvchiga bu algoritmning ishlashini oson o’zlashtirishga yordam beradi.
Ceaser Cipher dasturining bajarilish ketma-ketligini yani foydalanuvchi qo’llanmasini keltirib o’tsam:

3.1-rasm. Dastur ilovasining android versiyasidagi tashqi ikonkasi
Ilovaga kirilgan paytda 3.2-rasmdagi oyna kelib chiqadi. Bu oynada matn va shifrmatn uchun oynalar, kalit qiymatini belgilash uchun suriladigan indikator va tugmalar mavjud. Ikkita tugma mavjud bo’lib biri shifrlangan shifrmatnlar saqlanadigan oynani chiqaradi, ikkinchi tugma shifrlash va deshifrlash uchun ishlatiladi.

3.2 rasm Asosiy oyna 3.3 rasm Ochiq matn kiritish qismi

3.3-rasmda shifrlash uchun matn kiritamiz. Keyingi ish shu yerda aylana ichida tasvirlangan 1 raqamini


1 dan 25 gacha oraliqda surib o’zgartiramiz. Bu bilan biz kalitni tanlab olamiz(3.4-rasm). Kalit belgilangandan so’ng “ENCRYPT” tugmasini bosamiz. Tugmani bosganimizdan keyin bizga biz yozgan matnni k=4 kalit bilan shifrlab taqdim qiladi(3.5-rasm).


3.4 -rasm Kalit belgilash jarayoni 3.5-rasm Shifrmatnni hosil bo’lishi

Endi shu shifrlab olgan shifrmatnni qayta deshifrlaymiz. Buning uchun matn kiritiluvchi oynadan ma’lumotlarni o’chirib o’rniga shifrmatnni joylaymiz


(3.6-rasm). Undan keyin bizga deshifrlash kaliti kerak bo’ladi va bu kalit shifrmatn uchun ishlatilgan k=4 kalit emas balki alifbo 26 ta harfdan iborat bo’lganligi tufayli K=26-k=26-4=22 kalitdan foydalanamiz[7]. Deshifrlash kalitini ham belgilab olamiz(3.7-rasm).


3.6-rasm 3.7-rasm

Kalit belgilanadi va yana “ENCRYPT” tugmasini bosamiz. Tugmani bosish buyrug’i berilganda ikkinchi oynada deshifrlangan ochiq matn taqdim etiladi


(3.8-rasm)

Ushbu ilovaning tepasida chap tomonda aylana shaklida kichkina tugma mavjud bo’lib Sezar shifrlash algoritmini tushunishga yordam beradi. Yani alifbo qanday o’zgarishi, kalit qanday qiymatga o’zgartirishi va almashishlar pozitsiyasining joylashuvi ko’rsatiladi(4.1-4.2-rasmlar):




4.1-rasm 4.2-rasm

XULOSA
Bu ish natijasida topshiriqning algoritmini tuzish va bu algoritmni Delphi muhitida yozilgan dastur matniga tadbiq etish malakalari olindi. Va shuningdek, vazifani muvaffaqiyatli hal qiladigan dasturiy vosita ishlab chiqildi, ya'ni. Ikki rejimda ishlaydigan dastur yozildi, bu sizga "Sezar usuli" yordamida matnlarni shifrlash va shifrlash imkonini beradi. Bu dastur dasturda yozilgan matndan ma'lumotlarni o'qiydi va ularni shifrlaydi yoki shifrini ochadi, natija kompyuter ekranida ko'rsatiladi.
Belgilangan vazifalar bajarildi. Biz dastur yaratish uchun zarur bo'lgan nazariy ma'lumotlarni o'rgandik, ma'lumotlarni shifrlash va shifrini ochish algoritmini ishlab chiqdik, dasturni sinab ko'rdik va xatolarni tuzatdik.
Ushbu dasturning maqsadli auditoriyasi maktab o'quvchilari, universitet talabalari shifrlash asoslarini, ya'ni Sezar shifridan foydalangan holda ma'lumotlarni shifrlash va parolini hal qilishni o'rganishlari mumkin. Shuningdek, dastur o'qituvchilar tomonidan Tsezar shifrlash va barcha qiziqqan foydalanuvchilarning bo'sh vaqtlari uchun matnlarni shifrlash va parolini ochish bo'yicha topshiriqlarni tekshirish uchun ishlatilishi mumkin.
Bizning davrimizda ma'lumotni kodlash juda mashhur muhokama mavzusiga aylandi, chunki u Internet orqali ma'lumotlarni uzatish (masalan, bank operatsiyalari), kompyuter tizimlarini ruxsatsiz kirishdan to'g'ridan-to'g'ri himoya qilish va hokazolar uchun zarurdir [8].


Download 1.83 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling