Atbash shifrlash Atbash shifrlash dastlab ibroniy alifbosi uchun ishlatiladigan mono-alfavit almashtirish shifridir. Bu eng qadimgi ma'lum bo'lgan almashtirish shifrlaridan biri va juda oddiy. Biroq, uning soddaligi ham uning eng katta xatosidir, chunki u kalitdan foydalanmaydi. Shuning uchun, Atbash shifrlash bilan shifrlangan ochiq matnning har bir qismi bir xil shifrlangan matn alifbosidan foydalanadi va shuning uchun shifrlash algoritmi hammaga ma'lum bo'lganligi sababli osongina buzish mumkin. Atbash shifrlash shifrlangan matn alifbosini yaratish uchun oddiy matn alifbosini o'zgartiradi. Ya'ni, alifboning birinchi harfi alifboning oxirgi harfiga, ikkinchi harfi oxirgi harfga va hokazo shifrlangan. Asl ibroniy tilida bu "alef" "tav" va "bet" "shin" deb kodlanganligini anglatadi. Bu erda biz "atbash" shifrini olamiz. Ibroniy alifbosi uchun biz quyidagi konvertatsiya jadvalini olamiz. Ibroniy alifbosidagi Atbash shifrlash uchun shifrlangan matn alifbosi 26 harfli lotin alifbosi uchun bizda quyidagi jadvalda keltirilgan shifrlangan matn alifbosi mavjud. Atbash shifrlash uchun shifrlangan matn alifbosi Shifrlash Har qanday mono-alfavit almashtirish shifrlari singari, agar shifrlangan matn alifbosi allaqachon yaratilgan bo'lsa, Atbash shifridan foydalangan holda shifrlash juda oddiy. Biz shunchaki har bir ochiq matn harfining har bir hodisasini jadvalda ko'rsatilgan tegishli shifrlangan matn harfi bilan almashtiramiz . Demak, “atbash” ning ochiq matnini olsak, “a” “Z”da, “t” “G”da shifrlangan va hokazo. Shu tarzda davom etsak, oxirgi shifrlangan matn “ZGYZHS” ekanligini ko'ramiz. Shifrni ochish Ushbu shifrning simmetrik tabiati tufayli shifrni ochish jarayoni shifrlash jarayoni bilan bir xil. Shunday qilib, qabul qiluvchi shifrlangan matnni dekodlashi uchun birinchi navbatda xabarni shifrlash uchun ishlatilgan bir xil shifrlangan matn alifbosi yaratilishi kerak. Bunday holda, shifrlangan matn alifbosi faqat ishlatiladigan alifboga tayanadi va shuning uchun yuqoridagi jadval xabarning shifrini ochish uchun ham ishlatiladi. Shunday qilib, "XRKSVI" shifrlangan matnni bilgan holda va foydalaniladigan alifboni standart 26 harfli lotin alifbosi deb hisoblasak, biz ochiq matnli "shifr" ni olishimiz mumkin. Muhokama Atbash shifrlash juda zaif almashtirish shifridir, chunki shifrlashni amalga oshirish uchun shifrlangan matn alifbosini yaratish uchun maxfiy kalit yo'q. Shunday qilib, Atbash shifridan foydalangan holda shifrlanganligi ma'lum bo'lgan shifrlangan matnni hisobga olsak, xabarni ushlab olgan har bir kishi uni osongina shifrini ochishi va yashirilishi kerak bo'lgan narsani olishi mumkin. Shunga qaramay, u kuzatuvchidan xabarlarni yashirishning juda tez va oddiy usulini ta'minlaydi va ahamiyatsiz xabarlarni shifrlash uchun muvaffaqiyatli ishlatilishi mumkin. Atbash shifrida mavjud bo'lgan yagona xavfsizlik chorasi turli xil ochiq matn alifbolaridan foydalanishdir. Masalan, oxirida o'nta raqamdan iborat ochiq matn alifbosidan (ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789) yoki eng keng tarqalgan tinish belgilariga ega alifbodan foydalaning. Bu ikkala alifbo ham shifrga biroz ko'proq xavfsizlik qo'shadi, lekin biz ko'rib turganimizdek, bu usullardan har qanday shifr uchun foydalanish mumkin. Tinish belgilari, bo'sh joy va 0-9 raqamlarini o'z ichiga olgan alifbo uchun shifrlangan matn alifbosi. Pigpen shifrlash Pigpen shifrlash almashtirish shifrining yana bir namunasidir, lekin har bir harfni boshqa harf bilan almashtirish o'rniga, harflar belgilar bilan almashtiriladi. Shifrning qiziqarli tarixi bor: uning asl kelib chiqishi noma'lum bo'lsa-da, u ko'plab guruhlar tomonidan qo'llanilgan. Eng mashhuri shundaki, bu shifr 18-asrning maxfiy jamiyati masonlar tomonidan ishlatilgan. Darhaqiqat, ular buni juda tez-tez ishlatganlar, ko'pincha uni masonik shifr deb atashadi. Biroq, u faqat ular tomonidan qo'llanilmagan: Konfederatsiya lagerlaridagi ittifoq mahbuslari Amerika fuqarolik urushi paytida muloqot qilish uchun foydalanganlar. Shifrlash Shifrlash jarayoni juda oddiy: har bir harf tegishli belgi bilan almashtiriladi. Belgilar harflarga quyida ko'rsatilgan tugma yordamida tayinlanadi, bu erda ko'rsatilgan harf o'rniga tasvirning bir qismi bo'ladi. Pigpen shifrining kaliti bu oson eslab qoladigan panjaradir. Harflar ular joylashgan panjara qismi bilan ifodalanadi. Shifrni ochish Shifrni ochish jarayoni shifrlash jarayonining teskarisidir. Xuddi shu kalitdan (yuqoridagi panjara) foydalanib, siz shifrlangan matnda tasvirlangan tasvirni topasiz va uni panjaraning ushbu qismi tomonidan berilgan harf bilan almashtirasiz. Muhokama Pigpen shifridan masonlar o'z hayotlarining ko'p jabhalarida foydalanganlar va bugungi kunda ham ko'rilgan eng keng tarqalgan shifrlardan biri qabr toshlarida uchraydi. Quyida "Pigpen" shifrini aniq ishlatadigan qabr toshining tasviri keltirilgan. Chap tomonda qabrning yaqindan tasviri bor, unda ramzlardan foydalanish aniq ko'rsatilgan. E'tibor bering, qabr toshining tepasida masonlar ramzlaridan biri bo'lgan kompas belgisi mavjud. Yozuvda shunday o'qiydi: "Tomas Brierli 1785 yil 16 iyulda mamlakatga kirdi", bu uning o'sha kuni masonlarga anglatadi. Pigpen shifrlash belgilari bilan mozor. qo'shilganligini Pigpen shifrining ko'plab variantlari mavjud (hatto yuqoridagi misolda ham "s" belgisi standart emas). Eng keng tarqalgan o'zgarishlar qatorni panjara, panjara, X, X dan to'rga, X, panjara, X ga (quyida ko'rsatilganidek) o'zgartirish yoki hatto harflarni katakchalarga navbatma-navbat joylashtirishni (Assasin's Creed II da qo'llanganidek) o'z ichiga oladi. . U s h Ushbu parametr harflarni joylashtirish b uchun Grid, X, Grid, X maketlaridan u foydalanadi. o z Pigpen shifrini biroz o'zgartirishning yakuniy usuli uchta to'rdan foydalanish g va oxirgi o'rinni egallash uchun nuqta yoki bo'sh joydan foydalanishdir. Bunga misol a quyida keltirilgan. r i s h d a h a r f Yana bir variant, bu safar uchta panjara yordamida. Bo'shliqlar yoki nuqtalar uchun ishlatilishi mumkin bo'lgan yakuniy belgi mavjud. Savollar Ushbu matematik so'zlarning shifrini ochish uchun standart Pigpen shifridan foydalaning. Affin shifri - bu monoalfavit almashtirish shifrining yana bir namunasidir. Bu erda uchraydigan boshqa misollardan biroz farq qiladi, chunki shifrlash jarayoni sezilarli darajada matematik. Butun jarayon ish moduliga m (ishlatiladigan alifbo uzunligi) tayanadi . To'g'ri matnli harflar bo'yicha hisob-kitoblarni amalga oshirib, biz ochiq matnni shifrlaymiz. Shifrlash jarayoni Shifrlash jarayonidagi birinchi qadam ochiq matn alifbosidagi har bir harfni 0 dan m -1 oralig'idagi mos keladigan butun songa aylantirishdir . Bu amalga oshirilganda, har bir harf uchun shifrlash jarayoni tomonidan beriladi E( x ) = ( ax + b ) mod m bu erda a va b shifr uchun kalit. Bu shuni anglatadiki, biz ochiq matn harfi uchun butun son qiymatini a ga ko'paytiramiz va natijaga b qo'shamiz . Nihoyat, biz ushbu modul m ni olamiz (ya'ni, eritma m ga bo'linganda qoldiqni olamiz yoki biz bu uzunlikdan kichikroq raqamni olmaguncha alifbo uzunligini olib tashlaymiz). Misol tariqasida, a = 5, b = 8 kalitlari yordamida ochiq matnli "affin shifr" ni shifrlaymiz. Birinchidan, biz ochiq matn alifbosidagi har bir harfning butun son q i y m 26 harfdan iborat alifbo uchun standart qiymatlar. E'tibor bering, biz 1 emas, a0 dan boshlaymiz. t To'g'ri matnli harflarning butun qiymatlari topilganda, keyingi qadam ushbu i qiymatlar bo'yicha hisob-kitoblarni amalga oshirishdir. Bunday holda, hisoblash n kerak (5x+8). Va nihoyat, barcha javoblarimiz 26-modda hisoblanganligiga ishonch i h o t s o i p l i s q a = 5, b = 8 bo'lgan affin shifr. Biz harflarning qiymatlarini ishlab chiqamiz, keyin raqamlarni harflarga qaytarishdan oldin hisob-kitoblarni qilamiz. Shunday qilib, ishlab chiqarilgan shifrlangan matn "IHHWVC SWFRCP" dir. Shifrni ochish Shifrlangan matnni ochishda biz ochiq matnni olish uchun shifrlangan matnda qarama-qarshi (yoki teskari) funktsiyalarni bajarishimiz kerak. Yana bir bor, birinchi qadam shifrlangan matn harflarining har birini butun son qiymatlariga aylantirishdir. Endi har bir butun son bo'yicha quyidagi hisob-kitobni bajarishimiz kerak D( x ) = c ( x - b ) mod m Bu erda c - a ning modulli multiplikativ teskarisi . Ya'ni, a x c = 1 mod m ( c - shunday raqamki, a ni unga ko'paytirsangiz va alifbo uzunligini olib tashlasangiz, 1 ga erishasiz). Misolimizni davom ettirib, biz a = 5, b = 8 kaliti yordamida "IHHWVC SWFRCP" shifrlangan matnning shifrini hal qilamiz . 105 = 1 mod 26, 26 x 4 = 104 va 105 - 104 = 1). Endi biz shifrlangan matnning butun qiymatlari bo'yicha teskari hisoblarni bajarishimiz kerak. Bu holda 21( y - 8) da hisoblash . Yana bir bor, biz ushbu modul 26 javoblarini olishimiz va nihoyat butun sonlarni ochiq matnli h a r f l a r g a a = 5, b = 8 kaliti uchun shifrni ochish jarayoni. Biz birinchisining teskarisini topishimiz kerak edi, bu 21. Biz "affin shifr" ning ochiq matnini olamiz. Muhokama Shifrlash va shifrni ochishning, ayniqsa katta hajmdagi xabarlar uchun, ehtimol oddiyroq usuli, ochiq matn alifbosining har bir harfida shifrlash jarayonidan foydalangan holda shifrlangan matn alifbosini yaratishdir. Keyinchalik bu ochiq m a t n n i n a = 5, b = 8 kalitli Affin shifri uchun shifrlangan matn alifbosi. Affin shifri-ning o'ziga xos xususiyatlaridan biri shundaki, barcha kalitlar ishlamaydi g a = 4 va b = 5 kalitini ishlatishda qanday muammo bor? h Bu kalit bitta shifrlangan matn harfiga bir nechta ochiq matnli harflar a shifrlangan vaziyatni yaratadi (masalan, ikkala “e” va “r” shifrlashdan “V” ga r yuqorida). Bu shuni anglatadiki, shifrni ochish haqida gap ketganda, qabul qiluvchi ochiq matn harflaridan qaysi biri ishlatilganligini bila olmaydi. Shubhasiz, bu Affin b shifri-dan foydalanishda katta muammo va kalitni ehtiyotkorlik bilan tanlash juda i muhimdir. r Xuddi shu muammoga ega bo'lgan boshqa kalitlarni topa olasizmi? a Bu muammo a ning multiplikativ teskari moduli mavjud emasligi sababli yuzaga keladi m . Ya'ni, 1 modul 26 ni olish uchun 4 ga ko'paytirilishi mumkin l bo'lgan bir nechta raqam mavjud. o h Berilgan m va a uchun teskari mavjudligini tekshirishning tezkor usuli mavjud i(guruh nazariyasi deb ataladigan ilg'or matematika mavzusiga tayangan holda). d a Modulning teskarisi m ning teskarisi a va m ko‘paytma bo‘lgan taqdirdagina mavjud bo‘ladi (ya’ni ularning 1 dan boshqa umumiy omili yo‘q). Demak, a = 4 m = 26 bo'lganda ishlamaydi , chunki ularning umumiy koeffitsienti 2 ga teng (2 ta 4, ham 26 ga kiradi), lekin a = 5 ishlaydi, chunki 5 va 26 ko'paytiriladi. Shuningdek, biz Affin shifri uchun barcha mumkin bo'lgan kalitlarni hisoblashimiz mumkin. Standart alifboda 26 dan kichik 12 ta raqam mavjud bo'lib, ular 26 ga ko'paytiriladi va ularning har biri uchun b qiymati uchun 26 ta imkoniyat mavjud bo'lganligi sababli, bizda Affine uchun jami 12 x 26 = 312 ta mumkin bo'lgan kalit mavjud. Shifr. Mumkin bo'lgan kalitlarning nisbatan kam soni tufayli (buni keyinroq xavfsizroq shifrlar bilan solishtiramiz), Affin shifri, ayniqsa, kompyuterlar asrida, yana qo'pol kuchlar hujumiga moyil bo'lib qoladi va shuning uchun ayniqsa xavfsiz shifr emas. Shuni inobatga olgan holda, biz elementlarning tub soniga ega alifboni tanlash orqali shifrni biroz xavfsizroq qilishimiz mumkin (bundan buyon bizning tub raqamlarimizdan kichik bo'lgan barcha raqamlar, ta'rifga ko'ra, unga mos keladi). Shunday qilib, 31 ta elementdan iborat alifbomiz (26 harf, bo'sh joy va 4 tinish belgisi) bilan biz a uchun 30 ta mumkin bo'lgan qiymatga ega bo'lamiz va har safar b uchun 26 ta qiymatga egamiz va shuning uchun buning uchun 30 x 26 = 780 ta mumkin bo'lgan kalit mavjud. alifbo. Garchi bu standart alifboga qaraganda ancha xavfsiz kalitlar bo'lsa-da, hisoblash quvvati bilan biz bir necha daqiqa ichida qo'pol kuch hujumini (har qanday kalitni sinab ko'rish) amalga oshirishimiz mumkin. Affin shifrini moslashtirishning yana bir usuli - bu harflarning raqamlanishini o'zgartirish. Buni amalga oshirishning eng oddiy usuli (va ehtimol undan ham kutilgan usul) quyidagi jadvaldagi kabi “a”ni 1, “b”ni 2 va hokazolarni belgilashdir. Alifbodagi harflarga qiymatlarni belgilashning boshqa usuli. Bu ko'proq intuitiv bo'lsa-da, boshqa versiyadagi matematika osonroq va juda ko'p afzalliklarga ega. Bundan foydalanish harflarga qiymatlarni belgilashning odatiy usuli bilan solishtirganda aniq boshqacha natijalar beradi, ammo jarayon bir xil. Aralash alifbo shifrlash Aralash alifbo shifrlash monoalfavit almashtirish shifrining yana bir misolidir va uning ishlash printsipi allaqachon duch kelganlar bilan bir xil, faqat bitta usuldan tashqari. Farqi, yana shifrlangan matn alifbosini qanday yaratishimiz. Biz hozirgacha koʻrgan barcha boshqa shifrlardan (Atbash, Pigpen, Morse, Shift va Affine) farqli oʻlaroq, aralash alifbo shifrida kalit sifatida raqam ishlatilmaydi, balki kalit soʻz yoki parol iborasi ishlatiladi. Shifrlash Ushbu shifr yordamida har bir harfning qiymatlari bo'yicha matematik operatsiyani bajarish yoki oddiygina alifboni almashtirish o'rniga, biz shifrlangan matn alifbosi uchun tasodifiy tartibni yaratamiz. Quyidagi jadvalda shunday tasodifiy shifrlangan matn alifbolari ko'rsatilgan. Shifrlangan matn harflarining tartibi tasodifiy bo'lgan aralash shifrlangan matn alifbosi. Shubhasiz, har bir harf shifrlangan matn alifbosida bir marta va faqat bir marta paydo bo'lishini ta'minlash juda muhim, shuning uchun bitta shifrlangan matn harfiga ikkita ochiq matnli harf shifrlanmaydi. Shifrlangan matn alifbosini yaratishda shifrlash jarayoni monoalfavit almashtirish shifrining boshqa shakllaridan foydalanish bilan bir xil bo'ladi. Ya'ni, ochiq matnli harfning har bir hodisasi o'sha ochiq matnli harfga tayinlangan shifrlangan matn harfi bilan almashtiriladi. Yuqoridagi jadvalda ko'rsatilganidek, shifrlangan matn alifbosi harflarining mutlaqo tasodifiy tartibini yaratish mumkin bo'lsa-da, bu jo'natuvchidan ham, qabul qiluvchidan ham 26 ta harfdan iborat tasodifiy qatorni eslab qolishlarini talab qiladi: oson ish emas! Shu sababli, ko'pgina shifrlarda bo'lgani kabi, ko'pincha kalit so'z ishlatiladi. Ushbu kalit so'zdan foydalanib, shifrlangan matn alifbosi quyidagicha hosil bo'ladi: birinchi navbatda kalit so'z har qanday takroriy harflarga e'tibor bermasdan yoziladi, so'ngra alifboning qolgan harflari alifbo tartibida yoziladi. Masalan, "mono-alfavit" kalit so'zini oladigan bo'lsak, biz quyidagi jadvalda ko'rsatilgan alifbolarni olamiz. "Monoalfavit" kalit so'zi yordamida yaratilgan shifrlangan matn alifbosi. E'tibor bering, ikkinchi "o" harfi o'tkazib yuborilgan, chunki u allaqachon shifrlangan matn alifbosida mavjud. Ushbu misol takroriy harflarga e'tibor bermaslikni ko'rsatadi ("MONO" da ikkinchi "O" tushirilgan) va quyidagicha, hali paydo bo'lmagan alifboning qolgan qismi. Bu ham darhol tizimning zaifligini ko'rsatadi: bu misolda "u" "U" ga, "v" "V" ga shifrlangan va "z" ga qadar. Agar kalit so'zda ochiq matn alifbosi oxiridagi harflar bo'lmasa, bu muammo yuzaga keladi. Ushbu muammoni hal qilish uchun biz alifbo oxiridagi harf bilan kalit so'zni tanlashimiz mumkin. Yuqorida biz shifrlangan matn alifbosini yaratish uchun kalit so'z haqida gapirgan bo'lsak-da, foydalanilayotgan alifboda ko'rinmaydigan har qanday belgilarni (masalan, bo'shliqlar yoki tinish belgilarini) olib tashlagan holda kalit so'z iborasi yoki hatto jumladan ham foydalanishimiz mumkin. Dekodlash Ushbu turdagi boshqa shifrlarda bo'lgani kabi, shifrni ochish jarayoni shifrlash jarayoniga o'xshaydi. Birinchi qadam shifrlash jarayonidagi kabi shifrlangan matn alifbosini yaratishdir. Keyin biz teskarisini qilamiz: shifrlangan matn alifbosida shifrlangan matn harfini topamiz va uni mos keladigan ochiq matn harfi bilan almashtiramiz. Munozara Bu erda e'tiborga olish kerak bo'lgan birinchi narsa shundaki, harflardan foydalangan holda har bir monoalfavit almashtirish shifrlari aralash alifbo shifrining alohida holatidir. Atbash, siljish va affin shifrlari bu ancha kengroq shifrlar sinfining holatlaridir. Ularning har biri kalit so'z bo'yicha emas, balki ma'lum bir qoida bo'yicha shifrlangan matn alifbosini qayta tartiblash usulidir. Muhokama uchun navbatdagi masala - standart 26 harfli alifbodan foydalangan holda aralash alifbo shifrining mumkin bo'lgan kalitlari soni. Ba'zi oddiy matematika buni tushunishga yordam beradi. Biz birinchi navbatda shifrlangan matn alifbosining birinchi harfini tanlash uchun 26 ta variant mavjudligini tushunamiz. Endi ikkinchi harf uchun biz birinchi pozitsiya uchun tanlagan harfdan boshqa har qanday harfdan foydalanishimiz mumkin, shuning uchun ikkinchi pozitsiya uchun 25 ta variant mavjud. Uchinchi pozitsiya uchun biz birinchi yoki ikkinchi pozitsiyadagi harfdan tashqari har qanday harfni tanlashimiz mumkin va shuning uchun bu erda 24 ta variant mavjud. Shunday qilib, dastlabki uchta o'rin uchun 26 x 25 x 24 ta variant mavjud. Shu tarzda davom ettirsak, biz tezda ularning 26 tasi borligini aniqlaymiz! (26-faktorial, bu erda faktorial 26 dan kichik barcha butun sonlarni ko'paytirishni anglatadi) bu shifr uchun mumkin bo'lgan kalitlar. Bu tashqi ko'rinishi uchun aldamchi darajada yuqori raqam. Aslida: 26! = 403 291 461 126 605 635 584 000 000 Bu absurd darajada katta raqam. Agar er yuzidagi har bir odam (aytaylik, 8 milliard) soniyada bitta kalitni sinab ko'rsa, har bir mumkin bo'lgan kombinatsiyani sinab ko'rish uchun hali ham 1,598,536,043 (ya'ni bir yarim milliard) yil kerak bo'ladi. Shubhasiz, bunday shifrga qo'pol kuch bilan hujum qilish mumkin emas va shuning uchun aralash alifbo shifrini juda kuchli shifr deb taxmin qilish mumkin. Biroq, biz ko'rib turganimizdek, tarix davomida shifr yaratilganda, uni buzishga harakat qiladigan odamlar bor va har qanday monoalfavit almashtirish shifrini hech qanday qiyinchiliksiz buzish usuli mavjud.