41
2.2.5. Blokli shifrlar rejimlari
Oqimli shifrlardan foydalanish juda ham sodda – ochiq matn (yoki shifrmatn)
uzunligiga teng bo’lgan kalitlar ketma-ketligi generasiya qilinadi va XOR amalida
bajariladi. Blokli shifrlardan foydalanish faqat bir blokni shifrlashda oson. Biroq,
bir nechta (ko’plab) bloklarni shifrlash qanday amalga oshiriladi? Javob esa, bir
qaraganda oson emas.
Faraz qilaylik, quyidagi ochiq matn bloklari berilgan bo’lsin:
𝑃𝑃
0
,
𝑃𝑃
1
,
𝑃𝑃
2
, …
O’zgarmas kalit
𝐾𝐾
uchun blokli shifr kodlar kitobi hisoblanadi. Sababi, blokli
shifrlar ochiq matn bloki va shifrmatn bloki o’rtasida o’zgarmas bog’lanishni
yaratadi. Kodlar kitobi kabi foydalaniluvchi blokli shifrlash rejimi bu –
elektron
kodlar kitobi (Electronic codebook mode, ECB)
rejimi. ECB rejimida quyidagi
formuladan foydalangan holda ma’lumotlar bloklari shifrlanadi:
𝑆𝑆
= 0,1,2, … lar uchun
𝐶𝐶
𝑖𝑖
=
𝐿𝐿
(
𝑃𝑃
𝑖𝑖
,
𝐾𝐾
)
Deshifrlash uchun esa quyidagi formuladan foydalaniladi:
𝑆𝑆
= 0,1,2, … lar uchun
𝑃𝑃
𝑖𝑖
=
𝑀𝑀
(
𝐶𝐶
𝑖𝑖
,
𝐾𝐾
)
Ushbu yondashuv asosida blokli shifrlarni samarali amalga oshirsa bo’ladi.
Biroq, mazkur yondashuvda jiddiy xavfsizlik muammosi mavjud.
Faraz qilaylik, ECB rejimdan foydalangan holda ma’lumot shifrlandi va
tarmoq orqali uzatildi. Uzatish davomida hujumchi ularni
tutib oldi va shifrmatn
bloklari orasidan ikkitasining bir-biriga tengligini (
𝐶𝐶
𝑖𝑖
=
𝐶𝐶
𝑗𝑗
)
aniqladi. Natijada
hujumchi aniqlagan shifrmatn bloklariga mos ochiq matn bloklari ham bir-biriga
teng bo’ladi
𝑃𝑃
𝑖𝑖
=
𝑃𝑃
𝑗𝑗
. Albatta ushbu holat shifrmatnni topish uchun yetarli
bo’lmasada, bir shifrmatn blokiga mos kelgan qolgan bloklarni aniqlash
imkoniyatini beradi. Bunday hollarda hujumchi haqiqatan
𝑃𝑃
𝑖𝑖
yoki
𝑃𝑃
𝑗𝑗
ochiq matn
bloklarini
aniqlay olmasada, unga aloqador ba’zi ma’lumotni oshkor etadi. Mazkur
holat grafik orqali tasvirlanganda 15-rasmda ko’rsatilganidek bo’ladi [13].
Boshqacha aytganda, rasmning chap tomonidagi tasvirning o’xshash har bir bloki
o’ng qismida ham bir xil shifrmatn blokiga almashgan. Mazkur holda hujumchining
42
shifrmatndan foydalangan holda ochiq matnni bashorat qilishi murakkab vazifa
emas.
15-rasm. ECB rejimida ma’lumotni shifrlash natijasi
Biroq, ECB rejimida shifrlash va deshifrlash amallarini paralellashtirish
imkoniyati mavjud va bu tezkorlikni oshiradi. Bundan tashqari
agar shifrmatnni
uzatish davomida bloklardan birining o’zgarishi faqat shu blokni natijasiga ta’sir
qiladi. Ya’ni, faqat shu blokni o’zi zararlanadi.
ECB rejimida mavjud muammolarni bartaraf etgan rejimlardan biri bu -
cipher block chaining
(CBC) rejimi. CBC rejimida bir blokdan chiqqan shifrmatn
keyingi ochiq matnni yashirish uchun foydalaniladi va shundan so’ng
shifrlash
amalga oshiriladi. Mazkur rejimda shifrlash formulasi quyidagicha:
𝑆𝑆
= 0,1,2, … lar uchun
𝐶𝐶
𝑖𝑖
=
𝐿𝐿
(
𝑃𝑃
𝑖𝑖
⨁𝐶𝐶
𝑖𝑖−1
,
𝐾𝐾
)
Deshifrlash funksiyasi esa quyidagicha bo’ladi:
𝑆𝑆
= 0,1,2, … lar uchun
𝑃𝑃
𝑖𝑖
=
𝑀𝑀
(
𝐶𝐶
𝑖𝑖
,
𝐾𝐾
)
⨁𝐶𝐶
𝑖𝑖−1
Birinchi blokni shifrlash uchun undan oldingi shifrmatn bloki bo’lmagani
uchun, boshlang’ich vektor deb ataluvchi (initialization vector, IV)
𝐿𝐿𝐼𝐼
dan
foydalaniladi va u mantiqiy tomondan
𝐶𝐶
−1
ga teng bo’ladi. Shifrmatn bloklari
maxfiy saqlanmagani bois unga analog bo’lgan
𝐿𝐿𝐼𝐼
ham maxfiy saqlanmaydi. Biroq,
𝐿𝐿𝐼𝐼
tasodifiy ravishda generasiya qilinishi shart.
𝐿𝐿𝐼𝐼
dan foydalangan holda, birinchi blokni shifrlash quyidagicha amalga
oshiriladi:
𝐶𝐶
0
=
𝐿𝐿
(
𝑃𝑃
0
⨁𝐿𝐿𝐼𝐼
,
𝐾𝐾
)
.
43
Mos holda birinchi blokni deshifrlash esa quyidagicha amalga oshiriladi:
𝑃𝑃
0
=
𝑀𝑀
(
𝐶𝐶
0
,
𝐾𝐾
)
⨁𝐿𝐿𝐼𝐼
.
CBC rejimida ma’lumotlarni shifrlash ECB rejimidan
farqli ravishda bir xil
ochiq matn bloklari turli shifr matn bloklariga almashinadi. Mazkur holat grafik
orqali tasvirlanganda 16-rasmda ko’rsatilgandek bo’ladi [13].
16-rasm. CBC rejimida shifrlash natijasi
Agar CBC rejimidan foydalanib shifrlangan ma’lumotni uzatish davomida
biror bitga o’zgarish bo’lsa, yakuniy holat qanday bo’ladi (hozirda bunday holatlar
kam uchraydi)? Faraz qilaylik, shifrmatnning
𝐶𝐶
𝑖𝑖
bloki zararlandi:
𝐶𝐶
𝑖𝑖
=
𝐺𝐺
.
U holda
𝑃𝑃
𝑖𝑖
≠ 𝑀𝑀
(
𝐺𝐺
,
𝐾𝐾
)
⨁𝐶𝐶
𝑖𝑖−1
va
𝑃𝑃
𝑖𝑖+1
≠ 𝑀𝑀
(
𝐶𝐶
𝑖𝑖+1
,
𝐾𝐾
)
⨁𝐺𝐺
Biroq,
𝑃𝑃
𝑖𝑖+2
=
𝑀𝑀
(
𝐶𝐶
𝑖𝑖+2
,
𝐾𝐾
)
⨁𝐶𝐶
𝑖𝑖+1
va qolgan bloklar to’g’ri deshifrlanadi. Ya’ni, bir blokning
zararlanishi ikkita
blokga ta’sir ko’rsatadi. Undan keyingi bloklar esa o’zgarmas saqlanadi.
Simmetrik blokli shifrlash algoritmlari oqimli shifrlash algoritmlariga
qaraganda yuqori hisoblash imkoniyatini talab etadi va shunga mos ravishda yuqori
bardoshlikni ta’minlaydi. Simmetrik blokli shifrlash algoritmlari oqimli shifrlar kabi
ma’lumot konfidensialligini ta’minlash uchun foydalaniladi. Bundan
tashqari, blokli
shifrlardan autentifikasiya masalalarida, ma’lumot yaxlitligini ta’minlashda keng
qo’llaniladi.