8.3. Simmetrik shifrlash tizimlari

Simmetrik kriptotizim tushunchasi

Simmetrik shifrlash tizimida ma'lumotni shifrlash va shifrni ochish uchun bitta va o'sha kalitdan foydalaniladi. Aynan shu sababli bunday tizimlar bir kalitli kriptotizimlar deb ham yuritiladi. Kalit odatda bir tomonda hosil qilinadi va maxsus usullar bilan ikkinchi tomonga xavfsiz yetkaziladi. Ikkala tomonda bir xil kalit bo'lgandagina aloqa mumkin bo'ladi (8.6-rasm).

8.6-rasm. Simmetrik (bir kalitli) shifrlash tizimining umumiy ko'rinishi (muallif ishlanmasi; Ganiyev va OpenLearn asosida).
8.6-rasm. Simmetrik (bir kalitli) shifrlash tizimining umumiy ko'rinishi (muallif ishlanmasi; Ganiyev va OpenLearn asosida).

Simmetrik shifrlashning ishlash mantig'i sodda va tabiiy: u qulfning kaliti bilan taqqoslanadi. Bir kalit bilan qulf yopiladi va o'sha kalit bilan ochiladi. Aynan shu soddaligi tufayli simmetrik algoritmlar juda tez ishlaydi va hisoblash resursini kam talab qiladi. Shu sababli katta hajmdagi ma'lumotni, masalan butun ma'lumotlar bazasini yoki video oqimni shifrlashda ular tanlanadi.

Simmetrik shifrlashning ikki turi: oqimli va blokli

Simmetrik shifrlash algoritmlari ma'lumotni qanday qismlarga bo'lib ishlashiga qarab ikki turga bo'linadi (8.7-rasm).

8.7-rasm. Oqimli va blokli simmetrik shifrlarning taqqoslanishi (muallif ishlanmasi; Ganiyev, OpenLearn va SecurityTolboom asosida).
8.7-rasm. Oqimli va blokli simmetrik shifrlarning taqqoslanishi (muallif ishlanmasi; Ganiyev, OpenLearn va SecurityTolboom asosida).

Oqimli shifrlar (stream ciphers). Bu turdagi algoritmlar ma'lumotni belgi-belgilab, ya'ni ketma-ket qismlar bo'yicha shifrlaydi. Har bir kiruvchi belgiga bitta chiquvchi belgi mos keladi. Oqimli shifrlar tez ishlaydi, kam xotira talab qiladi va ishlash vaqti bo'yicha barqaror, shuning uchun uzluksiz aloqa oqimlarida qulay. Ularga misol sifatida RC4 va A5/1 algoritmlarini keltirish mumkin. Kamchiligi shundaki, yaxshi o'rganilgan oqimli algoritmlar soni blokli algoritmlarga qaraganda kam.

Blokli shifrlar (block ciphers). Bu turdagi algoritmlar ma'lumotni teng uzunlikdagi bloklarga bo'lib, har bir blokni yaxlit shifrlaydi. Masalan, AES 128 bitlik bloklar bilan ishlaydi. Agar ma'lumot uzunligi blok o'lchamiga bo'linmasa, oxirgi blok to'ldiriladi. Blokli shifrlar yaxshi o'rganilgan, xilma-xil va ishonchli, shu sababli ular amalda ancha keng qo'llaniladi.

Blokli shifrlarda muhim bir jihat bor: bloklarni bir-biriga qanday bog'lash. Eng sodda usul har bir blokni mustaqil shifrlashdir, u elektron kodlar kitobi rejimi (ECB) deb ataladi. Biroq bu usulning jiddiy zaifligi bor: bir xil ochiq matn bloklari bir xil shifrmatn bloklariga aylanadi. Natijada shifrlangan ma'lumotda takrorlanuvchi naqshlar ko'rinib qoladi va bu tahlilchiga kalitni topishda yordam beradi. Shu sababli amalda bloklarni o'zaro bog'laydigan boshqa rejimlar qo'llaniladi, ularda har bir blokning shifrlanishi avvalgi blok natijasiga ham bog'liq bo'ladi.

Keng tarqalgan simmetrik algoritmlar

Simmetrik algoritmlarning tarixi va bugungi holati quyidagi jadvalda umumlashtirilgan (8.2-jadval). Bu jadvalni o'qiyotganda bir qonuniyatga e'tibor bering: vaqt o'tishi bilan kalit uzunligi ortib boradi, chunki hisoblash quvvatining o'sishi qisqa kalitlarni zaiflashtiradi.

Algoritm

Turi va kalit uzunligi

Holati va izoh

DES

Blokli, 56 bitlik kalit

1977-yilda AQSh standarti bo'lgan; hisoblash quvvati ortishi bilan zaif deb topilgan

3DES

Blokli, DES uch marta qo'llanadi

DES bardoshligini oshirish uchun yaratilgan oraliq yechim

AES

Blokli, 128/192/256 bitlik kalit

1998-yilda ishlab chiqilgan, DES o'rnini egallagan; bugungi asosiy standart

IDEA

Blokli, 128 bitlik kalit

1990-yilda e'lon qilingan, DESdan tez va bardoshliroq deb baholangan

Blowfish

Blokli, o'zgaruvchan kalit (448 bitgacha)

Ixcham va sodda algoritm

RC4

Oqimli, o'zgaruvchan kalit

Keng tarqalgan bo'lgan, hozirda zaifliklari sababli tavsiya etilmaydi

8.2-jadval. Keng tarqalgan simmetrik shifrlash algoritmlari (OpenLearn Network Security, SecurityTolboom va Ganiyev asosida).

Bugungi amaliyotda asosiy o'rinni AES (Advanced Encryption Standard) egallaydi. U ma'lumotni 128 bitlik bloklarga bo'lib, ular ustida o'rniga qo'yish va o'rin almashtirish amallarini bir necha bosqichda takrorlaydi. AES tarmoq trafigini shifrlashda, disklarni shifrlashda va fayllarni himoyalashda qo'llaniladi. DES esa tarixiy ahamiyatga ega: u uzoq vaqt standart bo'lgan, biroq 56 bitlik kaliti zamonaviy kompyuterlar uchun juda qisqa bo'lib qoldi va endi ishonchli hisoblanmaydi.

Simmetrik shifrlashning asosiy muammosi

Simmetrik shifrlash tez va ishonchli, biroq uning ikkita jiddiy tashkiliy muammosi bor. Birinchisi kalitni yetkazish muammosi. Ikki tomon shifrlangan aloqa o'rnatishi uchun ular avvaldan bir xil maxfiy kalitga ega bo'lishi kerak. Bu kalitni qanday yetkazish mumkin? Agar uni ochiq kanal orqali yuborsak, u ushlab olinishi mumkin va butun himoya ma'nosini yo'qotadi. Agar himoyalangan kanal mavjud bo'lsa, unda xabarni ham o'sha kanal orqali yuborish mumkin edi va shifrlash keraksiz bo'lardi. Bu mantiqiy tugun ko'p asrlar davomida kriptografiyaning asosiy muammosi bo'lib qoldi.

Ikkinchi muammo kalitlar sonining o'sishidir. Ikki kishi aloqa qilsa, bitta kalit yetarli. Uch kishi bo'lsa, uch juftlik uchun uch kalit kerak. Foydalanuvchilar soni ortgan sari kalitlar soni ularning soniga emas, balki taxminan uning kvadratiga mutanosib ravishda ko'payadi. Yuz nafar foydalanuvchi uchun bir necha ming kalitni yaratish, tarqatish va xavfsiz saqlash talab qilinadi. Bu esa yirik tashkilot yoki internet miqyosida amalda bajarib bo'lmaydigan vazifadir.

Aynan shu ikki muammoni hal qilish uchun XX asrning 70-yillarida butunlay yangi g'oya, ya'ni ochiq kalitli kriptografiya taklif qilindi. U keyingi paragrafda ko'rib chiqiladi.

Amaliy misol

Bekzod «Raqamli Yechim» serveridagi mijozlar bazasini shifrlash uchun AES algoritmini tanlaydi. Sabablari aniq: baza katta hajmli, unga tez-tez murojaat qilinadi, demak shifrlash tez ishlashi kerak. Bu yerda kalitni yetkazish muammosi tug'ilmaydi, chunki ma'lumot uzatilmaydi, balki bir joyda saqlanadi va faqat serverning o'zi uni ochadi. Shu sababli saqlanadigan ma'lumotni himoyalashda simmetrik shifrlash eng maqbul yechimdir. Otabek esa asosiy e'tiborni boshqa masalaga qaratadi: kalit qayerda saqlanadi? Agar kalit shifrlangan bazaning yonida, o'sha serverda ochiq holda yotsa, butun himoya ma'nosiz bo'ladi. Bu masala 8.6-§da ko'rib chiqiladi.

Kasbiy vaziyat

Bekzod savol beradi: «Nega hamma joyda AES ishlatiladi? DES ham blokli shifr-ku, u ancha vaqt standart bo'lgan.» Otabek javobida kalit uzunligining ahamiyatini tushuntiradi. DESning 56 bitlik kaliti yaratilgan paytda barcha variantlarni sinab chiqish amalda mumkin emas edi. Biroq hisoblash quvvati o'n yillar davomida keskin o'sdi va bugun bunday kalitni maxsus uskuna nisbatan qisqa vaqtda topib beradi. AESning 128 bitlik kaliti esa hisoblash imkoniyatlari bugungidek o'sishda davom etgan taqdirda ham juda uzoq vaqt bardosh beradi. Bu misol muhim kasbiy qoidani ko'rsatadi: algoritm tanlashda uning nomi yoki mashhurligiga emas, balki hozirgi tavsiyalar va kalit uzunligiga qarash kerak, chunki kechagi kuchli standart bugun zaif bo'lishi mumkin.

Amaliy topshiriq

Simmetrik shifrlash bo'yicha taqqoslash jadvalini tuzing. (a) Oqimli va blokli shifrlarni ishlash tamoyili, tezligi, xotira talabi va qo'llanish sohasi bo'yicha taqqoslang. (b) 8.2-jadvaldan uchta algoritmni tanlab, ularni kalit uzunligi va bugungi holati bo'yicha joylashtiring. (v) Quyidagi uch vazifa uchun mos algoritmni tanlang va tanlovingizni asoslang: katta hajmli ma'lumotlar bazasini shifrlash; simsiz aloqa oqimini shifrlash; eski tizim bilan moslikni ta'minlash.

Nazorat savollari

  1. 1Simmetrik shifrlash tizimining asosiy xususiyati nimada?
  2. 2Oqimli va blokli shifrlar bir-biridan qanday farq qiladi? Har biriga misol keltiring.
  3. 3Elektron kodlar kitobi rejimining (ECB) zaifligi nimadan iborat?
  4. 4Nima uchun DES bugungi kunda ishonchli hisoblanmaydi?
  5. 5Simmetrik shifrlashning ikkita asosiy tashkiliy muammosini tushuntiring.