Mavzu: Matn ma’lumotlarni himoyalashda klassik o’rniga qo’yish va o’rin almashtirish algoritmlaridan foydalanish
Download 334.02 Kb.
|
1lab
- Bu sahifa navigatsiya:
- Ishni bajarilish tartibi va qo’yilgan vazifa
Affin kriptotizimlari. Affin kripototizimlari keng tarqalmagan o’rniga qo’yish usullari sanalib, bir alifboli shifrlash usullariga kiradi. Bu tizimlarga affin tizimidagi Sezar usuli, ROT13 va Atbash usullari kiradi.
Affin tizimidagi Sezar usulida har bir harfga almashtiriluvchi harflar maxsus formula bo’yicha aniqlanadi: E(x)=ax+b (modm), bu yerda a, b - butun sonlar bo’lib, kalitlar hisoblanadi, 0≤a, b Deshifrlash jarayoni quyidagi formula asosida amalga oshiriladi: D(E(x)) = a-1 (E(x) − b)modm. Bu yerda a-1 modm bo’yicha a ga teskari bo’lgan son. Ingliz alifbosidan foydalanilganda u quyidagicha raqamlanadi:
Shifrlash. Ushbu usulda ma’lumotlarni shifrlash uchun “ATTACK AT DAWN” ochiq matni olinib, kalit sifatida a=3 va b=4 olindi. Alifbo uzunligi m=26 ga teng. Bu holda shifrlash funksiyasining umumiy ko’rinishi quyidagicha bo’ladi: y = E(x) = (3x + 4)mod26. Yuqoridagi jadvalga asoslanib quyidagini olish mumkin:
Shifrlashning umumiy ko’rinishi esa quyidagicha bo’ladi:
Deshifrlashning umumiy ko’rinishi esa :
Olingan alifbodagi barcha belgilarni shifrlash natijasi quyidagiga teng bo’ladi:
Ishni bajarilish tartibi va qo’yilgan vazifaAsosiy matn shifrlash usullaridan birida shifrlansin va qadamma – qadam izohlansin. Shuningdek, Delphi, Java, C++ va C# dasturlash tizimlaridan birida dasturiy ta’minot yaratilsin. TALABAGA TOPSHIRIQ!!!. Dasturiy ta’minotni ishlab chiqish va ushbu dastur talaba tomonidan ixtiyoriy dasturlash tili olinishi mumkin va hisobotda dasturiy ta’minot ishlashi to’liq tavsiflansin. IKKITA BIR XIL ISH QABUL QILINMAYDI!!!!! Men bu tajriba ishida Python dasturlash tilidan foydalanib, Sezar shifrlashining dasturini tuzdim: Dastur kodi: def shifr(text, s): result = "" for i in range(len(text)): char = text[i] if(char.isupper()): result += chr((ord(char) + s-65) % 26 + 65) else: result += chr((ord(char) + s-97) % 26 + 97) return result text = input("Matn: ") s = int(input("kalit son (raqam)")) print("Matn: " + text) print("Kalit:" + str(s)) print("Shifr:" + shifr(text, s)) Download 334.02 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling