1.2. Simmetrik oqimli shifrlar Oqimli simmetrik shifrlash algoritmlari bir martali bloknotga asoslangan, farqli jihati – bardoshligi yetarlicha pastligi va boshqariladigan kalitning mavjudligi. Ya’ni kichik uzunlikdagi kalitdan ochiq matn uzunligiga teng bo’lgan ketma-ketlik hosil qilinadi va undan bir martali bloknot sifatida foydalaniladi.
Oqimli shifr nbitli kalit K ni qabul qiladi va uni ochiq matnni uzunligiga teng bo’lgan ketma-ketlik S ga uzaytiradi Shifrmatn Cketma-ketlik S ochiq matn P bilan XOR amali yordamida hosil qilinadi. Bunda ketma-ketlikni qo’shish bir martali bloknotni qo’shish kabi amalga oshiriladi.
Oqimli shifrni quyidagicha sodda ko’rinishda yozish mumkin:
StreamCipher(K) = S Bu yerda K kalit, S esa natijaviy ketma-ketlik. Esda saqlash lozimki, bu yerdagi ketma-ketlik shifrmatn emas, balki bir martali bloknotga o’xshash oddiy qator.
Agar berilgan ketma-ketlik S= s0, s1, s2, … , va ochiq matn P= p0, p1,p2, … , berilgan bo’lsa, XOR amali yordamida shifrmatnning mos bitlari C= c0, c1, c2, … , ni quyidagucha hosil qilish mumkin.
c0=p0s0, c1=p1s1, c2=p2s2, … Shifrmatn C ni rasshifrovkalash uchun, yana ketma-ketlik C dan foydalaniladi:
p0=c0s0, p1=c1s1, p2=c2s2, … Jo’natuvchi va qabul qiluvchini bir xil oqimli shifrlash algoritmi va kalit K bilan ta’minlash orqali, ikkala tomonda bir xil ketma-ketliklarni hosil qilish mumkin. Biroq, natijaviy shifr kafolati xavfsizlikka ega bo’lmaydi va asosiy e’tibor amaliy jihatdan qo’llashga qaratiladi.
Oqimli shifrlash algoritmiga biz misol qilib A5/1 shifrlash algoritmini va yana RC4 shifrlash algoritmini keltirishimiz mumkin. Bular haqida esa hali mustaqil ishimiz davomida keng to’xtalamiz.