Guruh talabasi G’ulomov G’olibjonning “Kiberxavfsizlik asoslari” fanidan mustaqil ishi


Download 1.62 Mb.
Pdf ko'rish
bet5/6
Sana18.12.2022
Hajmi1.62 Mb.
#1027462
1   2   3   4   5   6
Bog'liq
kiber 2

 
delta = 0
𝑥9𝑒3779𝑎9 
 
for I=1 dan 32 gacha 
 
 
sum = sum + delta
 
 
L = L + (((R<<4) + K[0])(R + sum)((R>>5) + K[1]))
 
 
 
R = R + (((L<<4) + K[2])
(L + sum)((L>>5) + K[1])) 
Keyingi I 
Shifrmatn = (L,R). 
Bu yerda “≪” amali sonni chapga surish amali va “≫” amali uni o’nga surish 
amali hisoblanadi. Masalan, ikkilik ko’rinishdagi bir baytli son “10110101” ga teng 
bo’lsa, u holda ushbu sonni chapga 4 birlik surish natijasi “01010000” ga teng bo’ladi. 
Ushbu sonni 5 birlik o’nga surish natijasi esa “00000101” ga teng bo’ladi. 
TEA algoritmi Feystel tarmog’iga asoslanmagan bo’lsada (Feystel tarmog’ida 
shifrlash va deshifrlash funksiyalari bir xil bo’ladi), deshifrlashda XOR amali o’rniga 
qo’shish yoki bo’lish amallaridan foydalanilmaydi. TEA algoritmining deshifrlash 
funksiyasi quyida keltirilgan. 


 
(
𝐾[0], 𝐾[1], 𝐾[2], 𝐾[3]) = 128 bitli kalit
(
𝐿, R) = ochiq matn bloki (64 bit)
 
delta = 0
𝑥9𝑒3779𝑎9 
 
for I=1 dan 32 gacha 
 
 
R = R - (((L<<4) + K[2])(L + sum)((L>>5) + K[3])) 
 
 
L = L - (((R<<4) + K[0] )(R + sum)((R<<5 + K[1])) 
 
 
sum = sum - delta 
keyingi I 
ochiq matn = (L,R
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: P
0
, P
1
, P
2
, … 
O’zgarmas kalit K 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 shifrlanadi:
i = 0,1,2, …  lar uchun Ci = E(Pi, K) 
Deshifrlash uchun esa quyidagi formuladan foydalaniladi: 
i = 0,1,2, …  lar uchun Pi = D(Ci, K) 
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 bloklari 
orasidan ikkitasining bir-biriga tengligini ( 
𝐶i = 𝐶j) aniqladi. Natijada tarmoq orqali 


uzatildi. Uzatish davomida hujumchi ularni tutib oldi va shifrmatn hujumchi aniqlagan 
shifrmatn bloklariga mos ochiq matn bloklari ham bir-biriga teng bo’ladi 
𝑃
i

𝑃
j

Albatta ushbu holat shifrmatnni topish uchun yetarli bo’lmasada, bir shifrmatn blokiga 
mos kelgan qolgan bloklarni aniqlash imkoniyatini beradi. Bunday hollarda hujumchi 
haqiqatan 
𝑃
i
yoki 
𝑃
j
ochiq matn bloklarini aniqlay olmasada, unga aloqador ba’zi 
ma’lumotni oshkor etadi. Mazkur holat grafik orqali tasvirlanganda 6-rasmda 
ko’rsatilganidek bo’ladi. Boshqacha aytganda, rasmning chap tomonidagi tasvirning 
o’xshash har bir bloki o’ng qismida ham bir xil shifrmatn blokiga almashgan. Mazkur 
holda hujumchining shifrmatndan foydalangan holda ochiq matnni bashorat qilishi 
murakkab vazifa emas. 
 
6
-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: 


i = 0,1,2, …  lar uchun Ci = E(PiCi-1, K) 
 
Deshifrlash funksiyasi esa quyidagicha bo’ladi: 
i = 0,1,2, …  lar uchun Pi = D(Ci,K)Ci-1 
Birinchi blokni shifrlash uchun undan oldingi shifrmatn bloki bo’lmagani 
uchun, boshlang’ich vektor deb ataluvchi (initialization vector, IV) IV dan 
foydalaniladi va u mantiqiy tomondan 
𝐶
−1 
ga teng bo’ladi. Shifrmatn bloklari maxfiy 
saqlanmagani bois unga analog bo’lgan IV ham maxfiy saqlanmaydi. Biroq, IV 
tasodifiy ravishda generasiya qilinishi shart.
IV dan foydalangan holda, birinchi blokni shifrlash quyidagicha amalga oshadi: 
C
0
 = E(P
0
IV,K

Mos holda birinchi blokni deshifrlash esa quyidagi chaamalga oshiriladi:
𝑃

= D(C
0
,K)IV,
𝐾𝐾)𝐿𝐿𝐼𝐼. 
 
CBC rejimida ma’lumotlarni shifrlash ECB rejimidan farqli ravishda bir xil 
ochiq matn bloklari turli shifr matn bloklariga almashinadi. Mazkur holat grafik orqali 
tasvirlanganda 7-rasmda ko’rsatilgandek bo’ladi.
16-rasm. CBC 
rejimida 
shifrlash 
natijasi 



Download 1.62 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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