61
shifrlarni yaratish murakkab muammo emas. Biroq, ham xavfsiz ham
samarali bo‘lgan simmetrik blokli shifrlarni yaratish –
san’at.
Simmetrik blokli shifrlarni yaratishda ko‘plab
tarmoqlardan
foydalaniladi. Quyidagi tarmoqlar amalda keng qo‘llaniladi:
1. Feystel tarmog‘i.
2. SP (Substitution – Permutation network) tarmoq.
3. Lai-Messey tarmog‘i.
Feystel tarmog‘i - aynan bir blokli shifr hisoblanmay, simmetrik
blokli shifrlashning umumiy tamoyili. Feystel tarmog‘iga ko‘ra ochiq
matn bloki
𝑃 ikkita teng chap va o‘ng qismlarga bo‘linadi:
𝑃 = (𝐿
0
, 𝑅
0
),
va har bir raund
𝑖 = 1,2, … , 𝑛, uchun yangi chap va o‘ng
tomonlar
quyidagi qoidaga ko‘ra hisoblanadi:
𝐿
𝑖
= 𝑅
𝑖−1
𝑅
𝑖
= 𝐿
𝑖−1
⨁𝐹(𝑅
𝑖−1
, 𝐾
𝑖
)
Bu yerda,
𝐾
𝑖
kalit
𝑖 – raund uchun
qismkalit (raund kaliti)
hisoblanadi. Qismkalitlar esa o‘z navbatida kalit
𝐾
dan biror kalitni
generatsiyalash algoritmi yordamida hisoblanadi. Yakuniy, shifrmatn
bloki
𝐶 oxirgi raund natijasiga teng bo‘ladi, ya’ni:
𝐶 = (𝐿
𝑛
, 𝑅
𝑛
).
Feystel tarmog‘ida rasshifrovkalash XOR amalining
“sehrgarligi”ga asoslanadi. Ya’ni,
𝑖 = 𝑛, 𝑛 − 1, … ,1 lar uchun quyidagi
tenglik amalga oshiriladi:
𝑅
𝑖−1
= 𝐿
𝑖
𝐿
𝑖−1
= 𝑅
𝑖
⨁𝐹(𝑅
𝑖−1
, 𝐾
𝑖
)
Oxirgi
raund natijasi, rasshifrovkalangan matnni beradi:
𝑃 = (𝐿
0
, 𝑅
0
).
Feystel tarmog‘ida har bir raundda foydalaniluvchi
𝐹
funksiyasining qaytariluvchi (teskari funksiyasiga ega) bo‘lishi
talab
etilmaydi. Biroq, olingan har qanday
𝐹 funksiya to‘liq xavfsiz bo‘la
olmaydi. Simmetrik blokli shifrlarga AES, DES, GOST R 28147-89,
O‘z Dst 1105:2009, IDEA, Blowfish va h.k. misol bo‘la oladi.