Topshiriqlar. 310-22 guruh talabasi


Download 33.44 Kb.
Sana31.01.2024
Hajmi33.44 Kb.
#1819011
Bog'liq
Sobirov Ixlosbek Kiberxavfsizlik dedlayn


Topshiriqlar.
310-22 guruh talabasi
Sobirov Ixlosbek
1.Sezar shifri.
Sezar shifri orqali harf almashuvini o'z ichiga oladi. Misol uchun, har bir harfni yaratish bir orqaga o' Control orqali shifrlash amalga oshirish. Agar alif uchun 1 shifr ishlatilsa, to'g'ridan-to'g'ri boshqa harflar uchun ham ularni bir boshqa harfga boshqa amalga oshiradi.
Masalan, matn: "HELLO" Sezar shifri bilan shifrlanganda, har bir harf bir pozitsiya yoki bitta orqaga o'zgartiriladi. Misol uchun, alif uchun H -> I, E -> F, L -> M, L -> M, O -> P bo'ladi. kuchli, shifrlangan matn "IFMMP" bo'ladi.
Sezar shifri o'z yukiga yuk, ammo sodda shifrlash usuli. , muammolarni kunlarda o'zgartirib, uni bu harflar va asboblar qo'shilib, murakkablahlash uchun boshqa shifrlash usullariga o'tkazish mumkin.

Oddiy matn: Sobirov Ixlosbek Ikrombek o’g’li


Kalit: 15
Shifrlangan matn: Xtgnwta Ncqtxgjp Npwtrgjp t'l'qn
Deshifrlangan matn: Sobirov Ixlosbek Ikrombek o’g’li

2.Ikki tomonlama o’rin almashtirish usuli.
Ikki tomonlama o‘rin almashtirish, yoki "two-way data binding," tushunchasi ko'p dasturlash platformalarida (masalan, Angular, React, Vue.js) ishlatiladi. Bu usulda, interfeys elementlarining qiymatlari o'zgartirilganda, asosiy ma'lumotlarning (model) qiymatlari ham avtomatik ravishda o'zgaradi va bundan tashqari, agar asosiy ma'lumot (model) o'zgartirilsa, interfeys elementlari ham yangilanadi.
Bu usul, foydalanuvchi interfeysini ma'lumotlarga bog'langan holda o'zgartirish imkoniyatini beradi. Shuningdek, o'zgarishlar avtomatik ravishda sodir bo'lar, shuning uchun dasturchi o'z funksiyalari bilan oz ishiga aloqador bo'lishi kerak emas.
Bifiksit usuli, matematikning asosiy qoidalarga asoslangan ravishda ishlaydi va bir nechta amaliyotlar, masalan, qo'shish, ayrish, ko'paytirish, bo'lish va boshqa arifmetik amaliyotlar qollaniladi. Ushbu usul matematik, informatika va kompyuter ilmi olamida asosiy qo'llanma bo'lib, axborotlarni saqlash, uzatish, shifrlash va shaxsiy ma'lumotlarni himoya qilishda muhim ahamiyatga ega.

Shifrlash Qadam (Key): 7
Matn Shifrlash:
1.Sobirov Ixlosbek Ikrombek o’g’li

  • S -> X

  • O -> t

  • B -> g

  • I -> n

  • R -> w

  • O -> t

  • V -> a

  • -> (Bo’sh joy)

  • I -> N

  • X -> c

  • L -> q

  • O -> t

  • S -> x

  • B -> g

  • E -> j

  • K -> p

  • -> (Bo’sh joy)

  • I -> N

  • K -> p

  • R -> w

  • O -> t

  • M -> r

  • B -> g

  • E -> j

  • K -> p

  • -> (Bo’sh joy)

  • O’ -> t'

  • G’ -> l'

  • L -> q

  • I -> n

Natijada shifrlangan matn: " Xtgnwta Ncqtxgjp Npwtrgjp t'l'qn"
Shunday qilib, "Sobirov Ixlosbek Ikrombek o’g’li" matni " Xtgnwta Ncqtxgjp Npwtrgjp t'l'qn " ga almashtiriladi.

3. Vijiner shifrlash usuli.
Vijiner shifrlash usuli, matnning har bir belgisini o'zining bir kalit bilan shifrlash prinsipi asosida ishlaydi. Ushbu usul asosan matnning har bir belgisiga bir nechta kalitlarni o'zgartirib yuborishdan iborat.
Asosiy qadamlari quyidagicha:

  1. Matn va Kalitni Tayyorlash: Matn va shifrlash uchun kerakli kalitni tayyorlash. Agar matn uzunligi kalit uzunligidan kichik bo'lsa, kalitni ortga qaytarib turish (loop) kerak. Misol uchun, agar matn "HELLO" va kalit "KEY" bo'lsa, kalitni "KEYKEY" qilib olishimiz mumkin.

  2. Har bir Belgi uchun Shifrlash: Har bir matn belgisi uchun alohida kalitni olish va shifrlash jarayonini bajarish. Bu jarayon odatda modulo operatsiyasi va harflarning ASCII qiymatlari orqali amalga oshiriladi.

  3. Shifrlangan Matnni Qaytarish: Shifrlangan belgilar bilan tuzilgan matnni chiqarish.

Python tilidagi amaliy misol bilan usulni tushuntiraylik:
def vijiner_shifrlash(matn, kalit):
shifrlangan_matn = ""
kalit_turasi = [ord(i) for i in kalit.upper()] # Kalitni belgilangan kalitlar to'plamiga o'zgartiramiz
kalit_hajmi = len(kalit_turasi)

for i, belgi in enumerate(matn):


if belgi.isalpha():
katta_harf = belgi.isupper()
belgi_raqami = ord(belgi.upper())
kalit_raqami = kalit_turasi[i % kalit_hajmi] # Kalitlar to'plamidan kerakli kalitni olish
shifrlangan_raqam = (belgi_raqami + kalit_raqami - 2 * 65) % 26 + 65 # Shifrlash formulasi
shifrlangan_matn += chr(shifrlangan_raqam) if katta_harf else chr(shifrlangan_raqam).lower()
else:
shifrlangan_matn += belgi

return shifrlangan_matn

# Matn va kalitni olinadi
matn = "HELLO"
kalit = "KEY"

# Vijiner shifrlash amalga oshiriladi


shifrlangan_matn = vijiner_shifrlash(matn, kalit)

# Shifrlangan matn chiqariladi


print("Shifrlangan Matn:", shifrlangan_matn)
Bu misolda, "HELLO" matni "KEY" kaliti bilan shifrlangan. Har bir belgi uchun alohida kalitni olish va shifrlash amalga oshirilgan.


Shifrlash Kaliti (Key): UZBEK
Matn: SOBIROV IXLOSBEK
Shifrlash Qadam (Key):
Natijada deshifrlangan nom: " SOBIROV IXLOSBEK "
Demak, "Sobirov Ixlosbek" nomi " MNCMBIU MHFNTFOE" ga shifrlangan va "SOBIROV IXLOSBEK" deshifrlangan bo’ladi.
Download 33.44 Kb.

Do'stlaringiz bilan baham:




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