406
Bu shifr uchun qo’pol kuch hujumi (brute-force attack) usuli barcha
variantlardan foydalanish orqali shifrlangan matnni dekodlashga harakat qilishdir.
Faqatgina 40,320 variantni o’zini (
k
=3 bo’lganida), shaxsiy kompyuterda tezkorlik
bilan amalga oshirish mumkin. Qo’pol kuch hujumiga qarshilik qilish uchun,
odatda blok shifrlari uchun kattaroq bloklardan foydalaniladi masalan
k
=64 bit
yoki undan ham kattaroqlaridan.
k
blok shifri uchun mumkin bo’lgan umumiy
variantlarning soni 2
k
! ga tengdir, xatto
k
ning (masalan
k=
64) o’rtacha qiymatlari
uchun astronomik hisoblanadi.
Garchi to’liq
jadvalli blok shifrlar, sal avval tasvirlanganidek,
k
ning
o’rtacha qiymatlari bilan mustahkam simmetrik kodlash sxemasini taqdim qiladi,
baxtga qarshi ularni qo’llash ancha qiyin.
k
= 64 uchun va berilgan variant uchun,
Alisa va Bob 2
64
kirish qiymatli jadvalni saqlashlari kerak bo’lardi, bu esa bajarib
bo’lmas vazifadir. Qo’shimcha qilib aytganda, Alisa va Bob kalitlarini
o’zgartirganlarida, ularning har biri jadvallarini qayta o’zgartirshga
majbur
bo’lardilar. Shunday qilib, barcha kirishlar va chiqishlar o’rtasida oldindan
belgilab olingan variantlarni taqdim etish uchun to’liq jadvalli blok shifri oddiydir.
Blok shifrlari odatiy funksiyalardan foydalanishni o’rniga, tasodifiy
o’zgargan jadvallarni simulyatsiya qiladi.
k
=64 bit uchun bunday funksiya
namunasi 30.5-rasmda ko’rsatilgan. Birinchidan funksiya 64 bitli blokni 8 ta
qismga bo’ladi, har bir qism 8 bitdan tashkil topgan. Har bir 64 bitli qism 8 bitdan
8 bitli jadvalga ishlov beradiki, u boshqarishli hajmga ega. Masalan, birinchi 8 bitli
qism T
1
jadval orqali qayta ishlanadi. Keyin, 8 ta chiquvchi qism (ajratilgan
bo’lak) 64 bitli blokka qayta yig’iladi. Blokdagi 64 bit keyin 64
bitli chiqishga
shifrlanadi. Bu chiqish 64 bitli kirishga qayta uzatiladiki, bunda boshqa sikl
boshlanadi.
n
ta shunday sikldan keyin, funksiya shifrlangan matnni 64 bitli blokni
taqdim qiladi.
Sikllarning maqsadi har bir kiruvchi bitni chiqishidagi bitlarga ta’sir
qilishini amalga oshirishdir. (Agar bitta sikl foydalanilgan bo’lsa, berilgan kirish
407
biti faqatgina 64 chiqish bitlarining 8 bitiga ta’sir qiladi.) Blokli shifrlash algoritmi
uchun kalit 8 o’zgaruvchili jadval bo’ladi.
Bugungi kunda AES (standing for Advanced Encryption Standard), DES
(standing for Data Encryption Standard) va 3DES algoritmlarini o’z ichiga olgan
bir qancha mashhur blokli shifrlar mavjud. Ularning har biri uchun o’zgartirilgan
jadvallarning o’rniga funksiyalar qo’llaniladi, 30.5-rasmda tasvirlanganidek (juda
murakkab bo’lsada, har bir shifr uchun maxsus).
Bu
algoritmlarning har biri, shuningdek, bitta kalit uchun bitlar ketma-
ketligidan foydalanadi. Masalan, DESda 56 bitli kalit bilan 64 bitli bloklar
ishlatiladi. AESda 128 bitli bloklar ishlatiladi hamda 128, 192 va 256 bit
uzunlikdagi kalitlar bilan faoliyat ko’rsatiladi. Algoritmni kaliti maxsus “kichik
jadval” variantlarini hamda algoritmni intervallaridagi o’zgarishlarni aniqlaydi.
Har bir shifrlar uchun qo’pol kuch hujumi barcha kalitlar orqali aylanadi va har bir
kalit bilan dekodlash algoritmi ham qo’llaniladi. NIST [NIST 2001] taxnimlariga
ko’ra, mashina 56 bitli DES kalitini bir
sekutda buzish qobiliyati ega, lekin 128
bitli AES kalitini buzish uchun mashinaga 149 trillion yil kerak bo’ladi.
30.5-rasm. Blokli shifrga
misol
408
Bugungi kunda AES (standing for Advanced Encryption Standard), DES
(standing for Data Encryption Standard) va 3DES algoritmlarini o’z ichiga olgan
bir qancha mashhur blokli shifrlar mavjud. Ularning har biri uchun o’zgartirilgan
jadvallarning o’rniga funksiyalar qo’llaniladi, 30.5-rasmda tasvirlanganidek (juda
murakkab bo’lsada, har bir shifr uchun maxsus). Bu algoritmlarning har biri,
shuningdek, bitta kalit uchun bitlar ketma-ketligidan foydalanadi. Masalan, DESda
56 bitli kalit bilan 64 bitli bloklar ishlatiladi. AESda 128 bitli bloklar ishlatiladi
hamda 128, 192 va 256 bit uzunlikdagi kalitlar bilan faoliyat ko’rsatiladi.
Algoritmni kaliti maxsus “kichik jadval” variantlarini hamda algoritmni
intervallaridagi o’zgarishlarni aniqlaydi. Har bir shifrlar uchun qo’pol kuch hujumi
barcha kalitlar orqali aylanadi va har bir kalit bilan dekodlash algoritmi ham
qo’llaniladi. NIST [NIST 2001] taxnimlariga ko’ra, mashina 56 bitli DES kalitini
bir sekutda buzish qobiliyati ega, lekin 128 bitli AES kalitini buzish uchun
mashinaga 149 trilion yil kerak bo’ladi.
Kompyuter tarmoqlari ilovalarida odatda uzun xabarlarni kodlash talab
qilinadi (yoki uzun ma’lumot oqimlarini). Agar xabarni oddiy
k
bitli bloklarga
bo’lish
orqali tasvirlanganidek, blok shifri va har bir blok uchun mustaqil
kodlashni qabul qilish oson, ammo muhum muammo yuzaga chiqadi. Buni bilish
uchun, ikki yoki ko’p matn bloklari aniq bo’lishi mumkin. Masalan, ikki yoki
undan ko’p bo’lgan bloklardagi matn “HTTP/1.1” bo’lishi mumkin. Bu aniq
bloklar uchun, albatta blok shifri bir xil bo’lishi mumkin. Tamroq hujumchilari,
qo’llanilgan kodlangan matnni yagona ishlatilgan
shifrdan aniqlab olsa, barcha
xabarlarni shifrini ochishi mumkin.
Shuning uchun ham, matn tasodifiy shifrlar orqali aralash kodlanadiki, shif
bloklari turli shifr blokida taqdim etiladi. Buni tushintirish uchun,