Python va kriptografiya qo’llanma Darslik haqida



Download 6,53 Mb.
bet9/26
Sana04.03.2022
Hajmi6,53 Mb.
#483229
1   ...   5   6   7   8   9   10   11   12   ...   26
Bog'liq
cryptography with python tutorial2020

Misol


Quyidagi diagramma ROT13 algoritm jarayonini tasviriy ravishda tushuntiradi:

Dastur kodi
ROT13 algoritmining dasturini amalga oshirish quyidagicha:
from string import maketrans

rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',


'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')

# Function to translate plain text


def rot13(text):
return text.translate(rot13trans)
def main():
txt = "ROT13 Algorithm"
print rot13(txt)

if __name__ == "__main__":
main()

Quyidagi rasmda ko'rsatilganidek, ROT13 chiqishini ko'rishingiz mumkin:







Kamchilik

ROT13 algoritmi 13 smenadan foydalanadi. Shuning uchun, shifrlangan matnning shifrini ochish uchun belgilarni teskari yo'nalishda siljitish juda oson.




ROT13 algoritmini tahlil qilish

ROT13 shifrlash algoritmi Caesar Cipherning maxsus holati sifatida ko'rib chiqiladi. Bu juda xavfsiz algoritm emas va chastotani tahlil qilish yoki shunchaki mumkin bo'lgan 25 tugmani sinab ko'rish orqali osongina sindirish mumkin, ROT13 esa 13 joyni siljitish orqali sindirish mumkin. Shuning uchun u hech qanday amaliy foydalanishni o'z ichiga olmaydi.


Transpozitsiya shifrlash - bu kriptografik algoritm bo'lib, unda ochiq matndagi alifbolar tartibi shifrlangan matnni hosil qilish uchun qayta tartibga solinadi. Bu jarayonda haqiqiy oddiy matn alifbolari kiritilmagan.
Misol
Transpozitsiya shifriga oddiy misol ustunli transpozitsiya shifridir , bunda oddiy matndagi har bir belgi belgilangan alifbo kengligi bilan gorizontal ravishda yoziladi. Shifr vertikal ravishda yoziladi, bu esa butunlay boshqa shifr matnini yaratadi.
Oddiy matnli salom dunyosini ko'rib chiqing va quyida ko'rsatilgandek oddiy ustunli transpozitsiya texnikasini qo'llaymiz:

Oddiy matn belgilari gorizontal ravishda joylashtiriladi va shifrlangan matn vertikal formatda yaratiladi: holewdlo lr. Endi qabul qiluvchi shifrlangan matnni oddiy matnga ochish uchun xuddi shu jadvaldan foydalanishi kerak.


Kod


Quyidagi dastur kodi ustunli transpozitsiya texnikasining asosiy amalga oshirilishini ko'rsatadi:
def split_len(seq, length):
return [seq[i:i + length] for i in range(0, len(seq), length)]
def encode(key, plaintext):
order = {
int(val): num for num, val in enumerate(key)
}
ciphertext = ''

for index in sorted(order.keys()):


for part in split_len(plaintext, len(key)):
try:ciphertext += part[order[index]]
except IndexError:
continue
return ciphertext
print(encode('3214', 'HELLO'))


Download 6,53 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   26




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish