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).

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).

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