Affin kripototizimlari keng tarqalmagan o‘rniga qo‘yish usullari sanalib, bir alifboli shifrlash usullariga kiradi. Bu tizimlarga affin tizimidagi Sezar usuli, ROT13 va Atbash usullari kiradi.
Affin kripototizimlari keng tarqalmagan o‘rniga qo‘yish usullari sanalib, bir alifboli shifrlash usullariga kiradi. Bu tizimlarga affin tizimidagi Sezar usuli, ROT13 va Atbash usullari kiradi.
Affin tizimidagi Sezar usulida har bir harfga almashtiriluvchi harflar maxsus formula bo‘yicha aniqlanadi: E(x)=ax+b (modm), bu y erda a, b - butun sonlar bo’lib, kalitlar hisoblanadi, 0≤a, b
Deshifrlash jarayoni quyidagi formula asosida amalga oshiriladi:
D(E(x)) = a–1 (E(x) − b)modm. Bu yerda a–1 modm bo‘yicha a ga teskari bo‘lgan son.
Shifrlash. Ushbu usulda ma’lumotlarni shifrlash uchun “ATTACK AT DAWN” ochiq matni olinib, kalit sifatida a =3 va b=4 olindi. Alifbo uzunligi m=26 ga teng. Bu holda shifrlash funksifsining umumiy ko‘rinishi quyidagicha bo‘ladi: y =E(x) = (3x + 4)mod26. Yuqoridagi jadvalga asoslanib quyidagini olish mumkin:
Shifrlash. Ushbu usulda ma’lumotlarni shifrlash uchun “ATTACK AT DAWN” ochiq matni olinib, kalit sifatida a =3 va b=4 olindi. Alifbo uzunligi m=26 ga teng. Bu holda shifrlash funksifsining umumiy ko‘rinishi quyidagicha bo‘ladi: y =E(x) = (3x + 4)mod26. Yuqoridagi jadvalga asoslanib quyidagini olish mumkin:
Shifrlashning umumiy ko‘rinishi esa quyidagicha bo‘ladi:
Deshifrlashning umumiy ko‘rinishi esa: X*a mod m =1
Olingan alifbodagi barcha belgilarni shifrlash natijasi quyidagiga teng bo‘ladi.
Bigrammli akslantirish Affin shifri yordamida
Yuqoridagi usulda ochiq matnning har bir elementi alohida shifrlanardi. Ushbu akslantirishda esa ochiq matn elementlari juft, ya’ni ikkita-ikkita qilib olinib shifrlanadi. Agar ochiq matn elementlari toq bo‘lsa uning ohiriga belgi qo‘shish orqalai juft qilinadi, masalan “space”-“bo‘sh joy”.
Shifrlash jarayoni. Misol uchun ochiq ma’lumot (M) crypto so‘zini bigramm akslantirish orqali Affin shifri yordamida shifrlaymiz. Ochiq matn elementlarini son qiymatga o’giramiz crypto { 2 17 24 15 19 14 }. Dastlabki juftlikni “cr” olib uni bitta qiymat ko‘rinishiga keltiramiz. “cr { 2 17 }” qiymatga tengligidan quyidagilarni hisoblaymiz.
M=am+b, m=26 (alfavit uzunligi), M=a*m+b, a=2 (s -2); b=17(r-17); m=26; M=2*26+17=69. Dastlabki olingan juftlik P=69 bir qiymatga o‘zlashtirildi. Endi ushbu qiymatni Affin shifri yordamida shifrlaymiz. Affin shifrining shifrlash formulasidagi E(x)=ax+b (modm) m ni o‘rniga m2 ni olamiz E(x)=ax+b (modm2). a ni qiymati m bilan o‘zaro tub bo‘lishi kerak. Bizni misolda a=157, b=580, 𝑚2=676 ga teng. Bu qiymatlar orqli quyidagilarni hisoblaymiz.
M=am+b, m=26 (alfavit uzunligi), M=a*m+b, a=2 (s -2); b=17(r-17); m=26; M=2*26+17=69. Dastlabki olingan juftlik P=69 bir qiymatga o‘zlashtirildi. Endi ushbu qiymatni Affin shifri yordamida shifrlaymiz. Affin shifrining shifrlash formulasidagi E(x)=ax+b (modm) m ni o‘rniga m2 ni olamiz E(x)=ax+b (modm2). a ni qiymati m bilan o‘zaro tub bo‘lishi kerak. Bizni misolda a=157, b=580, 𝑚2=676 ga teng. Bu qiymatlar orqli quyidagilarni hisoblaymiz.
Dastlabki juftik qiymati C=597 ga teng bo’ldi. Ushbu qiymatdat shifr matn elementlarini ajratib olamiz.
597=22*26+25 tenglikdan kelib chiqadiki shifr matnning birinchi qiymati “22” ga ya’ni “w” harfiga, ikkinchi qiymat “25” ga ya’ni “z” ga teng. Demak qolgan belgilar shu tartibda bajariladi.
M=crypto { 2 17 24 15 19 14 }
C { 22 25 6 23 21 22 } = { w z g x v w }
Deshifrlash jarayoni.
Deshifrlash formulasi М = a–1 (С − b)𝑚𝑜𝑑m2 ga teng bo’lib, a= 157 tenligidan a–1 = 9, b=4 va m2 = 262 =676 ga teng bo‘ladi.
M= 157-1 (C-580) modm2 =521(597-580) mod m2 =8857 mod 676 = 69 Ushbu qiymatni alfavit uzunligiga bo’lib, ochiq matn elementi qiymatlarini ajratib olamiz. M=69=2*26+17, “2=c” hamda “17=r” ga tengligi kelib chiqadi.