O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filliali


Download 327.99 Kb.
bet10/11
Sana24.04.2023
Hajmi327.99 Kb.
#1395911
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
ind

y E k = x E k E k = x.
Bunda shifrlash va dekodlashda foydalaniladigan kalitlar ketma-ketligi bir-birini kompensatsiya qiladi (2 modul qo'shilganda) va natijada asl matnning x belgilari tiklanadi. Vernam o'z tizimini ishlab chiqishda uni transmitter va qabul qilgichga o'rnatilgan halqali lentalar bilan sinovdan o'tkazdi, shunda bir xil kalit ketma-ketligi ishlatilgan. Shuni ta'kidlash kerakki, Vernam usuli kalitlar ketma-ketligining uzunligiga bog'liq emas va qo'shimcha ravishda u tasodifiy kalitlar ketma-ketligidan foydalanishga imkon beradi. Biroq, Vernam usulini amalga oshirishda, jo'natuvchi bilan bir xil kalitlar ketma-ketligini qabul qiluvchiga etkazib berish yoki jo'natuvchi va qabul qiluvchidan bir xil kalit ketma-ketligini xavfsiz saqlash zarurati bilan bog'liq jiddiy muammolar mavjud. Vernam shifrlash tizimining bu kamchiliklari gamma shifrlash orqali bartaraf etiladi.
Kiritilgan matnni shifrlash va deshifrlash dasturi:
import string
matn= string.ascii_letters
dict1 = {}
kalit = int(input("Kalitni kiriting: "))
for i in range(len(matn)):
dict1[matn[i]] = matn[(i+kalit)%len(matn)]
kiritiladigan_matn= str(input("Matn kiriting: "))
shifr_matn=[]
for char in kiritiladigan_matn:
if char in matn:
temp = dict1[char]
shifr_matn.append(temp)
else:
temp =char
shifr_matn.append(temp)
shifr_matn= "".join(shifr_matn)
print("Shifrlangan matn: ",shifr_matn)
dict2 = {}
for i in range(len(matn)):
dict2[matn[i]] = matn[(i-kalit)%(len(matn))]
deshifr_matn = []
for char in shifr_matn:
if char in matn:
temp = dict2[char]
deshifr_matn.append(temp)
else:
temp = char
deshifr_matn.append(temp)
deshifr_matn = "".join(deshifr_matn)
print("Deshifrlangan matn :", deshifr_matn)
Matnni shifrlash dastur kodi:



5-rasm. Matnni shifrlash dastur kodi.



Download 327.99 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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