1.2.3 GOST 28147-89 shifrlash standarti Shifrlash standarti GOST 28147-89 apparat va dasturiy ta'minotni amalga oshirish uchun mo'ljallangan, kriptografik talablarga javob beradi va himoyalangan ma'lumotlarning maxfiyligi darajasiga cheklovlar qo'ymaydi. GOST 28147-89 tomonidan aniqlangan ma'lumotlarni shifrlash algoritmi 256-bitli 64-bitli blok algoritmidir.
Shifrlanadigan ma'lumotlar 64 bitli bloklarga bo'linadi. Ushbu bloklar ikkita kichik bloklarga bo'lingan Nx va N2 Har biri 32 bit. Subblock / V ma'lum bir tarzda qayta ishlanadi, undan so'ng uning qiymati pastki blok qiymatiga qo'shiladi N2 (qo'shimcha 2-modul bilan amalga oshiriladi, ya'ni XOR mantiqiy operatsiyasi qo'llaniladi - "eksklyuziv yoki"), keyin subbloklar almashtiriladi. Ushbu transformatsiya algoritmning ishlash rejimiga qarab ma'lum bir necha marta ("dumaloqlar") - 16 yoki 32 marta amalga oshiriladi.Har bir turda ikkita operatsiya o'tkaziladi.Birinchi operatsiya tugmachani qoplashdir. Subblock / V tarkibiga 2 32 moduli qo'shilib, kalitning 32 bitli qismi qo'shiladi K x.To'liq shifrlash kaliti 32-bitli pastki tugmachalarning birikmasi sifatida ifodalanadi: K0, K1, K2, K3, K4, K5, K6, K7. Shifrlash jarayonida dumaloq raqamga va algoritmning ishlash rejimiga qarab ushbu pastki kalitlardan biri ishlatiladi.
Ikkinchi operatsiya - stolni almashtirish. Kalitni ustiga qo'ygandan so'ng, pastki birlik N ( 4 bitli 8 qismga bo'linadi, ularning har birining qiymati pastki blokning ushbu qismi uchun almashtirish jadvaliga muvofiq almashtiriladi. Keyin kichik blok 11 bitga chapga siljiydi.
Jadvalni almashtirish. 5-quti (Almashinish qutisi) ko'pincha zamonaviy shifrlash algoritmlarida qo'llaniladi, shuning uchun bunday operatsiya qanday tashkil etilganligini tushuntirishga arziydi.
5-qutini almashtirish bloki sakkizta almashtirish tugunidan iborat (5 ta almashtirish bloklari). O'rnini bosish blokiga kelish S 32 bitli vektor ketma-ket 4 bitli vektorlarga bo'linadi, ularning har biri mos keladigan tugun tomonidan 4 bitli vektorga aylantiriladi. Har bir almashtirish tuguni 0000 ... 1111 oralig'idagi 16 ta 4-bitli ikkilik raqamlarni almashtirish jadvali sifatida ifodalanishi mumkin. Kirish vektori jadvaldagi satrning manzilini bildiradi va bu qatordagi raqam chiqish vektori hisoblanadi. Keyin 4-bitli chiqish vektorlari ketma-ket 32-bitli vektorga birlashtiriladi. O'zgartirish tugunlari (almashtirish jadvallari) - bu kompyuter tarmog'i uchun umumiy bo'lgan va kamdan-kam o'zgarib turadigan asosiy elementlar. Ushbu almashtirish tugunlari sir saqlanishi kerak.
GOST 28147-89 tomonidan belgilangan algoritm to'rtta ish rejimini ta'minlaydi: oddiy almashtirish, geribildirim bilan gamma, gamma va simulyatorlar avlodi. Ular yuqorida tavsiflangan bir xil shifrlash transformatsiyasidan foydalanadilar, ammo rejimlarning maqsadi turlicha bo'lganligi sababli, bu konvertatsiya ularning har birida turli yo'llar bilan amalga oshiriladi.
GOST 28147-89 algoritmi juda mustahkam algoritmdir - hozirda uni oshkor qilish uchun yuqorida aytib o'tilgan "qo'pol kuch" usulidan samarali usullar taklif qilinmagan. Uning yuqori xavfsizligiga birinchi navbatda kalitning katta uzunligi - 256 bit tufayli erishiladi. Yashirin sinxronlash xabaridan foydalanganda samarali kalit uzunligi 320 bitgacha oshiriladi va almashtirish jadvalining maxfiyligi qo'shimcha bitlarni qo'shadi. Bundan tashqari, kriptografik kuch transformatsiyalar turlarining soniga bog'liq bo'lib, ulardan GOST 28147-89 bo'yicha 32 bo'lishi kerak (kirish ma'lumotlarining dispersiyasining to'liq samarasi 8 turdan so'ng erishiladi).