Amaliy mashg’ulot №30. Python dasturlash tilida kriptografik qurilma modeli. Deshifrlash.
Vijener algoritmi asosida deshifrlovchi qurilma kompyuter modelini Python dasturlash tilida quring:
1. Foydalanuvchi tomonidan kompyuter xotirasiga shifr matnni kiritish loyihasini yarating.
2. Shifrlangan ma’lumotni Vijener usulida deshifrlash algoritmini yarating.
Yuqorida №9 masalada Vijener shifrlash algoritmi asosida shifrlovchi qurilma kompyuter modeli yaratilib foydalanuvchi tomonidan kompyuter xotirasiga kiritilgan “Hello world” so‘zlari o‘rniga shifr matn “4KfXUcUlXJ” xosil qilindi. Qayta tiklovchi qurilma Python dasturini (3.7) formuladan foydalanib quramiz va №9 masalada xosil qilingan shifr matnni deshifrlash ishlarini bajaramiz. Yashirin so‘zni deshifrlash uchun full_decode() funksiyasidan foydalanamiz, bu holda funksiya birinchi argumenti shifr sonli indekslari qatori bo‘ladi, ikkinchi argument bo‘lib kalit indekslari qatori keladi. Python loyihasi kodi quyidagicha ko‘rinish oladi:
def full_decode(value, key):
dic = comparator(value, key)
print 'Deshifre=', dic
d = form_dict()
lis =[]
for v in dic:
go = (dic[v][0]-dic[v][1]+len(d)) % len(d)
lis.append(go)
return lis
Natija [72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
Olingan shifr indekslarini decode_val() funksiyasi yordamida matn shaklga keltiramiz:
Natija : Hello world.
Loyiha bajarilishi natijasida yuqorida №9 masalada Vijener o‘rin almashtirishlari algoritmi asosida shifrlangan birlamchi ma’lumotni aynan qayta tiklanishi loyiha xamma bosqichlari to‘g‘ri yaratilganini ko‘rsatadi. Loyiha butunicha quyidagi shaklda bo‘ladi
if __name__ == "__main__":
word = 'Hello world'
key = 'key'
print 'Slovo: '+ word
print 'Klyuch: '+ key
key_encoded = encode_val(key)
value_encoded = encode_val(word)
print 'Value= ',value_encoded
print 'Key= ', key_encoded
shifre = full_encode(value_encoded, key_encoded)
print 'Shifr=', ''.join(decode_val(shifre))
decoded = full_decode(shifre, key_encoded)
print 'Decode list=', decoded
decode_word_list = decode_val(decoded)
print 'Word=',''.join(decode_word_list)
Adabiyotlar
1. Sh.M.Mirziyoyev Milliy taraqqiyot yo‘limizni qat’iyat bilan davom ettirib, yangi bosqichga ko‘taramiz. T.: “O‘zbekiston”. 2017. 169-bet.
2. A.Yu.Yegorov, Ye.S.Semenova, V.M.Ustinov, Y.G.Hong, C.Tu. Eksperimentalnoye nablyudeniye rasshepleniya urovney energii legkix i tyajelix dirok v uprugonapryajennom GaAsN, FTP, 36
3. D.A.Livshits, A.Yu.Egorov, H.Riechert, 8W continuous wave operation of InGaAsN lasers at 1.3 μm, Electronics Letters , 36(16), 1381 -1382(2000)
4. B.Borchert, A.Yu.Egorov, S.Illek, H.Riechert, A.Ultsch, Low threshold lasing operation of narrow stripe oxide-confined GaInNAs/GaAs multiquantum well lasers at 1.28 μm, Electronics Letters, 36(8), 725 -726 (2000)
Internet manbaalari.
http://www.freenet.uz
www.freenet.uz
www.baht.uz
www.esezam.uz
www.vl.freenet.uz
www.python.org
www.uhlib.ru
ww.dasturchi.uz
|