Simmetrik blokli shifrlash algoritmlari - ma'lumotni bitta blokdan boshqa blokka o'tkazish orqali shifrlash va deshifrlashni amalga oshiradigan algoritmlardir. Bu turlar quyidagi kabi eng mashhur algoritmlarni o'z ichiga oladi: AES, DES, 3DES, Blowfish, Twofish, RC5, CAST-128, IDEA, SEED va qo'shimcha algoritmlar.
DES (Data Encryption Standard) shifrlash algoritmi, 1977 yilda National Institute of Standards and Technology (NIST) tomonidan ishlab chiqilgan, shifrlashning simmetrik kalitli kriptotizimlari turlari orasida eng mashhur bo'lgan algoritm hisoblanadi.
DES algoritmi 64-bitlik bloklar bo'yicha ishlaydigan 56-bitlik kalit yordamida ishlaydi. Algoritm 16 turdan o'tkaziladi. Har bir turda, blokni o'zgartirish uchun o'zgartirish funktsiyalari (substitution box) va tartiblash funktsiyalari (permutation box) ishlatiladi.
Bu algoritm keng tarqalgan va amaliyotda keng qo'llanilgan algoritm bo'lib, banklar, shaxsiy ma'lumotlar va boshqa tashqi tarmoqlar o'rtasida axborot almashinuvi o'zgaruvchanligini ta'minlash maqsadida ishlatiladi.
Bir necha yil davomida DES kalit uzunligining qisqaligiga qarshi chaqirish sifatida 3DES (Triple DES) kabi qimmatbaho variantlari ishlab chiqarildi. Kuchli kriptotizm tashkil etish uchun, DES-dan ko'ra yana yangi, xavfsizlik darajasini oshirgan algoritm turlari ham ishlab chiqarilgan. Bunday algoritm turlari orasida AES (Advanced Encryption Standard) keng tarqalgan bo'lib, hozirgi kunda ishlab chiqilayotgan ilovalarda ko'p qo'llaniladi.
DES blokli shifrlash algoritmi 1999 yilgacha AQShda standart shifrlash algoritmlari sifatida ishlatib kelingan. 1974 yildan Amerika qo‘shma shtatlarining standart shifrlash algoritmi sifatida qabul qilingan DES shifrlash algoritmi quyidagi:
- kalit uzunligining kichigligi ( 56 bit);
- S-blok akslantirishlarining differensial kriptotahlil usuliga bardoshsizligi;
va boshqa sabablarga ko‘ra eskirgan deb sanaladi . Ayniqsa 1999 yilda DES shifrlash algoritmi yordamida shifrlangan malumotning Internet tarmog‘iga ulangan 300 ta paralel kompyuter tomonidan yigirma to‘rt soat davomida ochilishi haqidagi malumotning tasdiqlanishi bundan keyin mazkur standart algoritmi yordamida malumotlarni kriptografik muhofaza qilish masalasini qaytadan ko‘rib chiqish va yangi standart qabul qilish zaruratini keltirib chiqardi.
http://des.online-domain-tools.com/
1.1-rasm. DES online kalkulator ko’rinishi.
Bu sayt orqali biz DES shifrlash algoritmida ma’lumotlarni online shifrlashimiz mumkin 1.1-rasm. Tepada saytning ko’rinish surati ham berilgan. Biz bemalol foydalanishimiz mumkin.
Pastdagi berilgan jadvalda Simmetrik shifrlash algoritmining o’lchamlari berilgan. Bu yerdan biz AES, DES, TRIPLEDES, BLOWFISH, TWOFISH kabi shifrlash algoritmilarini ko’rishimiz mumkin 1.2-rasm.
1.2-rasm. Simmetrik shifrlash algoritmi o’lchamlari.
AES algoritmida baytlar ustida amallar bajariladi. Baytlar chekli maydon elementlari sifatida qaraladi. maydon elementlarini darajasi 7 dan katta bo‘lmagan ko‘phad sifatida tasvirlash mumkin. Agarda baytlar
ko‘rinishda tasvirlangan bo‘lsa, u holda maydon elementlari quyidagicha ko‘phad ko‘rinishda yoziladi:
Misol uchun baytga ko‘rinishdagi ko‘phad mos keladi.
Chekli maydon elementlari uchun additivlik va multiplikativlik xossalariga ega bo‘lgan qo‘shish va ko‘paytirish amallari aniqlangan.
AES. Amerika qo‘shma shtatlarining “Standartlar va texnologiyalar Milliy Instituti An4 2 , m n m 2,...,M, M S 55 (NIST)” tomonidan 1997 yilda XXI asrning ma’lumotlarni kriptografik muhofazalovchi yangi shifrlash algoritmi standartini qabul qilish maqsadida tanlov e’lon qilindi. 2000 yilda standart shifrlash algoritmi qilib RIJNDAEL shifrlash algoritmi asos qilib olingan AES (Advanced Encryption Standard) (FIPS 197) qabul qilindi. Algoritmning yaratuvchilari Belgiyalik mutaxassislar Yon Demen (Joan Daemen) va Vinsent Ryumen (Vincent Rijmen)larning familiyalaridan RIJNDAEL nomi olingan. AES FIPS 197 blokli shifrlash algoritmida 8 va 32-bitli (1-baytli va 4-baytli) vektorlar ustida amallar bajariladi. AES FIPS 197 shifrlash algoritmi XXI asrning eng barqaror shifrlash algoritmi deb hisoblanadi. Bu algoritm boshqa mavjud standart simmetrik shifrlash algoritmlaridan farqli o‘laroq, Feystel tarmog‘iga asoslanmagan blokli shifrlash algoritmlari qatoriga kiradi.
AES algoritmida ko‘phadlarni qo‘shish (XOR) (berilgan ko‘phadlarga mos keluvchi ikkilik sanoq sistemasidagi sonlarni mos bitlarini mod 2 bo‘yicha qo‘shish) amali orqali bajariladi. Masalan
va ko‘phadlar natijasi quyidagicha hisoblanadi:
Bu amal ikkilik va o‘n oltilik sanoq sistemalarida quyidagicha ifodalanadi:
va
Chekli maydonda istalgan nolga teng bo‘lmagan element uchun unga teskari bo‘lgan element mavjud va tenglik o‘rinli, bu erda nol elementi sifatida qaraladi. maydonda tenglik o‘rinli.
AES algoritmida ko‘phadlarni ko‘paytirish quyidagicha amalga oshiriladi: ikkita ko‘phad o‘nlik sanoq sistemasida ko‘paytiriladi; ettinchi darajadan katta bo‘lgan har qanday ko‘phadni sakkizinchi darajali = keltirilmaydigan ko‘phadga bo‘lganda qoldiqda etti va undan kichik bo‘lgan darajadagi ko‘phadlar hosil bo‘lib, ular natija sifatida olinadi, bunda bo‘lish jarayonida bajariladigan ayirish amali ikkilik sanoq sistemasida, yuqorida keltirilgani kabi, amali asosida bajariladi.
1.3-rasm. AES shifrlash algoritmida online ishlash.
https://www.javainuse.com/aesgenerator Ushbu link orqali biz AES shifrlash algoritmida ma’lumotlarni shifrlashimiz mumkin (1.3-rasm).
3DES (Triple Data Encryption Standard) shifrlash algoritmi DES (Data Encryption Standard) ning o'zini yiriklaydigan, ya'ni ma'lumotlarni 3 marta DES algoritmi yordamida shifrlashdan iborat. 3DES algoritmi, symmetrical (yakka-to'g'ri) shifrlashni amalga oshiradi, ya'ni bir kalit so'z bilan ma'lumotni shifrlash vaqti o'zgarib turadi.
3DES 3 xil usulda amalga oshiriladi:
EDE (Encrypt-Decrypt-Encrypt) - Bu usulda, ma'lumot birinchi marta shifrlanadi, keyinchalik shifrlangan ma'lumotni qaytarish uchun ma'lumot yana bir marta shifrlanadi va keyingi bosqichda qaytariladi.
EEE (Encrypt-Encrypt-Encrypt) - Bu usulda, ma'lumot uch marta shifrlanadi. Har bir shifrlash marta keyingi shifrlash uchun kalitni o'zgartiradi. Natijada, shifrlangan ma'lumot ko'p marta xavfsiz bo'ladi.
DED (Decrypt-Encrypt-Decrypt) - Bu usulda, ma'lumot birinchi marta de-shifrlanadi, keyinchalik olingan ma'lumotni shifrlash uchun yana bir marta shifrlanadi va keyingi bosqichda qaytariladi.
3DES foydalanuvchilar tomonidan maxsus kalit so'zlar yordamida ishlatiladi. Ushbu kalit so'zlar, ma'lumotni shifrlash uchun foydalaniladigan algoritmni tasniflashda muhim ahamiyatga ega.
BLOWFISH shifrlash algoritmi 1993 yilida Bruce Schneier tomonidan yaratilgan va "Applied Cryptography" nomli kitobida chop etilgan. Ushbu algoritm DES algoritmini yaxshilash maqsadida yaratilgan. BLOWFISH ham ma'lumotni shifrlash, ham ma'lumotni deshifrlash uchun ishlatiladi. BLOWFISH algoritmi 64 bitlik bloklar sifatida ma'lumot qabul qiladi va bloklarni 32 marta shifrlaydi. Bu algoritmda kalit so'zlar 32 bitlik bo'lib, 448 bitga qadar o'sha olgan kelajak blokini tayin qilish uchun ishlatiladi. Shifrlash va deshifrlash uchun ushbu kalit so'zlar soni har qanday 8 dan 56 gacha bo'lishi mumkin.
BLOWFISH algoritmi o'z bo'limida bir nechta muhim xususiyatlar bor:
Maxsus kalit uzunligi - BLOWFISH kalit so'zlari uzunligi 8 va 448 bit orasida bo'lishi mumkin, bu kabi bo'ylab, boshqa shifrlash algoritmlaridan farqli ravishda, foydalanuvchilar o'zlariga mos keladigan kalit uzunligini tanlashlari mumkin.
Qulay yadrosiz ishlash - BLOWFISH shifrlash algoritmi bilan xavfsizligi oshirilgan xostakon muhitda (misol uchun, mobil qurilmalar yoki IoT asboblarida) ishlatish uchun idealdir. Algoritmi bajarish uchun juda kam xotira zaruriyati bo'ladi.
Yorqin foydalanish - BLOWFISH shifrlash algoritmi boshqa algoritmlardan yorqinroq ishlash uchun ishlatiladi. Shifrlash va deshifrlash jarayonida, o'zgaruvchilar va qarindosh bitlar tushadi. Shuningdek, blok xotirasi foydalanish yuzaga kelgan blok xotirasidan yorqinroq xotira zaruriyati bilan birgalikda oshiriladi.
BLOWFISH shifrlash algoritmi haliyeviy texnologiyalarda ko'p ishlatiladi va bir nechta dasturlash tili, qo'llanuvchilar tarmoqlari va shaxsiy ma'lumotlar kabi muhim ma'lumotlar uchun xavfsizlikni ta'minlash uchun ishlatiladi.