matnga va teskari yo‘nalishda almashtirishda Q o‘shBosqichKalit()
almashtirishini bajarish uchun foydalaniladi; mazkur almashtirish
kirishi chiziqli seans-bosqich kaliti massivi kse, chiqishi bayt
sathida berilgan ikki o ‘lchamli Ke[8,4] massividir;
■
Q o‘shBosqichKalit() - oddiy shifralmashtirish bo‘lib,
dastlabki matnni shifrmatnga va teskari yo‘nalishda
Holat va
bosqich kaliti massivi Ke elementlari ustida istisnoli YoKI (2
moduli bo‘yicha bitlab qo‘shish) amalini bajarishdan iborat; mazkur
shifralmashtirish kirishi bayt sathida Holat massivi, Ke massivi
bo‘lib, chiqishi bayt sathida Holat massividir;
■
Q o‘shHolat() - oddiy shifralmashtirish bo‘lib, shifrlash
bloklari ustida amalga oshiriladigan elektron kod kitobi rejimidan
boshqa rejimlarda dastlabki matnni shifrmatnga va teskari yo‘na-
lishda XOR amali ishtirokida foydalaniladigan almashtirish.
Shifrlash kriptografik modulini
ishga tushirishda avvalo, mo-
dulga shifrlash kaliti к va funksional kalit kf, o‘matilgan bosqichlar
soni e hamda rejim
m=ShBil uchun initsializasiyalash vektori IV
yuklanadi. Shuningdek, dastlabki matnni shifrmatnga almashtirish
rejimida
dastlabki matn, shifrmatnni dastlabki matnga almashtirish
rejimida esa shifrmatn kriptografik modulning
Holat massiviga
yuklanadi. Shifrlash jarayonining boshlanishida ShaklSeansKalit-
Bayt(k,kf), ShaklSeansKalit(Kst) va ShaklBosqichKalit(kse) ishga
tushiriladi. ShaklSeansKalitBayt(k,kf), ShaklSeansKalit(Kst) shifral-
mashtirishlari chiqishida bayt sathida
almashtirish massivlari va
diamatritsaviy qismlardan tarkib topgan seans kaliti massivlari
shakllantiriladi. Bu massivlar toki k, kf lar o ‘zgarmas b o iib qolar
ekan, keyingi seanslarda ham foydalanilaveradi. ShaklBosqichKalit-
(kse) shifralmashtirishi chiqishida boshlangich va har bir bosqich
uchun shakllantirilgan bosqich kalitlari to‘plami shakllantiriladi.
Elektron kod kitobi (Elektron kod kitobi) m=Ekk va shifr
bloklami ilaktirish (ShifrBloklami ilaktirish) m=ShBil
rejimlariga
tegishli psevdokod keltirilgan.
Aralash (Holat,Ks), BaytAlmash (Holat,Ba), Qo‘shBosqich-
Kalit (Holat,Ke), Sur (Holat) oddiy shifralmashtirishlari va
ShaklSeansKalitBayt(k.kf), ShaklSeansKalit(Kst), ShaklBosqich-
Kalit (kse) va Qo'shHolat (Holatt, Holat) almashtirishlari keyingi
bandda keltirilgan.
%
Shifrlash modulining dasturiy-apparatli shaklida funksional
kalit yangilash jarayonini ShaklSeansKalitBayt(k,kf), ShaklSeans-
Kalit (К.,), ShaklBosqichKalit(kse) almashtirish jarayonlari bilan
qo‘shib olib borish maqsadga muvofiqdir.
Unda shift protsedurasiga
ShaklSeansKalitBayt(k,kf),
ShaklSeansKalit
(Kst),
ShaklBosqichKalit(kse) natijalarini kiritish nazarda tutilishi lozim.
Shifrlash protsedurasining psevdokodi quyida keltirilgan:
Shift (int blok soni, byte IV[32], byte kirish [blok soni] [32],
byte chiqish [blok soni] [32], byte k[32], byte kf [32], byte e)
begin
byte ke [8, 4], Ks [8, 4],K e[8,4]
Holat [8, 4], Holatn [8, 4]
if (m=Sh)
ShaklSeansKalitBayt (k, kf)
ShaklSeansKalit (Kst)
ShaklBosqichKalit (kse)
for blok=l step 1 to blok soni
Holat=kirish[blok]
if (m=ShBil)
if (blok=l)
Holatn=IV
else
Holatn=chiqish[blok-1 ]
end if
Q o‘shHolat (Holat, Holatn)
end if
for
bosqich=l step 1 to e
Qo‘shBosqichKalit (Holat, Ke)
Aralash (Holat, Ks)
Sur (Holat)
BaytAlmash (Holat, Ba)
end for
Qo‘shBosqichKalit (Holat, Ke)
Aralash (Holat, Ks)
Chiqish [blok]=Holat
end for
else
97
ShaklSeansKalitBayt (к, kf)
ShaklSeansKalit (Kst)
ShaklBosqichKalit (kse)
forblok=l step 1 to blok soni
Holat=kirish [blok]
Aralash (Holat, Ks)
Qo‘shBosqichKalit (Holat, Ke)
for bosqich=l step 1 to e
BaytAlmash (Holat, Ba)
Sur (Holat)
Aralash (Holat, Ks)
Qo‘shBosqichKalit (Holat, Ke)
end for
if (m=ShBil)
if (blok=l)
Holatn=lV
else
Holatn=kirish[blok-1 ]
end if
Qo‘shHolat (Holat, Holatn)
end if
chiqish[blok]=Holat
end for
end if
end
Simmetrik shifrlashning barcha tizimlari quyidagi kamchilikl-
arga ega:
• axborot almashuvchi ikkala subyekt uchun maxfiy kalitni
uzatish kanalining ishonchliligi va xavfsizligiga qo‘yiladigan
talablaming qat’iyligi;
• kalitlami yaratish va taqsimlash xizmatiga qo‘yiladigan
talablaming yuqoriligi.
Sababi, o'zaro aloqaning «har kim - har kim bilan» sxemasida
««» ta abonent uchun «(«-1)/2
ta kalit talab etiladi, ya’ni kalitlar
sonining abonentlar soniga bog'liqligi kvadratli. Masalan, «=1000
abonent uchun talab qilinadigan kalitlar soni «(«-l)/2=499500. Shu
sababli, foydalanuvchilari yuz milliondan oshib ketgan «Internet»
98
tarm ogida simmetrik shifrlash tizimini qo‘shimcha usul va vosi-
talarsiz qo‘llashning iloji yo‘q.