Sergey Panasenko,
"Ankad" kompaniyasining dasturiy ta'minotni ishlab chiqish bo'limi boshlig'i,
develop@ancud.ru
Asosiy tushunchalar
Ochiq ma'lumotlarni shifrlangan va aksincha aylantirish jarayoni odatda shifrlash deb ataladi va bu jarayonning ikkita tarkibiy qismi, mos ravishda, shifrlash va dekrytratsiya deb ataladi. Matematik jihatdan, bu o'zgarishni dastlabki ma'lumotlar bilan harakatlarni tavsiflovchi quyidagi bog'liqliklar ifodalaydi:
C \u003d Ek1 (M)
M "\u003d Dk2 (C),
bu erda M (xabar) ochiq ma'lumotlar (axborot xavfsizligi adabiyotlarida ko'pincha "manba matn" deb nomlanadi);
C (shifrli matn) - shifrlash natijasida olingan shifrlangan matn (yoki kriptogramma);
E (shifrlash) - manba matnida kriptografik o'zgarishlarni amalga oshiradigan shifrlash funktsiyasi;
k1 (key) - shifrlash kaliti deb nomlangan E funktsiyasining parametri;
M "- shifrlash natijasida olingan ma'lumotlar;
D (parolni echish) - shifrlangan matn orqali teskari shifrlash kriptografik o'zgarishlarini amalga oshiruvchi dekrytratsiya funktsiyasi;
k2 - axborotni shifrlash uchun ishlatiladigan kalit.
GOST 28147-89 standartidagi "kalit" tushunchasi (nosimmetrik shifrlash algoritmi) quyidagicha aniqlanadi: "ushbu algoritm uchun barcha mumkin bo'lgan o'zgarishlardan iborat bo'lgan bitta transformatsiyani tanlashni ta'minlaydigan kriptografik o'zgartirish algoritmining ba'zi parametrlarining o'ziga xos maxfiy holati." Boshqacha qilib aytganda, kalit shifrlash algoritmi natijalarini o'zgartirish uchun ishlatilishi mumkin bo'lgan noyob elementdir: turli xil tugmachalarni ishlatganda bir xil manba matni turli yo'llar bilan shifrlanadi.
Shifrni ochish natijasi asl xabar bilan mos kelishi uchun (ya'ni M "\u003d M uchun) ikkita shart bir vaqtning o'zida bajarilishi kerak. Birinchidan, D shifrlash funktsiyasi E shifrlash funktsiyasiga to'g'ri kelishi kerak. shifrlash kaliti k1.
Agar shifrlash uchun kriptografik jihatdan kuchli algoritm ishlatilgan bo'lsa, unda k2 to'g'ri kaliti mavjud bo'lmaganda, M "\u003d M olish mumkin emas. Kriptografik kuchlanish shifrlash algoritmlarining asosiy xarakteristikasi bo'lib, birinchi navbatda k2 kalitisiz asl matnni shifrlangan holda olish qiyinligini ko'rsatadi.
Shifrlash algoritmlarini ikki toifaga bo'lish mumkin: nosimmetrik va assimetrik shifrlash. Birinchisi uchun, shifrlash va dekodlash kalitlarining nisbati k1 \u003d k2 \u003d k (ya'ni E va D funktsiyalari bir xil shifrlash kalitidan foydalanadi) sifatida aniqlanadi. Asimmetrik shifrlashda k1 shifrlash kaliti k2 tugmachasi yordamida teskari konversiya mumkin bo'lmagan tarzda hisoblanadi, masalan, k1 \u003d ak2 mod p (a va p formulalari ishlatilgan algoritmning parametrlari).
Simmetrik shifrlash
Simmetrik shifrlash algoritmlari qadimgi davrlardan beri o'z tarixiga ega: bu Rim imperatori Gay Yuliy Tsezar tomonidan miloddan avvalgi I asrda foydalangan ma'lumotni yashirish usuli. e. ”va u ixtiro qilgan algoritm" Qaysarning kriptosistemasi "nomi bilan tanilgan.
Hozirgi kunda eng mashhuri 1977 yilda ishlab chiqilgan DES (Data Encryption Standard) nosimmetrik shifrlash algoritmi. Yaqin vaqtgacha u "AQSh standarti" edi, chunki o'sha mamlakat hukumati undan ma'lumotlarni turli xil shifrlash tizimlarida foydalanishni tavsiya qilgan edi. Dastlab DES 10-15 yil ichida ishlatilishi rejalashtirilganligiga qaramay, uni almashtirishga urinishlar faqat 1997 yilda boshlandi.
Biz DESni batafsil ko'rib chiqmaymiz (qo'shimcha materiallar ro'yxatidagi deyarli barcha kitoblar eng batafsil tavsifga ega), lekin zamonaviyroq shifrlash algoritmlariga murojaat qilamiz. Shuni ta'kidlash kerakki, shifrlash standartini o'zgartirishning asosiy sababi bu nisbatan zaif kriptografik kuchdir, buning sababi DES kalitining uzunligi atigi 56 ta muhim bit. Ma'lumki, har qanday kriptografik kuchli algoritm shifrlash kalitlarining barcha mumkin bo'lgan variantlarini (shafqatsiz kuch hujumi) ko'rib chiqish orqali sindirib tashlanishi mumkin. Har bir soniyasiga 1 million kalitni hisoblab chiqaradigan 1 million protsessordan iborat klaster deyarli 20 soat ichida 256 DES kalitini tekshiradi, deb hisoblash juda oson va bunday hisoblash kuchi bugungi standartlarga muvofiq juda real bo'lgani uchun, 56 bitli kalit juda qisqa ekanligi aniq. va DES ni kuchliroq bilan almashtirish kerak.
Bugungi kunda zamonaviy zamonaviy kriptografik kuchli shifrlash algoritmlari tobora ko'proq foydalanilmoqda: mahalliy standart GOST 28147-89 va AQShning yangi kripto standarti - AES (Advanced Encryption Standard).
GOST 28147-89 standarti
GOST 28147-89 tomonidan aniqlangan algoritm (1-rasm) 256 bit uzunlikdagi shifrlash kalitiga ega. U 64 bitli bloklarda ma'lumotlarni shifrlaydi (bunday algoritmlar blok algoritmlari deb ataladi), keyinchalik 32 bit (N1 va N2) ikkita pastki bloklarga bo'linadi. Sub1 blokirovka N1 ma'lum bir usulda qayta ishlanadi, shundan so'ng uning qiymati N2 subblock qiymatiga qo'shiladi (qo'shimcha ravishda 2-modul, ya'ni bajariladi). mantiqiy operatsiya XOR - "eksklyuziv yoki"), so'ngra pastki bloklar almashtiriladi. Ushbu konvertatsiya algoritmning ishlash rejimiga qarab, bir necha marta ("tur"): 16 yoki 32 marta amalga oshiriladi. Har bir turda ikkita operatsiya amalga oshiriladi.
Birinchisi, kalitlarning ustki qismi. N1 pastki blok tarkibiga Kx tugmachasining 32-bitli qismi bilan 2 modul qo'shilgan. To'liq kalit shifrlash 32 bitli kichik kalitlarning biriktirilishi sifatida berilgan: K0, K1, K2, K3, K4, K5, K6, K7. Shifrlash jarayonida algoritmning yumaloq raqami va ishlash rejimiga qarab, ushbu pastki kalitlardan biri ishlatiladi.
Ikkinchi operatsiya - stolni almashtirish. Kalit qo'llanilgandan so'ng, N1 pastki blok 4 bitning 8 qismiga bo'linadi, ularning har birining qiymati pastki blokning ushbu qismi uchun almashtirish jadvaliga muvofiq o'zgartiriladi. Keyin pastki blok bir oz chap tomonga 11 bit bilan o'zgartiriladi.