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.
Dostları ilə paylaş: