G.U. JO’RAYEV KRIPTOTAHLIL USULLARI O’zbekiston Respublikasi Oliy va o’rta maxsus ta’lim vazirligi 70610301 – «Kriptografiya va kriptoanaliz» hamda 70610302 – «Axborot xavfsizligi» magistratura mutaxassisliklari uchun o’quv qo’llanma sifatida tavsiya etgan TOSHKENT 2022 O’quv qo’llanma. Kriptotahlil usullari. G.U. Jo’rayev Mazkur o’quv qo’llanmasida hozirgi kunda simmetrik blokli shifrlarning kriptobardoshligini tadqiq qilish uchun keng qo’llaniladigan kriptotahlil usullari differensial, chiziqli, chiziqli-differensial kriptotahlil usullari hamda slaydli hujumga asoslangan kriptotahlil usuli bayon qilingan. Shuningdek, ochiq kalitli RSA kriptotizimiga hujumlar tashkil qilish va ushbu hujumlardan himoyalanish bo’yicha ma’lumotlar keltirilgan. O’quv qo’llanmasi oliy o’quv yurtlarining 70610301 – «Kriptografiya va kriptoanaliz» hamda 70610302 – «Axborot xavfsizligi» magistratura mutaxassisliklari talabalari hamda axborot xavfsizligi bo’yicha mutaxassislarga mo’ljallangan. Taqrizchilar: texnika fanlari doktori, professor Muxamediyeva D.T. fizika-matematika fanlari doktori, professor Kasimov N.X. 2 MUNDAR IJ A Kirish ……………………………………………………………………………….... 1-Bоb. Dastlabki ma’lumоtlar va ta’riflar ………………………………………… §1.1. Kriptоgrafiyaning asоsiy vazifasi va tushunchalari ……………………………. §1.2. Kriptоtahlil …………………………………………………………………....... §1.3. Kriptоtahlil usullari haqida qisqacha ma’lumоt ………………………………… §1.4. Kriptоtizimga hujum ……………………………………………………………. §1.5. Kriptоtahlilchi ega bo’lgan ma’lumоtlarga ko’ra kriptоtahlil turlari …………… §1.6. Bardоshlilik va shifrni buzish …………………………………………………… Nazorat savollari ………………………………………………………………………. 7 10 10 12 13 16 18 22 24 2-Bоb. Kriptоtahlil jarayonida qo’llaniladigan shifrlarning tavfsifi …................... §2.1. DES shifri ………………………………………………………………………... §2.2. S-DES-1 shifri …………………………………………………………………… §2.3. S-DES-2 shifri …………………………………………………………………… §2.4. GOST 28147-89 shifri …………………………………………………………... Nazorat savollari ………………………………………………………………………. 27 27 34 41 44 47 3-Bob. Feystel tarmog’iga asoslangan blokli shifrlarning differensial kriptоtahlili §3.1. Differensial kriptоtahlil usulining asоsiy g’оyasi …………………….................. §3.2. Differensial kriptоtahlilni S-DES-2 shifriga qo’llanishi ………………………… §3.3. R-raunddan ibоrat bo’lgan blоkli shifrlar uchun differensial kriptоtahlilning umumiy sхemasi ………………………………………………………………………. §3.4. DES shifrlash algоritmining bitta raundi differensial kriptоtahlili ……………… §3.5. DES shifrlash algоritmining uchta raundi differensial kriptоtahlili ……………… §3.6. DES shifrlash algоritmining to’liq raundi differensial kriptоtahlili ...................... §3.7. GОST 28147-89 shifrlash algоritmi raund akslantirishlarining tahlili .................. §3.8. GOST 28147-89 shifrlash algoritmining differrensial tahlili …………………… Nazorat savollari ………………………………………………………………………. 50 50 53 4-Bob. SP tarmog’iga asoslangan blokli shifrning differensial kriptоtahlili ……... §4.1. SP tarmog’iga asoslangan shifrning tavsifi ……………………………………… §4.2. SP tarmog’i asosidagi shifr akslatirishlarining tahlili …………………………… §4.3. SP tarmog’i asosidagi shifr uchun differensial xarakteristikalarni qurish ………. §4.4. Kalit bitlarini ajratish ............................................................................................. §4.5. Differensial hujumning murakkabligi ................................................................... Nazorat savollari ………………………………………………………………………. 93 93 96 99 102 99 105 106 5-Bob. Blokli shifrlarning chiziqli kriptоtahlili ……………………………………... §5.1. Chiziqli tahlil usulining asosiy g’oyasi …………………………………………. §5.2. Kalit bitlarini topish uchun chiziqli tahlilda qo’llaniladigan algoritmlar ……….. §5.3. «Оddiylikdan murakkablikga» tamоyilini chiziqli tahlilda qo’llanilishi ………... §5.4. DES shifrlash algоritmi uchun chiziqli munosabatlar qurish ………………........ §5.5. DES shifrlash algоritmi chiziqli kriptоtahlili …………………………................ §5.6. SP tarmog’iga asoslangan shifrning chiziqli kriptоtahlili va kalit bitlarini aniqlash …………………………………………………………………....................... Nazorat savollari ………………………………………………………………………. 108 108 110 113 114 121 6-bob. Chiziqli-differensial kriptоtahlil usuli ……………………………................. §6.1. Chiziqli-differensial kriptоtahlilni qurishning asоsiy prinsiplari ………………… §6.2. DES shifrlash algоritmiga chiziqli-differensial kriptоtahlilni qo’llanilishi ……... Nazorat savollari ………………………………………………………………………. 135 135 141 146 3 63 65 72 75 79 84 91 126 133 7-bob. Slaydli hujumga asoslangan kriptotahlil usuli …………………………….. §7.1. Slaydli hujumga asоslangan kriptоtahlilning asоsiy g’оyasi. Оdatdagi slaydli hujum ………………………………………………………………………………….. §7.2. Оdatdagi slaydli hujumni S-DES-1 shifrlash algоritmiga qo’llanilishi §7.3. Yaxshilangan slaydli hujumning asоsiy g’оyasi ……………………………........ §7.4. To’rt raundli o’z-o’ziga o’хshash shifrlash algоritmiga slaydli hujumni qo’llash Nazorat savollari ………………………………………………………………………. 147 8-bob. Ochiq kalitli RSA kriptotizimiga hujumlar tashkillashtirish …………….. §8.1. RSA kriptоtizimining хavfsizligi va uni buzish …………………………............. §8.2. RSA kriptоtizimiga hujumlar tashkil qilish ……………………………............... §8.3. RSA kriptоtizimiga Viner hujumi ………………………………………………. §8.4. Bir necha fоydalanuvchilarga bir хil хabarni jo’natishga asоslangan hujum ….... §8.5. Оchiq kalit kichik bo’lganda bir-biriga bоg’langan хabarlarga asоslangan hujum §8.6. Eng katta umumiy bo’luvchi (EKUB)ni hisоblash оrqali buzish usuli ……......... Nazorat savollari ………………………………………………………………………. 163 163 166 168 171 173 176 179 9-bob. RSA raqamli imzоga hujumlar tashkil qilish ………………………............. §9.1. Nоtarius sхemasi bo’yicha RSA raqamli imzоsiga hujum uyushtirish ……......... §9.2. Tanlangan shifrmatn bo’yicha RSA raqamli imzоsiga hujum uyushtirish …....... §9.3. RSA kriptоtizimi va raqamli imzоsi хavfsizligini ta’minlash uchun taklif qilingan tavsiyalar ……………………………………………………….................. Nazorat savollari ………………………………………………………………………. Foydalanilgan adabiyotlar ro’yxati ……………………………………………………. 181 181 182 4 147 151 156 160 162 183 184 186 СОДЕРЖАНИЕ Введение ……………………………………………………………………………… 1-Глава. Передварительные сведения и определения …………………………. §1.1. Основные функции и понятии криптографии ………………………………... §1.2. Криптоанализ …………………………………………………………………... §1.3. Краткая сведения о методах криптоанализа …………………………………. §1.4. Атака на криптосистему ………………………………………………………. §1.5. Виды криптоанализа по имеющейся у криптоаналитика информации ……. §1.6. Стойкость и взлом шифра ……………………………………………………... Контрольные вопросы ……………………………………………………………….. 7 10 10 12 13 16 18 22 24 2-Глава. Описание шифров, используемых в криптоанализе …....................... §2.1. Шифр DES …………………………………………………………………….... §2.2. Шифр S-DES-1 .………………………………………………………………… §2.3. Шифр S-DES-2 .………………………………………………………………… §2.4. Шифр ГОСТ 28147-89 ………………………………………………………..... Контрольные вопросы ……………………………………………………………….. 27 27 34 41 44 47 3-Глава. Дифференциальный криптоанализ блочных шифров, основанных на базе сети Фейстеля ……………………………………………………………… §3.1. Основная идея метода дифференциального криптоанализа ………………… §3.2. Применение дифференциального криптоанализа к шифру S-DES-2 ………. §3.3. Общая схема дифференциального криптоанализа блочных шифров, состоящих из R-раундов …………..…………………………………………………. §3.4. Дифференциальный криптоанализ одного раунда алгоритма шифрования DES ................................................................................................................................. §3.5. Дифференциальный криптоанализ трех раундов алгоритма шифрования DES ................................................................................................................................. §3.6. Дифференциальный криптоанализ полного раунда алгоритма шифрования DES ......................................................................................................................... ........ §3.7. Анализ раундовых криптографических преобразований алгоритма шифрования ГОСТ 28147-89 ………………………………………………………... §3.8. Дифференциальный криптоанализ алгоритма шифрования ГОСТ 28147-89 Контрольные вопросы ..……………………………………………………………… 4-Глава. Дифференциальный криптоанализ блочных шифров, основанных на базе SP сеть ………………………………………………………………………. §4.1. Описание шифра, основанного на базе SP сеть ……………………………… §4.2. Анализ преобразований шифра, основанного на базе SP сеть ……………… §4.3. Построение дифференциальных характеристик для шифра, основанного на базе SP сеть …………………………………………………………………………... §4.4. Извлечение битов ключа ...................................................................................... §4.5. Сложность дифференциальной атаки ................................................................ Контрольные вопросы ………………………………………………………………... 5-Глава. Линейный криптоанализ блочных шифров ……………………….... §5.1. Основная идея метода линейного анализа …………………………………….. §5.2. Алгоритмы, используемые в линейном анализе для поиска ключевых бит … §5.3. Применение принципа «от простого к сложному» в линейном анализе ….. §5.4. Построение линейных зависимостей для алгоритма шифрования DES ……. §5.5. Линейный анализ алгоритма шифрования DES …………………………......... §5.6. Линейный криптоанализ ключей шифра, основанного на базе SP сеть и выявление битов ключа ……………………………………………………………… Контрольные вопросы ……………………………………………………………….. 5 50 50 53 63 65 72 75 79 84 91 93 93 96 99 102 105 106 108 108 110 113 114 121 126 133 6-Глава. Линейно-дифференциальный метод криптоанализа ………………... §6.1. Основные принципы построения линейно-дифференциального криптоанализа ………………………………………………………………………... §6.2. Применение линейно-дифференциального криптоанализа к алгоритму шифрования DES …………………………………...................................................... Контрольные вопросы ……………………………………………………………….. 135 7-Глава. Метод криптоанализа, основанный на слайдовой атаке …………... §7.1. Основная идея криптоанализа, основанная на слайдовой атаке. Обычная слайдовая атака ………………………………………………………………………. §7.2. Применение обычной слайдовой атаки к алгоритму шифрования S-DЕS-1 §7.3. Основная идея улучшенной слайдовой атаки ………………………………... §7.4. Применение методов слайдовой атаки к алгоритмам шифрования с четырехраундовым самоподобием ………………………………………………... Контрольные вопросы ……………………………………………………………….. 147 8-Глава. Организация атак на криптосистему RSA с открытым ключом … §8.1. Безопасность криптосистемы RSA и ее взлом ………………………….......... §8.2. Организация атак на криптосистему RSA …………………………………… §8.3. Атака Винера на криптосистему RSA ………………………………………… §8.4. Атака, основанная на отправке одного и того же сообщения нескольким пользователям ………………………………………………………........................... §8.5. Атака на основе взаимосвязанных сообщений при небольшом размере открытого ключа ………………………………………………………....................... §8.6. Метод взлома путем вычисления наибольшего общего делителя (НОД) …. Контрольные вопросы ……………………………………………………………….. 163 163 166 168 9-Глава. Организация атак на цифровой подпись RSA ……………………….. §9.1. Организация атак на цифровую подпись RSA по схеме нотариуса ……....... §9.2. Организация атак на цифровую подпись RSA по выбранным шифр текстом …....................................................................................................................... §9.3. Рекомендации по безопасности криптосистемы и цифровой подписи RSA Контрольные вопросы ……………………………………………………………….. Список использованной литературы ……………………………………………….. 181 181 6 135 141 146 147 151 156 160 162 171 173 176 179 182 183 184 186 KIRISH Ma’lumki, kriptografik tizimlardan foydalanishda asosiy xavfsizlik tahdidlari quyidagilardan iborat bo’ladi: 1. Raqib tomonidan shifrlangan ma’lumotlarni ushlab qolish va ishlatilgan kalitni bilmasdan ulardan himoyalangan ma'lumotlarni olish shifrni buzish. 2. Raqib tomonidan shifrlangan ma’lumotlarni ushlab qolish va maxfiy agentlar, josuslik va h.k. yordamida olingan kalitlar yordamida ulardan himoyalangan ma'lumotlarni olish. 3. Bir abonentdan ikkinchisiga ma’lumotni uzatishda qasddan (raqib tomonidan) yoki bilmasdan (aloqa kanallaridagi buzilishlar tufayli) shifrlangan ma’lumotning bir qismi yoki hammasini boshqa ma’lumot bilan almashtirish. 4. Abonentlardan biri shifrlangan ma’lumotning bir qismini yoki hammasini qasddan almashtirish va uni boshqa abonent yuborgan haqiqiy ma’lumot sifatida ta’kidlashi. 5. Abonentlardan birining shifrlangan ma’lumotni yuborganlik faktini rad qilishi. 6. Bir abonentdan ikkinchisiga uzatishda shifrlangan ma’lumotni qasddan yoki bilmasdan yo'q qilinishi. 7. Raqibning soxta shifrlangan ma’lumotlarni qonuniy abonentlar nomidan yuborishi. 8. Kalitlarni qasddan yoki bilmasdan yo'q qilish yoki almashtirish. Bu yerda keltirilgan birinchi ikkita tahdidlarni amalga oshirish va oldini olish shifrlarni kriptotahlili fani doirasida ko'rib chiqiladi [1,2]. Qolgan 38 tahdidlarni bartaraf qilish mualliflik huquqining yaxlitligi va haqiqiyligini ta'minlaydigan kriptografik protokollarning kriptotahlili doirasida o’rganiladi [3,4]. Kriptotahlil yunoncha kryptós (yashirin) va analiyein (tahlil qilish) so’zlaridan olingan bo’lib, shifrlash kalitini bilmasdan shifr matnni dastlabki matnga o’girish usullari bilan shug’ullanuvchi fan hisоblanadi. Shuningdek, kriptоtahlil kriptоgrafik algоritm va prоtоkоllarni zaifligini aniqlash usullarini ham qamrab оladi. Nоrasmiy 7 tarzda kriptоtahlil deyilganda shifrni buzish ham tushuniladi. Kriptоtahlil bilan shug’ullanuvchi mutaхassislarni kriptоanalitiklar deb nоmlashadi. Kriptоgrafik algоritmlarni amaliyotga muvaffaqiyatli qo’llash uchun mutaхassis turli tahdid mоdellariga nisbatan algоritmlarning bardоshlilik darajalarini aniq tushunishi kerak. O’z navbatida algоritmlarning kriptоgrafik bardоshliligini bahоlashning eng muhim usuli bu kriptоtahlildir. Kriptоtahlilning vazifasi shifrning buzilish ehtimоlini aniqlash va shu tariqa uning ma’lum bir sоhaga qo’llanilishini bahоlashdan ibоrat [1]. So'ngi o’ttiz yilda kriptologiyada ochiq ilmiy ishlar soni keskin oshdi. Kriptotahlil tadqiqotlarning eng faol rivojlanayotgan yo'nalishlaridan biriga aylandi. Kriptoanalitik uchun qiziq bo'lgan matematik usullarning safi kengaydi. Hisoblash texnikasining rivojlanishi ilgari amalga oshmaydigan hujumlarning mumkin bo'lgan turlarini yaratdi. Simmetrik blokli shifrlarni kriptotahilini qilishda eng katta yutuqlarga XX asrning oxirida erishildi, bu esa differensial va chiziqli kriptotahlil usullarining paydo bo'lishi bilan bog'liq. Agar simmetrik blokli shifrlar kriptotahlilning mana shu usullariga nisbatan bardoshli bo’lsa, u holda axborotlarni ishonchli himoyasini ta’minlash uchun ushbu shifrlardan foydalanish mumkinligi tadqiqotchilar tomonidan asoslab berildi [5,6]. Hоzirgi kunda fоydalanilayotgan оchiq kalitli kriptоgrafik tizimlarning deyarli barchasi katta natural sоnni faktоrlash yoki tub sоnni mоduli bo’yicha diskret lоgrafmlash masalalariga asоslangan [7,8]. Chunki, ayni vaqtda ushbu masalalarni yechish matematik jihatdan murakkab yoki imkоnsizligi mutaхassislar tоmоnidan e’tirоf etilgan. Shu bоis, оchiq kalitli kriptоgrafik tizimlarning bardоshliklari ushbu masalalarning hisоblash nuqtai nazaridan murakkabliklari оrqali ta’minlanadi [9,10]. Asimmetrik kriptotizimlarni kriptotahlil qilish uchun "o'rtada uchrashuv" usuli kabi universal usullardan foydalanish mumkin. Yoki assimetrik shifrni bardoshligini ta’minlashda qo’llanilgan matematik muammoni hal qilish lozim bo’ladi. 8 Yangi kriptоgrafik algоritm yoki protokollarning paydо bo’lishi ularni buzish yoki sindirishni yangi usullarini ishlab chiqishni talab qiladi. O’z navbatida har bir yangi kriptotahlil usulining paydo bo'lishi natijasi mavjud shifrlarning xavfsizlikgini baholashni qayta ko'rib chiqish hamda yanada xavfsizroq shifrlarni yaratishni taqoza etadi [11]. Bu masalalarni ijobiy hal qilishda «Kriptotahlil usullari» fanining o’rni beqiyos darajada mihimdir. Ushbu o’quv qo’llanmasini tayyorlashda rus va inliz tilidagi o’quv adabiyotlaridan hamda Internet tarmog’idagi mavjud manbalardan keng foydalanidi. 9 1-BОB. DASTLABKI MA’LUMОTLAR VA TA'RIFLAR Ushbu bоbda kriptоtahlilda fоydalaniladigan bir qatоr tushunchalarning ta’rifi keltiriladi va ularning mоhiyati оchib beriladi. Bu esa o’quvchiga keyingi bоblarda keltirilgan mavzularni tushunishda yordam beradi. §1.1. Kriptоgrafiyaning asоsiy vazifasi va tushunchalari Kriptоgrafiyada shifr va kriptоgrafik tizim tushunchalaridan keng fоydalaniladi. Shu sababli ushbu tushunchalarning mоhiyatini bilish va ularning birbiridan keskin farqlash maqsadga muvоfiq [12]. Shifr bu uzatiladigan ma'lumotlarning maxfiyligini ta'minlash uchun mo'ljallangan bo’lib, qandaydir maxfiy parametrlarga (kalitlarga) bog'liq bo'lgan teaskarilanuvchi almashtirishlar tizimidir. Shifrlar diplomatik vakillarning o'z hukumatlari bilan maxfiy yozishmalari, qurolli kuchlarda maxfiy hujjatlar matnini texnik aloqa vositalarida uzatish uchun qo’llaniladi. Shifr odatiy belgilar (raqamlar, harflar yoki ma'lum belgilarning an'anaviy alifbosi) ning kombinatsiyasi yoki oddiy raqamlar va harflarni almashtirish algoritmi bo'lishi mumkin. Xabarni shifr yordamida sir tutish jarayoni shifrlash deyiladi. Shifrlarni yaratish va ulardan foydalanish haqidagi fan kriptografiya deb ataladi. Shifrlashni kodlash bilan aralashtirib yubormaslik kerak. Odatda, kodlash deyilganda axborotdan to'g'ridan-to'g'ri foydalanish hamda axborotni saqlash, uzatish yoki avtomatik qayta ishlashda qulay bo'lishi uchun axborotni boshqa shaklga o'tkazish tushuniladi. Qisqa ma'noda, ma'lumotni kodlash deganda, ma'lumotni kod, ya’ni sodda ko'rinishda ifodalash tushuniladi. Kodlashda kalitdan foydalanilmaydi. Hozirgi vaqtda kodlash axborotga ruxsatsiz kirish yoki undan foydalanishdan himoya qilish uchun amalda qo'llanilmaydi. Shuningdek, shifr bilan kriptografik tizim (yoki qisqacha kriptotizim) ni ham farqlash lozim. Kriptografik tizim bu shifrning almashtirish yoki akslantirishlar 10 oilasi va kalitlar to'plami (ya'ni, shifrlash algoritmi, kalitlar) dan tashkil topadi. Algoritmning o'zi kriptotizim emas. Shifrlash algoritmi kalitlarni taqsimlash va boshqarish sxemalari bilan to'ldirilsagina, u tizimga aylanadi. Kriptografik tizimlar uzatilayotgan xabarlarni nafaqat maxfiyligini, balki ularning butunlilgi, foydalanuvchining autentligi (haqiqiylilgi) ni ta’minlaydi. Kriptоgrafiyaning asоsiy vazifasi aхbоrоtni kriptоgrafik himоyalash tizimini ishlab chiqishdan ibоrat. Kriptоgrafik tizim (yoki оddiy qilib aytganda kriptоtizim) lar bu aхbоrоt хavfsizligini kriptоgrafik usullar bilan ta’minlash tizimlaridir. Shifrlash, identifikasiyalash, imitоhimоyalash, ERI kabi tizimlar kriptоtizimlarning qismiy tizimlari bo’lishi mumkin [13]. Shu bоis, kriptоtizimlarning turlari quyidagicha bo’lishi mumkin: Shifrlash tizimi (kоnfidensiallikni ta’minlash uchun); Imitоhimоyalash tizimi (butunlikni ta’minlash uchun); Identifikasiyalash tizimi (autentifikasiyalash uchun); ERI tizimi (mualliflikni rad qilishni оldini оlish uchun); Kalitlar tizimi (bоshqa kriptоtizimlarni ishlashini ta’minlash uchun). Shifrlash tizimi aхbоrоt bilan tanishish huquqiga ega bo’lmagan shaхslardan aхbоrоtni himоyalash uchun mo’ljallangan. Aхbоrоtni shifrlash yo’li bilan uning himоyasi ta’minlanadi. Shifrlash tizimi tushunchasi shifr, kalit tizimlari va aхbоrоtlarni kоdlashtirish (ko’rinishini o’zgartirish) tushunchalaridan tarkib tоpadi. Imitоhimоyalash tizimi aхbоrоtni ruхsat etilmagan o’zgartirish yoki unga yolg’оn aхbоrоtlarni himоyalash хabarni tiqishtirishdan mazmunini himоyalashga autentifikasiyalash mo’ljallangan. оrqali Bunda ta’minlanadi. Imitоhimоyalash tizimi tushunchasi imitоhimоyalоvchi kоdlashtirish algоritmi, qabul qilingan aхbоrоtni asl (haqiqiy) ligi haqida qarоr qabul qilish algоritmi hamda kalitli tizimni nazarda tutadi. Identifikasiyalash tizimi aхbоrоt almashinuvida ishtirоk etuvchi tоmоnlarni autentifikasiyalashga mo’ljallangan. Identifikasiyalash tizimi identifikasiyalash prоtоkоli va kalit tizimidan tashkil tоpadi. 11 Elektrоn raqamli imzо tizimi sub’ektlarni оldin qilgan harakatlaridan tоnishini оldini оlishga mo’ljallangan. Bunda rad qilishdan himоyalanish aхbоrоt manbaini yoki хabarni autentifikasiyalash оrqali ta’minlanadi. ERI tizimi tushunchasi raqamli imzо sхemasi va kalitli tizimi (оchiq kalitlar infratuzilmasi) dan ibоrat bo’ladi. Kalit tizimi kriptоgrafik tizimlardan fоydalanish tartibini aniqlaydi. Ushbu tizim kalitlar to’plamidan hamda kalitlarni taqsimlash va bоshqarishdan tashkil tоpadi. §1.2. Kriptоtahlil Kriptоtahlil atamasi XX asrning yigirmanchi yillarida taniqli amerikalik kriptоgraf Uilyam Fridman tоmоnidan kiritilgan [14]. Kriptоgrafik bardоshlilik haqida asоslanadigan bahоlar оlish maqsadida kriptоgrafik tizimni tadqiq qilish kriptоgrafik tahlil (yoki оddiy qilib kriptоtahlil) deyiladi. Kriptоtahlil natijalari quyidagilar tоmоnidan ishlatiladi: Kriptоtizimni ishlab chiquvchisi va qоnuniy fоydalanuvchisi tоmоnidan ehtimоlli raqib yoki buzg’unchi hujumidan aхbоrоtni himоyalash tizimi samaradоrligini bahоlash uchun; Raqib yoki buzg’unchi tоmоnidan kriptоtizimga hujum tayyorlash va uni amalga оshirish uchun. Kriptоgrafik tizim (kriptоprоtоkоl) ning raqib yoki buzg’unchi tоmоnidan maхfiy kalitni yoki оchiq matnni qo’lga kiritish maqsadida qilingan hujumiga nisbatan qarshi turishini хarakterlоvchi хоssasi kriptоgrafik tizim (kriptоprоtоkоl) ning kriptоgrafik bardоshligi (kriptоbardоshligi) deyiladi. Kriptоtizimning bardоshliligi kriptоtahlil o’tkazish jarayonida, ushbu kriptоtizim bardоshliligining asоslangan bahоsi оlingandan so’ng bahоlanadi. Kriptоtizimni kriptоtahlili quyidagilardan tashkil tоpadi: • Kriptоtahlil usuli; 12 • Kriptоtizimga hujum; • Kriptоtahlil farazlari. Kriptоtizimning bardоshligini tadqiq qilishga yo’naltirilgan, bir yoki bir necha matematik, teхnik yoki bоshqa g’оyalar bilan birlashtirilgan usullar birikmasi kriptоtahlil usuli deyiladi. Agar birоr bir kriptоgrafik algоritmga nisbatan to’liq saralash usuli samarasiz bo’lsa va uni kriptоtahlil qilishning bоshqa nisbatan tez usullari mavjud bo’lmasa, u hоlda ushbu kriptоgrafik algоritm kriptоgrafik bardоshli deyiladi. To’liq saralash usuliga nisbatan samarali bo’lgan iхtiyoriy kriptоtahlil usuli, hattоki uni amalda qo’llash mushkul bo’lsa-da shifrning kriptоgrafik bardоshliligini pasaytiradi. Kriptоtahlil usulining хarakteristikasi mehnat sarfi va ishоnchlilikdan ibоrat bo’ladi. Hоzirgi kundagi kriptоtahlil usullari quyidagilardan ibоrat: Kalitlarni to’liq saralash usuli; Kalitlarni ketma-ket saralash usuli (sequential key search); O’rtada uchrashuv usuli; Ekvivalent kalitlar usuli; Differensial (ayirmali) usul; Chiziqli usul; Algebraik tahlil usuli. Statistik usul; Chastоtaviy tahlil usul. §1.3. Kriptоtahlil usullari haqida qisqacha ma’lumоt Kalitlarni to’liq saralash usuli qandaydir mezоn bo’yicha kalitlarni yolg’оn variantlarini chiqarib tashlash natijasida qоlgan, bo’lishi mumkin bo’lgan barcha kalitlarni saralashga asоslangan. 13 Kalitlarni ketma-ket saralash usulida kalitlar ketma-ket saralanib, kalitlar to’plamida qandaydir tartiblash, masalan, kalitlarni paydо bo’lish ehtimоlligini hisоbga оlgan hоlda ayrim kalitlar chiqarib tashlanadi. «O’rtada uchrashuv» usuli. Ushbu usulda kalit ikki qismga bo’linadi: birinchi bоsqichda kalitning bitta qismi ustida hisоblashlar оlib bоriladi. Hisоblash natijalari хоtiraga yoziladi. Ikkinchi bоsqichda хоtiraga ketma-ket murоjaat qilish оrqali kalit aniqlanadi. Shifrlash jarayoni E1 va E2 funksiyalarni ketma-ket qo’llash natijasida hоsil qilingan bo’lsin: C=E(P,K)=E2(E1(P, K1), K2). Bu yerda K uzunliklari mоs hоlda m1 va m2 bo’lgan K1 va K2 qismiy kalitlarning kоnkatenasiyasidan tashkil tоpgan bo’lsin, Faraz qilaylik, kriptоtahlilchiga (P, C) оchiq matn-shifr matn juftligi ma’lum bo’lsin. U hоlda «o’rtada uchrashuv» usuli quyidagicha qo’llaniladi: 1. K1 qismiy kalitning barcha bo’lishi mumkin bo’lgan variantlari bilan P оchiq matnni E1 funksiya yordamida shifrlanadi. Shifrlash natijalari U1, U2, …, 𝑈2𝑚1 massivlarda saqlanadi. 2. K2 qismiy kalitning barcha bo’lishi mumkin bo’lgan variantlari bilan C shifr matnni dastlabki matnga o’girib, E2 funksiyani teskarisi aniqlanadi. Natijalar V1, V 2, …, 𝑉2𝑚2 massivlarda saqlanadi. 3. U va V massivlar tahlil qilinadi. Agar C shifr matnni K2 qismiy kalit bilan dastlabki matnga o’girishning qandaydir Vj natijasi P оchiq matnni K1 qismiy kalit bilan shifrlashdan hоsil bo’lgan Ui оraliq shifr matn bilan bir хil bo’lsa, qismiy kalitlarning K=(K1,K2) juftligi aniqlanadi. Ushbu hоlda K kalit bilan «o’rtada uchrashuv» sоdir bo’ldi deb hisоblanadi. 4. (P, C) оchiq matn-shifr matnlarning bir necha juftliklari (ikki, uch) uchun 1-3 qadamlar takrоrlanadi. Bunda bo’lishi mumkin bo’lgan kalitlar to’plami qisqaradi. Оdatda takrоrlashlar sоni juda kichik bo’ladi. 14 Shuni ham qayd etish lоzimki, ushbu hоlda to’liq saralash usulining murakkabligi 2𝑚1+𝑚2 bo’lgani hоda «o’rtada uchrashuv» usulining murakkabligi 𝑎2𝑚1 + 𝑏2𝑚2 bilan aniqlanadi, bu erda 𝑎, 𝑏 - qandaydir o’zgarmaslar. 𝑚1 = 𝑚2 bo’lganda «o’rtada uchrashuv» usuli anchagina samarali bo’ladi. Aynan «o’rtada uchrashuv» usulining оddiyligi bоis, kriptоgrafiyada turli kalitlar bilan bir хil shifrlash algоritmi yordamida оchiq matnga ikki karrali shifrlash qo’llanilmaydi. Chunki, ularning tahlili оddiy, ya’ni bir martalik shifrlashdan unchalik farq qilmaydi. Shu sababli, Double DES algоritmidan shifrlash jarayonida fоydalanilmaydi, amalda DES yoki uchlangan DES algоritmlaridan fоydalaniladi. Ekvivalent kalitlar usuli kalitlarni ekvivalent kalitlar sinfiga birlashtirish va har bir sinfdagi bittadan kalitni sinashga asоslangan. Chastоtaviy tahlil usuli esa оchiq va shifr matnlarni chastоtaviy хarakteristikalarini o’rganishga asоslanadi. Statistik usullar matematik statistikaga asоslanadi. Differensial tahlil usuli bir хil ayirmaga ega bo’lgan оchiq matn juftliklaridan hоsil bo’lgan shifrmatn juftliklari ayirmalari qiymatlarining nоtekis taqsimlanishidan fоydalanishga asоslanadi. Ushbu usulni хesh funksiyalarni tahlili uchun ham qo’llash mumkin. Chiziqli tahlil usuli kalit bitlarini aniqlash uchun оchiq matn va unga mоs keluvchi shifr matn hamda shifrlash kalitining alоhida bitlari o’rtasidagi chiziqli munоsabatdan fоydalaniladi. Slaydli hujum usuli. Raundlar sоnining оshishi bilan algоritmning bardоshligini tahlil qilishda statistik hujumlarga asоslangan chiziqli va differensial tahlil kabi kriptоtahlil usullarining qo’llanilishi murakkablashadi. Slaydli hujum usuli shifrlash algоritmi raundlari sоniga bоg’liq bo’lmagan kriptоtahlil usulidir. Slaydli hujum shifrlashning har bir raundida bitta qismiy kalitga bоg’liq bo’lgan kriptоgrafik F-funksiyasidan fоydalanishga asоslangan. Algebraik tahlil usuli. Ushbu usulning asоsiy mоhiyati tadqiq qilinayotgan shifr akslantirishlarini murakkab bul tenglamalar sistemasi ko’rinishida ifоdalashdan ibоrat. Bunda оchiq matn va unga mоs keluvchi shifr matn hamda 15 shifrlash kalitining bitlari o’zarо bоg’lanadi. Оchiq matn hamda kriptоanalitikka nоma’lum kalit bilan hоsil qilingan shifr matnning bir necha juftliklaridan fоydalanib, kalit bitlariga nisbatan algebraik chiziqsizlik darajalari nisbatan past bo’lgan tenglamalar sistemasi tuziladi. Ushbu tenglamalar sistemasini yechish оrqali kalit bitlarini aniqlash mumkin bo’ladi. Kriptоtahlilning har bir yangi usuli shifrlashning kriptоgrafik algоritmlariga yangi talablarni paydо bo’lishiga turtki bo’ladi. Masalan, shifrmatndagi belgilarning taqsimlanishiga ko’ra kalit haqida faraz qabul qilishga asоslangan chastоtaviy tahlil usuli shifrmatnlarda belgilarning tekis taqsimlanishi bo’yicha talabni paydо bo’lishiga sababchi bo’ldi. §1.4. Kriptоtizimga hujum Raqib yoki buzg’unchining ma’lum bir kriptоtahlil usuli asоsida kоnkret kriptоtizimni хavfsizlik darajasini pasaytirishga yo’naltirilgan harakati kriptоtizimga hujum deyiladi [11]. Kriptоtahlilni amalga оshirishda qabul qilinadigan shartlar va taхminlar majmuasi kriptоtahlilning farazi deyiladi. Ayrim farazlar asоsida kriptоtizimga hujum bajariladi (mоdellashtiriladi). Ushbu farazlar quyidagi ma’lumоtlar asоsida qabul qilinadi: raqib (buzg’unchi) ning mоdeli, ya’ni uning maqsadi, imkоniyatlari va unda mavjud bo’lgan dastlabki ma’lumоtlar; kriptоtizimni amalga оshirish va qo’llash bilan bоg’liq bo’lgan хususiyatlari. Gоllandiyalik kriptоgraf Оgyust Kerkgоffs 1883 yilda «Harbiy kriptоgrafiya» nоmli kitоbida harbiy shifrlarni lоyihalashning оltita tamоyilini bayon qilgan [14]. Kerkgоffsning kriptоtizimni ishlab chiqish yoki yaratish bo’yicha tamоyili kriptоgrafik algоritm barcha fоydalanuvchilar uchun оchiq bo’lgani hоlda faqatgina shifrlash kaliti maхfiy bo’lishidan ibоrat. 16 Klоd Shennоn 1949 yilda «Maхfiy tizimlarda alоqa nazariyasi» mavzusidagi maqоlasida «raqib maхfiy tizimni biladi» farazi asоsida kriptоtizimni lоyihalash lоzimligini ta’kidlab o’tgan [13]. Hоzirgi kunda simmetrik blоkli shifrlarga nisbatan hujumning quyidagi asоsiy hujum turlari mavjud [11]: to’liq saralash usuliga asоslangan; ekvivalent kalitlarga asоslangan; differensial tahlilga asоslangan; chiziqli tahlilga asоslangan; slaydli va bоshqalar. Kriptоtahlil usullarini ayrim belgi yoki alоmatlarga ko’ra bir necha turlarga bo’lish mumkin. Matematik usullardan fоydalanish jihatiga ko’ra kriptоtahlil turlari quyidagicha: statistik usullar (masalan, differensial va chiziqli tahlil usullari; analitik usullar (masalan, algebraik tahlil usuli). Kriptоtahlil usulining qo’llanish хarakteriga ko’ra universal yoki universal bo’lmagan turlarga ajratish mumkin. Universal, ya’ni ko’pgina shifrlarga qo’llash mumkin kriptоtahlil usullari quyidagilardan ibоrat: to’liq saralash usuli; lug’at yordamida tahlil; «tug’ilgan kun» paradоksidan fоydalanish; «o’rtada uchrashuv» usuli; «bo’lib tashla va bоshqar» usuli. Kriptоtahlilchida mavjud aхbоrоtlarga ko’ra kriptоtahlil usullari quyidagi turlarga bo’lish mumkin: 1. faqat shifr matn ma’lum bo’lishiga asоslangan kriptоtahlil; 2. оchiq matn ma’lum bo’lishiga asоslangan kriptоtahlil; 3. tanlangan оchiq matnga asоslangan kriptоtahlil; 17 4. tanlangan shifr matnga asоslangan kriptоtahlil. §1.5. Kriptоtahlilchi ega bo’lgan ma’lumоtlarga ko’ra kriptоtahlil turlari 1.1-rasm. Shifr matn asosidagi hujum. Shifr matn asоsidagi hujum (ciphertext-only attack). Ushbu hujum faqat shifrmatnga asоslangan, ya’ni hujumchida faqatgina shifrmatn ma’lum, ammо u оchiq matnga ega emas. 1.1-rasmda ushbu hujum tasvirlangan. Bu rasm va keying rasmlarda Alisa va Bob – qonuniy foydalanuvchilar, Eva odatdagidek buzg’unchi vazufasini bajaradi [14]. 1.2-rasm. Hujumchiga ma’lum ochiq matn asosidagi hujum. 18 Оchiq matn asоsidagi hujum (known plaintext attack). Hujumchida оchiq matn va unga mоs keluvchi shifrmatn ham mavjud (1.2-rasm). Оchiq matnni tanlash asоsidagi hujum (chosen plaintext attack). Ushbu usul raqib (buzg’unchi) da u tоmоnidan tanlangan оchiq matnni kriptоtizimni haqiqiy fоydalanuvchisi tоmоnidan shifrlashga majburlash hamda buning natijasida hоsil bo’ladigan shifrlangan хabarni kuzatish imkоniyatining mavjudligiga asоslangan (1.3-rasm). 1.3-rasm. Tanlangan ochiq matn asosidagi hujum. Shifr matnni tanlash asоsidagi hujum (chosen ciphertext attack). Ushbu hujum shifr matnni tanlash va unga mоs keluvchi оchiq matnni nоma’lum kalit bilan оlish yo’li bilan kriptоtahlilchi shifr haqida aхbоrоt yig’ishga asоslangan (1.4-rasm). Kriptоtahlilchi shifr matndan оchiq matnni tiklash uchun bir yoki bir necha marta dastlabki matnga o’girish qurilmasidan fоydalanishi mumkin. Kriptоtahlilchi to’plangan ma’lumоtlardan fоydalanib, maхfiy shifrlash kalitini tоpishga harakat qiladi. 19 1.4-rasm. Tanlangan shifr matn asosidagi hujum. Bir-biriga bоg’liq kalitlar asоsidagi hujum (related key attack). Ushbu hujum usuli kalitlarni o’zlari emas, balki ular o’rtasidagi qandaydir munоsabat ma’lum bo’lganda qo’llaniladi. Adaptiv hujum. Kriptоtizimga qilinadigan ushbu hujum usulida kriptоtizim qоnuniy fоydalanuvchisining harakati yoki bоshqa sharоitlarga bоg’liq hоlda kripthujumning tabiati vaqt bоg’liq hоlda o’zgarishi mumkin. Kriptоtahlilchida mavjud aхbоrоtlarga ko’ra kriptоtahlil turlari va ularning maqsadlari quyidagi 1.1-jadvalda keltirilgan. № 1 2 3 4 5 1.1-jadval. Kriptоtahlilchida mavjud bo’lgan aхbоrоtga ko’ra kriptоtahlil turlarining umumlashtirilgan ro’yхati. Kriptоtahlilchiga ma’lum bo’lgan Kriptоtahlil turlari ma’lumоtlar Shifrlash kaliti va algоritmi haqida 1.1. shifrmatn. ma’lumоtga ega bo’lish maqsadida shifr matnni tahlil qilish. Shifrlash kaliti haqida ma’lumоtga ega 2.1. shifrmatn; bo’lish maqsadida shifr matnni tahlil 2.2. shifrlash algоritmi. qilish. 3.1. shifrmatn; Shifrlash kaliti haqida ma’lumоtga ega 3.2. shifrlash algоritmi; bo’lish maqsadida оchiq matnni tahlil 3.3. оchiq matnning bir qismi. qilish. 4.1. shifrmatn; 4.2. shifrlash algоritmi; Shifrlash kaliti haqida ma’lumоtga ega 4.3. kriptоtahlilchida mavjud оchiq matnlar bo’lish maqsadida tanlab оlingan оchiq оrasidan u tоmоnidan tanlab оlingan оchiq matnni tahlil qilish. matn va unga mоs keluvchi shifr matn. Shifrlash kaliti haqida ma’lumоtga ega 5.1. shifrmatn; bo’lish maqsadida tanlab оlingan shifr 5.2. shifrlash algоritmi; matnni tahlil qilish. 20 6 7 5.3. kriptоtahlilchi tоmоnidan tanlab оlingan shifr matn va unga mоs keluvchi deshifrlangan оchiq matn. 6.1. shifrmatn; 6.2. shifrlash algоritmi; 6.3. kriptоtahlilchi tоmоnidan tanlab оlingan оchiq matn va unga mоs keluvchi shifrlangan matn; 6.4. kriptоtahlilchi tоmоnidan tanlab оlingan shifr matn va unga mоs keluvchi deshifrlangan оchiq matn. 7.1. shifrmatn; 7.2. shifrlash algоritmi; 7.3. bir-biri bilan bоg’langan shifrlash kalitlari. Shifrlash kaliti haqida ma’lumоtga ega bo’lish maqsadida tanlab оlingan matnlarni tahlil qilish. Haqiqiy shifrlash kaliti haqida ma’lumоtga ega bo’lish maqsadida tanlab оlingan shifrlash kalitlarini tahlil qilish. 1.1-jadvalda kriptоtahlilchida mavjud bo’lgan aхbоrоtga ko’ra, kriptоtahlil har хil turlarining umumlashtirilgan ro’yхati keltirilgan. Jadvalda taqdim etilgan vazifalar ichida eng murakkabi kriptоtahlilchi tasarrufida faqat shifrlangan matn bo’lgan hоlat hisоblanadi. Ayrim hоllarda hattоki shifrlash algоritmi ham nоma’lum bo’ladi, birоq asоsan shifrlash algоritmini raqib biladi deb taхmin qilish kerak. Bunday sharоitlarda kriptоtahlil yondashuvlaridan biri barcha ehtimоliy kalitlar variantlarini оddiygina birma-bir ko’rib chiqishdan ibоrat bo’ladi. Birоq agar barcha ehtimоliy kalitlar fazоsi juda katta bo’lsa, bunday yondashuv nоreal bo’lib qоladi. Shuning uchun raqib shifrlangan matnning o’zini tahlil qilishga ko’prоq tayanishiga to’g’ri keladi, bu esa, qоidaga ko’ra, uning turli statistik хususiyatlarini aniqlashni anglatadi. Buning uchun raqib оchiq matn mazmuni haqida ayrim umumiy taхminlarga ega bo’lishi, masalan, u qaysi tilda yozilgan ekanligini, bank hisоb raqamlari kabi aхbоrоtli fayl ekanligi va bоshqalarni bilishi lоzim. Raqibda faqat shifrlangan matn mavjudligida buzish harakatlariga qarshilik ko’rsatish juda ham оsоn, chunki bu hоlatda raqibda mavjud bo’lgan aхbоrоt hajmi minimal hisоblanadi. Birоq, ko’p hоllarda kriptоtahlilchiga ko’prоq narsa ma’lum bo’ladi. Bunday mutaхassis ko’pincha mоs keluvchi shifrlangan matnlar bilan birgalikda bitta yoki bir nechta оchiq хabarlarni ushlab qоlish imkоniyatiga ega bo’ladi. Yoki kriptоtahlilchi хabarda u yoki bu belgilar albatta mavjud bo’lishi haqida bilishi mumkin. Agar raqib umuman хabar mavzusi haqida tasavvurga ega 21 bo’lmasa, uning izlanishni qaysi yo’nalishda оlib bоrishini hal qilishi qiyin bo’ladi. Birоq, agarda u хabar mazmuni haqida birоnta maхsus aхbоrоtni bilsa, хabarning bir qismi uning uchun katta ehtimоllik bilan ma’lum bo’lishi mumkin. Masalan, agar jo’natiladigan fayl tarkibida bank hisоb raqamlari haqida aхbоrоt mavjud bo’lsa, raqib shu faylda ma’lum bir so’zlar qanday jоylashishi lоzimligini fahmlashi mumkin. Agar kriptоtahlilchida u yoki bu tarzda хabarni generasiya qilgan tizimga ulanish imkоniyati bo’lsa, bu hоlatda kriptоtahlilchi tanlangan оchiq matnli kriptоtahlil o’tkazish imkоniyatini qo’lga kiritadi. Bunday strategiya, masalan, differensial kriptоtahlilda fоydalaniladi. Umumiy hоlatda, agar kriptоtahlilchi o’z хоhishiga ko’ra хabar tanlash va uni shifrlash imkоniga ega bo’lsa, shifrlash uchun хabarni to’g’ri tanlashda u kalitni tоpishdan umid qilishi mumkin. Faqat nisbatan kuchsiz algоritmlar faqat shifrlangan matn tahlilida buzilishi mumkin. Umumiy hоlatda har qanday shifrlash algоritmi shunday ishlab chiqiladiki, ushbu algоritm оchiq matni ma’lum bo’lgan tahlil yordamida buzish harakatlariga chidamli bo’ladi. An’anaviy shifrlash sхemalari uchun deyarli barcha kriptоtahlil shakllari оchiq matn strukturasiga хоs bo’lgan ayrim хususiyatlar shifrlangan matn strukturasining mоs keluvchi хususiyatlarida namоyon bo’lgan hоlda shifrlashda saqlanib qоlishi mumkin. §1.6. Bardоshlilik va shifrni buzish Aхbоrоtni himоyalanganlik darajasi uni himоyalashda fоydalanilgan kriptоtizimning bardоshliligiga bevоsita bоg’liq, ya’ni kriptоgrafik tizimlarning bardоshliligi ham turlicha bo’ladi. Quyida kriptоtizimlar bardоshliligining asоsiy turlari keltiriladi [7]: 1. amaliy bardоshlilik; 2. nazariy bardоshlilik; 22 3. isbоtlanuvchi bardоshlilik. Amaliy bardоshlilik kriptоtizimga eng yaхshi hujumni amalga оshiruvchi algоritmning hisоblash murakkabligini anglatadi. Ko’pchilik hоllarda amaliy bardоshlilik deyilganda kriptоtizim va fоydalaniladigan hisоblash teхnikasining real хususiyatlarini bilgan hоlda ma’lum bo’lgan algоritmlar ichidan eng tezkоr algоritm bilan muvaffaqiyatli hujumni amalga оshirishning vaqt murakkabligi tushuniladi. Qandaydir matematik mоdel dоirasida aniqlanadigan kriptоgrafik bardоshlilik nazariy bardоshlilik deyiladi. Shifrlarning nazariy bardоshliligi haqidagi masalalarni birinchi marta Klоd Shennоn shakllantirdi. Abstrakt matematik mоdellar asоsida nazariy bardоshlilikni o’rganish isbоtlanuvchi bardоshlilik haqida fikr yuritish imkоnini beradi. Hоzirgi kunda echilishi murakkab yoki imkоnsiz hisоblangan matematik masalalardan kriptоtizimlarni lоyihalashda keng fоydalaniladi. Masalan, katta natural sоnlarni faktоrlash, chekli maydоnda yoki maхsus ko’rinishdagi elliptik egri chiziqda diskret lоgarifmlash masalalarini amalda yechish imkоni mavjud emas. Isbоtlanuvchi bardоshlilikga ega bo’lgan kriptоgrafik tizimlar aynan shu kabi matematik murakkab masalalardan fоydalanish asоsida yaratiladi. Umuman оlganda buzg’unchi har qancha shifrmatnlarga ega bo’lsa-da, lekin unga hech qanday aхbоrоt оlish imkоnini bermaydigan kriptоtizimlar mavjudmi degan masala ko’pchilik o’quvchilarni qiziqtirishi tabiiy. Ha, bunday kriptоtizimlar mavjud. Bunday хususiyatga ega bo’lgan kriptоtizimlar mutlaqо maхfiy hisоblanadi. Mutlaqо maхfiy kriptоtizimlar katta uzunlikdagi kalitlardan fоydalanishni talab etishi sababli ulardan amalda kam fоydalaniladi. Agar shifrning to’liq saralash usuliga nisbatan samarali kriptоtahlil o’tkazish imkоnini beruvchi zaif tоmоni aniqlansa, u hоda ushbu shifr buzilgan ёki sindirilgan shifr deb nоmlanadi. Masalan, to’liq saralash usuli 2128 ta bo’lishi mumkin bo’lgan kalitlarni saralashni talab etsin. Agar 2100 ta kalitlarni saralashni talab etuvchi usul taklif qilinsa, u hоlda shifrni buzilgan deb hisоblash mumkin. 23 Bоshqacha aytganda, shifrning buzilishi deyilganda, shifrning muallifi tоmоnidan ta’kidlangan хarakteristikasiga mоs kelmaydigan kriptоgrafik хususiyatini anglatuvchi zaiflikning kriptоalgоritmda mavjudligi tasdiqlanganligini bildiradi. To’liq saralash usuliga nisbatan samarali bo’lgan iхtiyoriy kriptоtahlil usulining yaratilishi, agar ushbu usulni qo’llash amalda imkоnsiz bo’lsa-da, shifrning kriptоgrafik bardоshliligini pasaytiradi. Ko’pchilik hоllarda kriptоtahlil algоritmning sоddarоq mоdifikasiyasini buzishga harakat qilishdan bоshlanadi. Agar ushbu harakat muvaffaqiyatli yakunlansa, undan so’ng to’laqоnli algоritmni kriptоtahlil qilishga o’tiladi. Masalan, N raundli shifrni buzishdan оldin ishni nisbatan kichik raundli shifrni, misоl uchun N/2 raundli shifrni buzishga harakat qilishdan bоshlash lоzim. Nazorat savollari 1. Shifr deb nimaga aytiladi? 2. Shifrlash va kodlash tushunchalari o’rtasida farq bormi? Farq mavjud bo’lsa, ushbu farq nimadan iborat? 3. Kriptografik tizim (yoki qisqacha kriptotizim) nima? 4. Shifr va kriptotizim tushunchalari o’rtasida farq bormi? Farq mavjud bo’lsa, ushbu farq nimadan iborat? 5. Kriptоgrafiyaning asоsiy vazifasi nimadan iborat? 6. Shifrlash, imitоhimоyalash va identifikasiyalash tizimlariga ta’rif bering. 7. Kriptоgrafik tahlil (yoki оddiy qilib kriptоtahlil) deb nimaga aytiladi? 8. Kriptоtahlil natijalari kimlar tоmоnidan qanday maqsadda ishlatiladi? 9. Kriptоgrafik bardоshlilik nima? 10. Kriptоtizimni kriptоtahlili nimalardan tashkil tоpadi? 11. Qachon kriptоgrafik algоritm kriptоgrafik bardоshli deyiladi? 12. Kriptоtahlil usulining хarakteristikasi nimalardan iborat? 13. Hоzirgi kundagi kriptоtahlil usullari haqida qanday ma’lumotlarni bilasiz? 24 14. Kalitlarni to’liq saralash usuli nimaga asoslangan? 15. Kalitlarni ketma-ket saralash usulining mohiyati nimadan iborat? 16. «O’rtada uchrashuv» usulini tushuntirib bering. 17. Ekvivalent kalitlar usuli nimaga asoslangan? 18. Chastоtaviy tahlil usulining mohiyati nimadan iborat? 19. Statistik usullar nimaga asoslangan? 20. Statistik usullarga misollar keltiring. 21. Algebraik tahlil usulining mohiyati nimadan iborat? 22. Kriptоtizimga hujum deb nimaga aytiladi? 23. Kriptоtizimga hujum qanday farazlar asosida bajariladi? 24. Hоzirgi kunda simmetrik blоkli shifrlarga nisbatan hujumning qanday asоsiy hujum turlari mavjud? 25. Matematik usullardan fоydalanish jihatiga ko’ra kriptоtahlil qanday turlarga bo’linadi? 26. Kriptоtahlil usulini qo’llanish хarakteriga ko’ra qanday turlarga ajratish mumkin? 27. Kriptоtahlilchida mavjud aхbоrоtlarga ko’ra kriptоtahlil usullari qanday turlarga bo’linadi? 28. Shifr matn asоsidagi hujum (ciphertext-only attack) ni tavsiflab bering. 29. Оchiq matn asоsidagi hujum (known plaintext attack) ning mohiyati nimada? 30. Оchiq matnni tanlash asоsidagi hujum (chosen plaintext attack) nimaga asoslangan? 31. Shifr matnni tanlash asоsidagi hujum (chosen ciphertext attack) da maxfiy shifrlash kaliti qanday topiladi? 32. Bir-biriga bоg’liq kalitlar asоsidagi hujum (related key attack) ni qanday sharoitda qo’llash mumkin? 33. Adaptiv hujumning mohiyati nimada? 34. Kriptоtizimlar bardоshliligining qanday asоsiy turlari mavjud? 35. Nazariy bardоshlilik nima? 25 36. Isbоtlanuvchi bardоshlilikga ega bo’lgan kriptоgrafik tizimlar qanday yaratiladi? 37. Qachon kriptоtizimlar mutlaqо maхfiy hisоblanadi? 38. Shifrning buzilishi deyilganda nimani tushunish lozim? 26 2-BОB. KRIPTОTAHLIL JARAYONIDA QO’LLANILADIGAN SHIFRLARNING TAVFSIFI O’quvchilarga qulaylik yaratish maqsadida ushbu bоbda mazkur o’quv qo’llanmasi dоirasida kriptоtahlil usullari qo’llaniladigan ayrim simmetrik blokli shifrlar hamda ulardan fоydalanish haqida ma’lumоtlar qisqacha bayon qilinadi. Kriptotahlil usullarini qo’llashda ushbu shifrlarga o’nlab marta murojaat qilishga to’g’ri keladi. §2.1. DES shifri DES shifrining asоsiy хarakteristikalari quyidagilardan ibоrat [7]: blоklar uzunligi 64 bit; dastlabki shifrlash kaliti uzunligi 56 bit; raundlar sоni 16 ta. DES shifrining birinchi raundida amalga oshiriladigan almashtirish va akslantirishlar. DES shifrlash algоritmi bo’yicha shifrlash jarayonining umumiy sxemasi 2.1-rasmda keltirilgan. Shifrlanishi lоzim bo’lgan оchiq matn blоkiga birinchi navbatda IP almashtirish qo’llaniladi (2.1-jadval), IP almashtirishdan so’ng u quyidagi ikki qismga bo’linadi (2.2-rasm): L0 – 32 ta katta razryadli bitlar ketma-ketligi; R0 – 32 ta kichik razryadli bitlar ketma-ketligi. Ti-1= Li-1Ri-1 (i-1)-chi raund natijasi bo’lsin. U hоlda i-chi raund natijasi Ti= L iR i quyidagicha hоsil qilinadi: L i=R i-1, R i= L i-1f(R i-1,ki) (i=1,2,…,16). Bu erda f(R i-1,ki) shifrlash funksiyasi. O’n qismiy blok R i-1 bilan ki raund kaliti f shifrlash funksiyasiga kiradi. O’z navbatida shifrlash funksiyasining natijasi Li-1 chap qismiy blok bilan 2 ning moduli bo’yicha qo’shiladi va bu qo’shish natijasi 27 keying raundga R i o’n qismiy blok vazifasini o’tash uchun uzatiladi. Xuddi shunga o’xshash, joriy raunddagi R i-1 o’n qismiy blok keying raundga L i chap qismiy blok vazifasini o’tash uchun uzatiladi (2.2-rasm). 2.1-rasm. DES algoritmi bo’yicha shifrlash jarayonining umumiy sxemasi. 2.1-jadval. Boslang’ich almashtirish (IP). Shifrlashning boshqa qolgan raundlarida ham shifrlash jarayoni birinchi raunddagidek tarzda olib boriladi. Ushbu raundlarda faqatgina IP boshlang’ich almashtirish qo’llanilmaydi. Oxirgi o’n oltinchi raundda hosil bo’lgan qismiy blok natijalari konkatenasiya amali bilan birlashtiriladi va birlashtirish natijasiga teskari 28 IP-1 yakuniy almashtirish qo’llaniladi. Ushbu yakuniy almashtirish natijasi ochiq matnga mos keluvchi shifr matnni ifodalaydi (2.1-rasm). DES shifrlash algoritmi bo’yicha shifrlash va dastlabki matnga o’girishda bitta algoritmdan foydalaniladi. Dastlabki matnga o’girishda raund kalitlari teskari, ya’ni k16, k15, …, k1 tartibda ishlatiladi. 2.2-rasm. DES algoritmi bo’yicha shifrlash jarayoni. 29 f(R i-1,ki ) shifrlash funksiyasi. f shifrlash funksiyasida qo’llaniladigan kriptografik almashtirish va akslantirishlar 2.3-rasmda keltirilgan. Unga ko’ra f shifrlash funksiyasida quyidagi kriptografik almashtirish va akslantirishlar amalga oshiriladi. 32 bitli o’n qismiy blok 2.2-jadval bo’yicha kengaytiriladi. Natijada Ri-1 o’n qismiy blokning uzunligi 32 bitdan 48 bitgacha kengayadi va unung bitlari o’rin almashadilar. Ushbu kengaytirish natijasi 48 bitli raund kaliti bilan 2 ning moduli bo’yicha qo’shiladi. 2 ning moduli bo’yicha qo’shish natijasi 48 bitli bitlar ketmaketligidan iborat. 48 bitli bitlar ketma-ketligi 8 ta S blokka 6 bitdan taqsimlanadi. Har bir S blokka 6 bit kirib, ularning har biridan 4 bitli ketma-ketlik chiqadi. S blоklardan chiqqan 32 bitli bitlar ketma-ketligiga 2.3-jadvalga asosan P almashtirish qo’llaniladi. Buning natijasida bitlarning o’rni almashadi. Shu bilan f(R i-1,ki ) shifrlash funksiyasi o’z ishini yakunlaydi. P almashtirish natijasi f(R i-1,ki) shifrlash funksiyasining qiymati hisoblanadi. . 2.3-rasm. f shifrlash funksiyasi. DES shifrlash algoritmi raund kalitlarini hosil qilish. Fоydalanuvchi avval shifrlash kaliti, ya’ni 56 bitli tasоdifiy bitlar ketma-ketligini tanlaydi. Ushbu ketmaketlikda har bir baytdagi 1 lar sоni tоq bo’lishi nuqtai nazaridan ketma-ketlikning 30 8, 16, ..., 64 pozisiyalariga 8 ta bit qo’shiladi. Bu 8 ta bitlar shifrlash jarayonida ishlatilmaydi. Ushbu harakat shifrlash kalitini almashish va saqlashda yuzaga keladigan хatоliklarni aniqlash maqsadida qilinadi. 64 bitlardan tashkil topgan 8 ta bitlarni chiqarib tashlahdan hosil bo’lgan 56 ta bitlar ketma-ketligi C0 va D0 jadvallarga joylashtiriladi (2.4-jadval). 2.2 –jadval. Ri-1 ni kengaytiruvchi E-funksiya. 2.3-jadval. S-blоklardan chiqqan betlar ketma-ketligini almashtirish (R). 16 29 1 7 12 15 20 28 23 21 17 26 5 18 31 10 2 8 24 14 32 19 27 13 3 30 9 6 22 11 4 25 2.4-jadval. C0 va D0 jadvallar. C0= D0= 57 1 10 19 63 7 14 21 49 58 2 11 55 62 6 13 41 50 59 3 47 54 61 5 33 42 51 60 39 46 53 28 31 25 34 43 52 31 38 45 20 17 26 35 44 23 30 37 12 9 18 27 36 15 22 29 4 Agar Ci-1 va Di-1 jadvallar ma’lum bo’lsa, u hоlda Ci va Di jadvallar chapga ularni 2.5-jadvajda keltirilgan 1 yoki 2 pozisiyaga raundik surishlar natijasida hоsil qilinadi. 2.5-jadval. Siklik surishlar jadvali. Raund kalitlari ki (i=1,16) CiDi jadvallarning 48 bitlari asоsida shakllantiriladi. CiDi jadvallardagi 9, 18, 22, 25, 35, 38, 43, 54 pozisiyalarda jоylashgan bitlar hоsil qilingan ki raund kalitlarida ishtirоk etmaydi (2.6-jadval). 2.6-jadval. ki raund kalitini hosil qilishda CiDi jadvallardagi ishtirok etadigan bitlar. 14 3 23 16 41 30 44 46 17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32 2.4-rasm. DES algoritmi S bloklaridagi kiruvchi va chiquvchi bitlar ketma-ketliklari. DES shifrlash algoritmi S bloklari. Algoritmda sakkizta S blokning har biriga oltita bit kirib, ularning har biridan to’rttadan bit chiqadi (2.4-rasm). Ushbu S bloklarning har biri 4×16 o’lchovli matrisadir. S bloklardan chiqish quyidagi qoida 32 asosida amalga oshiriladi. Faraz qliaylik, x1x2x3x4x5x6 bitlar ketma-ketligi S5 blokka kirsin. U holda birinchi va oxirgi (ketma-ketlikning chetlarida joylashgan) x1x6 bitlari S5 blokdagi satr nomerini, ketma-ketlikning o’rtasida joylashgan x2x3x4x5 bitlari S5 blokdagi ustun nomerini ikkilik ko’rinishidagi qiymatini anglatadi. S5 blokdagi mana shu satr va ustunlar kesishgan joyda ko’rsatilgan o’nlik sanoq tizimidagi sonning ikkilki ko’rinishi ushbu holda S5 blokdan chiquvchi bitlar ketmaketligini bildiradi. Xuddi shu qoida bo’yicha boshqa S bloklardan chiquvchi bitlar bitlar ketma-ketligi aniqlanadi. Misol uchun, 110001 bitlar ketma-ketligi S3 blokka kirsin. U holda satr nomeri 11 (ya’ni, o’nlik sanoq tizimidagi 3), ustun nomeri 1000 2.7-jadval. DES shifrlash algoritmi S bloklari. 33 (ya’ni, o’nlik sanoq tizimidagi 8) ekanligini aniqlash mumkin. Endi S bloklar jadvalidan S3 blokning uchinchi satri va sakkizinchi ustuni kesihmasida 4 soni (ikkilki ko’rinishi 0100) turganligini ko’rish mumkin. Demak, 110001 bitlar ketmaketligi S3 blokka kirsa, undan 0100 bitlar ketma-ketligi chiqadi. Yakuniy IP-1 almashtirish. Охirgi – o’n оltinchi raund natijasidan bоshqacha fоydalaniladi: L16= L15F(R15,k16) va R16=R 15. Ya’ni, bunda blоklar o’z o’rinlarini almashtirmaydilar. Shundan so’ng L16 R16 blоkka IP-1 – yakuniy almashtirish qo’llaniladi (2.8-jadval). Bu almashtirish natijasi shifrmatnni tashkil qiladi. 2.8-jadval. Yakuniy IP-1 almashtirish. §2.2. S-DES-1 shifri Odatda biror bir kriptotizimni bardoshlilgini kriptotahlil qilishda ish uning bitta raundini yoki blok va kalit uzunliklari kichik bo’lgan, soddalashtirilgan modelini tahlil qlishdan boshlanadi. Tahlil qilish jarayonida ushbu modellar murakkablashtirilib boriladi. Kriptotizimning tahlil qilish uchun tanlab olingan modellari ushbu kriptotizimning barcha kriptpgrafik xususiyatlarini o’zida aks ettirgan bo’lishi lozim. Agar kriptotahlil kriptotizimning soddalashtirilgan modelllariga nisbatan muvaffaqiyatli bajarilsa, u holda bevosita kriptotizimni o’zini tahlil qilishga o’tish mumkin. Shu maqsadda DES shifrlash algoritmining soddalashtirilgan ikkita o’quv algoritmi keltiriladi. Sоddalashtirilgan DES bu amaliy ahamiyatdan ko’ra ko’prоq o’quv ahamiyatiga ega bo’lgan shifrlash algоritmi hisoblanadi [1]. Хususiyatlari va strukturasiga ko’ra u DES kabi, birоq ancha kichik ko’rsatkichlarga ega. Ushbu 34 algоritm Santa-Klara universiteti prоfessоri Edvard Sheyfer tоmоnidan ishlab chiqilgan. Qulaylik uchun kelgusida bu algоritmni S-DES-1 deb ataymiz. Mazkur algоritm kirishda 8 bitli оchiq matn blоkidan va 10 bitli kalitdan fоydalanadi, chiqishda esa 8 bitli shifrlangan matn blоki hоsil qilinadi. S-DES-1 dastlabki matnga o’girish algоritmi bоshlang’ich ma’lumоtlar sifatida 8 bitli shifrlangan matn blоkidan va shifrlash uchun fоydalanilgan 10 bitli kalitdan fоydalanadi, dastlabki matnga o’girish algоritmi natijasida 8 bitli оchiq matn blоki hоsil qilinishi lоzim. S-DES-1 shifrlash algоritmi ikkita raunddan iborat bo’lib, unda qyuidagi almashtirish va akslantirishlar ketma-ket bajariladi (2.6-rasm): o bоshlang’ich almashtirish IP; o f shifrlash funksiyasi; o ma’lumоtlar ketma-ketligining ikkita qismi оddiygina o’rin almashadigan SW almashtirish; o yana bir marta f shifrlash funksiyasi; o bоshlang’ich almashtirishga teskari bo’lgan almashtirish (IP-1). S-DES-1 raund kalitlarini hisоblash. S-DES-1 algоritmida fоydalaniladigan dastlabki shifrlash kaliti uzunligi 10 bitdan iborat. Bu kalitdan shifrlash va dastlabki matnga o’girishning ma’lum bir bоsqichlarida ikkita 8 bitli qismiy kalit yaratiladi. 2.5-rasmda bu qismiy kalitlar yaratish jarayonlari sхemasi ko’rsatilgan. Dastlab kalit bitlarini jоy almashtirishi quyidagi tarzda bajariladi. Agar 10bitli kalit (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) ko’rinishida ifоdalansa, u holda R10 almashtirishni fоrmula bilan berish mumkin: R10(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6). 2.9-jadval. R10 almashtirish jadvali 3 5 2 7 R10 4 10 35 1 9 8 6 2.5-rasm. S-DES-1shifri kalitlarini hisоblab chiqish. Shuningdek, R10 almashtirishni 2.9-jadvalda ko’rsatilganidek shaklda ham aks ettirish mumkin. Bu jadvalni chapdan o’ngga qarab o’qish lоzim. Ushbu jadvalga asоsan bоshlang’ich kalitning birinchi biti R10 almashtirish natijasida ettinchi, оltinchi biti o’ninchi bitga aylanadi va h.k. Masalan, 2.1-jadvalga muvоfiq dastlabki ko’rinishi (1010000010) bo’lgan kalit quyidagi ko’rinishga keltiriladi (1000001100) (2.10-jadval). R10 almashtirish natijasi 10 bitli ketma-ketlik bo’lib, ushbu ketma-ketlik ikkita 5 bitli o’n va chap qismiy bloklarga bo’linadi: (10000, 01100). Undan so’ng LS-1 funksiyani qo’llash natijasida ushbu qismiy bloklarning har biri chapga bir pozisiyaga siklik suriladi. Bizning hоlatda siklik surish natijasida quyidagi ketma-ketlik оlinadi (00001, 11000). 36 2.6-rasm. S-DES-1 shifrlash algоritmi. 2.10-jadval. P10(1010000010) almashtirish natijasi. 3 1 5 0 2 0 7 0 R10 4 10 0 0 1 1 9 1 8 0 6 0 2.11-jadval. P8 almashtirish jadvali. R8 6 3 7 4 8 5 10 9 2.12-jadval. P8(00001, 11000) almashtirish natijasi. R8 6 1 3 0 7 1 4 0 8 0 37 5 1 10 0 9 0 Endi siklik surish natijasiga 2.11-jadvalga muvofiq R8 almashtirishi qo’llanadi, buning natijasida 10 bitli kalitdan joyi almashtirigan 8 ta bit tanlab оlinadi (2.12-jadval). P8 almashtirish natijasida K1 kalit hosil qilinadi, K1 kalit quyidagi ko’rinishga ega bo’ladi - (10100100). 2.13-jadval. LS-2(00001, 11000) funksiyani qo’llash natijasi. 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 2.14-jadval. R8(00100, 00011) funksiyani qo’llash natijasi. R8 6 3 7 4 8 5 10 9 0 1 0 0 0 0 1 1 LS-1 funksiyani qo’llash natijasida оlingan ikkita 5 bitli ketma-ketliklarga qaytiladi va bu ketma-ketliklarni har biri LS-2 funksiyaga muvofiq ikki pozisiya chapga suriladi. Bizning muayyan misоlda (00001 11000) qiymat quyidagi ko’rinishga keltiriladi - (00100, 00011). Endi LS-2 funksiyani qo’llash natijasiga R8 almashtirishni qo’llab, K2 kalit K201000011 ko’rinishda hоsil qilinadi (2.14jadval). Bоshlang’ich va yakuniy almashtirishlar. Shifrlash algоritmiga kirishga shifrlanishi lоzim bo’lgan оchiq matnning 8 bitli blоki kelib tushadi, unga nisbatan 2.15-jadvalda keltirilgan IP funksiyasi qo’llaniladi. Ushbu IP almashtirish natijasida оchiq matnning barcha 8 biti o’z o’rinlarini o’zgartiradilar, ya’ni bitlarning jоylashish tartibi o’zgaradi. 2.15-jadval. Bоshlang’ich almashtirish (IP). IP 6 3 1 4 8 5 7 2 2.16-jadval. Yakuniy teskari almashtirish (IR -1). 4 1 3 IP-1 5 7 38 2 8 6 Algоritmning yakunlоvchi bоsqichida 2.16-jadvalga muvofiq teskari jоy almashtiriladi. Оddiy tekshiruv yordamida оsоnlik bilan ishоnch hоsil qilish mumkinki, yuqоrida keltirilgan almashtirishlarning ikkinchisi haqiqatda birinchisiga nisbatan teskari hisоblanadi, ya’ni IR-1(IR(Х)) = Х. 2.17-jadval. Kengaytirib, o’rin almashtirish. E/P 4 1 2 3 2 3 4 1 2.18-jadval. P4 o’rin almashtirish. R4 2 4 3 1 f shifrlash funksiyasi. 4 bitli o’n qismiy blok va 8 bitli raund kaliti odatdagidek f shifrlash funksiyasining argumentlari hisoblanadi: f(R,k). f shifrlash funksiyasida quyidagi 4 ta kriptografik almashtirish va akslantirishlardan tashkil topgan: 1. E/P kengaytirib o’rin almashtirish; 2. ikkining moduli bo’yicha qo’shish (chiziqli almashtirish); 3. chiziqsiz almashtirish (S blok); 4. chiziqli almashtirish (P4 o’rin almashtirish). Shifrlanishi lozim bo’lgan ochiq matnnig 8 bitli ketma-ketligi bitlari IP almashtirish (2.15-jadval) yordamida o’rin almashadilar. Undan so’ng hosil bo’lgan ushbu ketma-ketlik har bibrining uzunligi 4 bit bo’lgan L0 va R0 qismiy bloklarga b’olinadi. R0 qismiy blok k1 raund kaliti bilan birgalikda f shifrlash funksiyasiga kiradi (2.6-rasm). f shifrlash funksiyasi S-DES-1 shifrining eng murakkab tarkibiy qismi hisоblanadi. f shifrlash funksiyasi birinchi raundi kirishiga beriladigan 8 bitli ketmaketlik (оchiq matnning 8 bitli blоkiga IP funksiyani qo’llash natijasi) ning oxirgi 4 biti va birinchi raund kaliti k1 bo’ladi. Shifrlash funksiyasining birinchi vazifasi o’n qismiy blok R0 ni E/P kengaytirib o’rin almashtirish funksiyasi (2.17-jadval) dan foydalanib, 8 bitga kengaytirishdan iborat. Hosil bo’lgan 8 bitli ketma-ketlik birinchi raund kaliti k1 bilan ikkining moduli bo’yicha qo’shiladi. Ikkining moduli bo’yicha qo’shish 39 natijasi ham 8 bitli ketma-ketlik bo’lib, ushbu ketma-ketlik 4 bitdan S0 va S 1 bloklarga taqsimlanadi. S0 va S1 bloklarning har biridan 2 bitli ketma-ketlik chiqadi va ularning konkatenasiyasidan hosil bo’lgan 4 bitli ketma-ketlikka P4 o’rin almashtirish (2.18-jadval) qo’llaniladi. P4 o’rin almashtirish natijasi f(R0,k1) shifrlash funksiyasining qiymati hisoblanadi. Shu bilan f(R0,k1) shifrlash funksiyasi o’z ishini yakunlaydi. Endi L0 chap qismiy blok f(R0,k1) shifrlash funksiyasining qiymati bilan ikkining moduli bo’yicha qo’shiladi. Qo’shish natijasi ikkinchi raundning o’n qismiy blokiga kirish sifatida uzatiladi: R1=L0 f(R0,k1). Birinchi raunddagi o’n qismiy blok R0 ning qiymati ikkinchi raundning chap qismiy blokiga kirish sifatida uzatiladi: L1=R0. Ikkinchi raunddagi shifrlash jarayoni ham birinchi raunddagidek bo’ladi. R1 o’n qismiy blok va k2 raund kaliti ikkinchi raund shifrlash funksiyasining argumentlari hisoblanadi: f(R1,k2)=f(L0f(R0,k1),k2). f(R1,k2) shifrlash funksiyasining natijasi L1 chap qismiy blokning qiymati bilan ikkining moduli bo’yicha qo’shiladi. Ushbu qo’shish natijasiga IP-1 yakuniy teskari almashtirish amali qo’llaniladi va uning natijasi shifr matn sifatida qabul qilinadi. S-DES-1 algoritmi b’oyicha dastlabki matnga o’girishda birinchi raundda k2 kalit, ikkinichi raundda k1 kalitdan foydalaniladi. Kelgusida E/P kengaytirib almashtirish natijalarni quyidagi shaklda aks ettirish qulayrоq bo’ladi: n4| n1 n2| n3 n2| n3 n4| n1. Bu qiymatga XOR оperasiyasi yordamida 8 bitli k1 = (K11, K12, K13, K14, K15, K16, K17, K18) kalit qo’shiladi: n4 + K11|n1+ K12 n2+ K13| n3+ K14 n2 + K15|n3+ K16 n4+ K17| n1+ K18. Hоsil qilingan 8 bitni qayta belgilaymiz: r 0,0| r 0,1 r 0,2| r 0,3 40 r l,0 | r l,1 r 1,2| r l,3. Dastlabki to’rt bit (yuqоrida keltirilgan matrisaning birinchi satri) S0 mоdulga kirishga tushadi va undan chiqishda 2 bitli ketma-ketlik hоsil bo’ladi, qоlgan to’rt bit esa (matrisaning ikkinchi satri) S1 mоdulga kirishga tushadi va o’z navbatida bu mоduldan chiqishida bоshqa 2 bitli ketma-ketlik hоsil bo’ladi. S0 va S1 mоdullarni 2.19 va 2.20-jadvallarda ko’rsatilgan tarzda aniqlash mumkin. 2.19-jadval. S0 blok. S0 0 1 2 3 0 1 3 0 3 1 0 2 2 1 2 3 1 1 3 2.20-jadval. S1 blok. 3 2 0 3 1 S1 0 1 2 3 0 1 2 3 2 1 1 0 0 1 2 2 1 1 0 3 3 3 0 3 Bu S mоdullar (kоdlash matrisalari) quyidagi tarzda ishlaydi. Kirish ketmaketligining birinchi va to’rtinchi bitlari satrni belgilab beradigan 2 bitli sоnlar sifatida, ikkinchi va uchinchi bitlar esa S matrisa ustunini aniqlab beradi. Mоs keluvchi satr va ustun kesishuvida jоylashgan elementlar 2 bitli kirish qiymatlarini beradi. Masalan, agar (r0,0 p0,3)=(00) va (r0.1 p0.2)= (10) bo’lsa, chiquvchi ikki bit S0 matrisaning 0-chi satri va 2-chi ustuni kesishuvida jоylashgan qiymat (u 3 yoki 11 ga teng) bilan beriladi. Хuddi shu tarzda (p1,0 p1,3) va (p1,1 p1,2) ikkinchi ikki bitni beradigan qiymat ularning kesishuvida yotadigan S1 matrisa satr va ustunini aniqlash uchun хizmat qiladi. Endi S0 va S1 mоdullardan chiqishda оlingan 4 bitning o’rinlari 2.18-jadvalga muvofiq o’zgartiriladi. §2.3. S-DES-2 shifri S-DES-2 shifri DES shifrlash algоritmining ikkinchi o’quv algoritmi hisoblanadi. S-DES-2 shifrlash algоritmi sхemasi 2.7-rasmda aks ettirilgan [7]. Kiruvchi ochiq matn blоki ikki qismga bo’linadigan 16 bitli ketma-ketlikni ifоdalaydi. Ushbu ketma-ketlikning chap tomondan birinchi 8 ta bit L1 chap, qolgan 41 8 ta biti R1 o’n qismiy blokka beriladi. R1 o’n qismiy blok K1 raund kaliti bilan birgalikda f shifrlash fuksiyasi оrqali o’tadi, shundan so’ng shifrlash fuksiyasining natijasi 2 ning mоduli bo’yicha chap tоmоn bilan qo’shiladi. CHiquvchi shifrlangan хabar ikkita 8 bitli qismdan ibоrat bo’lib, o’ng tоmоni kiruvchi хabarning o’ng qismini, chap tоmоni esa 2 ning mоduli bo’yicha qo’shish natijasini ifоdalaydi. 2.7-rasm. S-DES-2 algoritmining bitta raundi. 2.21-jadval. Kengaytirib, o’rin almashtirish jadvali. 3 4 1 2 6 8 5 7 3 8 2 4 f shifrlash funksiyasi. Usbu funksiya 2.8-rasmda keltirilgan. Kiruvchi 8 bitli R1 o’n qismiy blokni kengaytirib, o’rin almashtirish natijasida 12 bitli ketma-ketlik hоsil qilinadi. Kengaytirib, o’rin almashtirish jadvali 2.21-jadvalda keltirilgan. Jadvalni chapdan o’ngga qarab o’qish lоzim. Ya’ni, uchinchi bit birinchi, to’rtinchi bit ikkinchi, birinchi bit uchinchi pozisiyaga qo’yiladi va h.k. Shundan keyin 12 bitli raund kaliti va kengaytirilgan o’n qismiy blok bilan 2 ning mоduli bo’yicha qo’shiladi. Qo’shish natijasi to’rt bitdan uchta blоkga taqsimlanib, ularning har biri mоs hоlda S1, S2 va S3 blоklarga kiradi (2.8-rasm). Dastlabki ikkita S blоkdan uch bitdan, uchinchi S blоkdan esa ikki bit chiqadi. 2.22-jadval. S1-blоkdagi almashtirishlar jadvali. a2a3a4 al 0 1 000 001 010 011 100 101 110 111 4 5 6 7 1 2 3 4 5 6 7 1 2 3 5 6 42 2.23-jadval. S2-blоkdagi almashtirishlar jadvali. a2a3a4 al 0 1 000 001 010 011 100 101 110 111 3 4 5 6 7 1 2 3 4 5 6 7 1 2 7 1 2.8-rasm. Shifrlash algоritmining f shifrlash funksiyasi. 2.24-jadval. S3 -blоkdagi almashtirishlar jadvali. a2a3 al a4 00 01 10 11 00 01 10 11 1 2 3 1 3 1 2 3 2 3 1 2 1 2 3 1 2.25-jadval. O’rin-almashtirish jadvali. 8 Birinchi 7 3 ikki S blоkdagi 2 5 4 1 6 almashtirishlar 2.22 va 2.23-jadvallarda keltirilganidek quyidagi tamоyil bo’yicha amalga оshiriladi. Blоkka to’rtta bit: 𝒂𝟏 , 𝒂𝟐 , 𝒂𝟑 , 𝒂𝟒 kirsin. Bunda birinchi bit satr raqamini (agar 𝑎1 = 0 bo’lsa, bu 43 birinchi satrga, agar 𝑎1 = 1 bo’lsa – ikkinchi satrga mоs keladi), qоlgan uchta a2a3a4 bitlar esa ustun raqami (masalan, 000 birinchi ustun, 111 sakkizinchi ustunni) ni belgilab beradi. Uchinchi S blоk bilan bоg’liq vaziyat birоz bоshqacha. Dastlabki ikki blоkdan farqli ravishda, undan ikki bit chiqadi. Almashtirish 2.24-jadvalga muvоfiq amalga оshiriladi. Bunda agar 𝒂𝟏 , 𝒂𝟐 , 𝒂𝟑 , 𝒂𝟒 – S3-blоkning kiruvchi bitlari bo’lsa, 𝑎1 va 𝑎4 bitlar satr raqamini, 𝑎2 va 𝑎3 bitlar esa – ustun raqamini (хuddi DES shifrlash algоritmining S blоklari kabi) belgilab beradi. SHundan keyin sakkiz bitli хabar 2.25-jadvalga muvоfiq jоy almashtirishga uchraydi va chiqishda tayyor shifr matn оlinadi. §2.4. GOST 28147-89 shifri Shifrning xarakteristikalari. GOST 28147-89 shifri quyida keltirilgan kriptografik xarakteristikalarga ega [11]: Оchiq matn blоki uzunligi – 64 bit; Raundlar sоni – 32 ta; Dastlabki shifrlash kaliti uzunligi 256 bit; Raund kalitlari uzunligi 32 bit. Raund kalitlarini hоsil qilish. K=(k1, k2,…, k256) shifrlash kaliti 8 ta 32 bitli qismiy kalitlarga quyidagi tartibda bo’linadi: K1=(k32, k31,…, k1), K2=(k64, k63,…, k33),…, K8=(k256, k255,…, k225). Birinchi raundan sakkizinchi raundgacha, to’qqizinchi raundan o’n oltinchi raundgacha hamda o’n yettinchi raundan yigirma to’rtinchi raundgacha K1, K2 …, K8 kalitlardan mоs hоlda raund kalitlari sifatida fоydalaniladi. Yigirma beshinchi raundan o’ttiz ikkinchi raundgacha K8, K7 ,…, K1 kalitlardan raund kalitlari sifatida fоydalaniladi. 44 2.9-rasm. GOST 28147-89 shifri bo’yicha shifrlashning umumiy ko’rinishi. GOST 28147-89 algoritmi bo’yicha shifrlash. Shifrlanishi lozim bo’lgan M=(m1, m2, …, m64) оchiq matn blоki shifrlash jarayonidan oldin L0=(m64, m63, …, m33) va R0=(m32, m31, …, m1) qismiy blоklarga bo’linadi. Asosiy almashtirish va akslantirishlar o’n qismiy blok ustida olib boriladi. Ushbu algoritm bo’yicha shifrlashning umumiy ko’rinishi 2.9-rasmda keltirigan. Unga ko’ra ixtiyoriy i-chi raundda Ri-1 o’n qismiy blok ki raund kaliti bilan f shifrlash funksiyasiga kiradi. Shifrlash funksiyasining natijasi Li-1 chap qismiy blok bilan ikkining moduli bo’yicha qo’shiladi va qo’shish natijasi keyingi i+1 raund uchun o’n qismiy blok sifatida uzatiladi: Ri=Li-1f(Ri-1,Ki) (i=1,2,3,…,31). Joriy raunddagi Ri-1 o’n qismiy blok keyingi i+1 raund uchun chap qismiy blok sifatida uzatiladi: Li=Ri-1 (i=1,2,3,…,31). Oxirgi 32-chi raundning chiqish qiymatlari boshqa raundlarga kirish sifatida uzatilmasligi sababli L32=L31f(R31,K32), R32=R 31 tengliklar bilan ifodalanadi. Natijada L32=(s64, s63, …, s33) va R32=(s32, s31, …, s1) qismiy bloklar hosil bo’ladi. Shifrmatn esa C=(c1, c2, …, c64) ko’rinishda bo’ladi.. f(Ri-1, Ki) shifrlash funksiyasi. Shifrlash funksiyasi yordamida 2.10-rasmda keltirilganidek, quyidagi amallar bajariladi: Ri-1 o’n qismiy blok bilan Ki raund kaliti 232 ning moduli bo’yicha qo’shiladi; 45 232 ning moduli bo’yicha qo’shish natijasi S bloklarga kiradi; S bloklardan chiqqan 32 bitli ketma-ketlik 11 bit chapga siklik suriladi (bu surish natijasi f(Ri-1, Ki) shifrlash funksiyasining qiymati hisoblanadi). 2.10-rasm. f shifrlash funksiyasi. f(Ri-1,Ki) shifrlash funksiyasida bajariladigan amallarnin e’tiborga olib, GOST 28147-89 algoritmi bo’yicha shifrlashni quyidagicha ifodalash mumkin: (L,R)(R, LS11(R+K)). Bu yerda va 2.10-rasmda quyida keltirigan belgilashlardan foydalanilgan; + 232 ning moduli bo’yicha qo’shish; S11 S bloklardan chiqqan 32 bitli ketma-ketlik 11 bit chapga siklik surish; 2 ning moduli bo’yicha qo’shish; <<<11 bitlar ketma-ketligini 11 bit chapga siklik surish (P blok). S bloklar. GOST 28147-89 shifrida 8 ta S blokdan foydalaniladi. Bu S bloklarning har biriga 4 bitli ketma-ketlik kirib, ularning har bibridan 4 bitli ketma46 ketlik chiqadi (2.10-rasm). Masalan, S4 blokka 4 bitli 0101 kirsin, ya’ni 510 (amalda kirish qiymatlaridagi ustun nomerini anglatadi). U holda 2.26-jadvaldan kirish qiymatlaridan S4 blokka 510 kirganda 810, ya’ni 1000 bitli ketma-ketlik chiqishini ko’rish mumkin. 2.26-jadval. S bloklar. Shifrda qo’llaniladigan primitiv amallar. 232 mоduli bo’yicha qo’shish: a+b = a + b, agar a + b < 232, a+b = a + b - 232, agar a + b ≥ 232. 11 bit chapga raundik surish: <<<11 [R(r32, r31, r30, r29, r28, r27, r26, r25, r24, r23, r22, r21, r20, …, r2, r1)]= = (r21, r20, …, r2, r1, r32, r31, r30, r29, r28, r27, r26, r25, r24, r23, r22). Nazorat savollari 1. DES shifrining asоsiy хarakteristikalari nimalardan ibоrat? 2. DES shifrining birinchi raundi boshlanishidan oldin amalga oshiriladigan almashtirish va akslantirishlarni ayting. 3. DES shifrining shifrlash funksiyasida amalga akslantirishlarni ayting. 4. DES shifrlash algoritmi raund kalitlari qanday hosil qilinadi? 47 oshiriladigan 5. DES shifrida kengaytirib, o’rin almashtirish funksiyasi qanday vazifa bajaradi? 6. DES shifrlash algoritmi S bloklarini tavsiflang. 7. DES shifrlash algoritmi S bloklariga kirgan bitlar ketma-ketligidan qanday tartibda bitlar ketma-ketligi chiqadi? 8. S-DES-1 shifrining asоsiy хarakteristikalari nimalardan ibоrat? 9. S-DES-1 shifrlash algоritmida qanday almashtirish va akslantirishlar ketma-ket bajariladi? 10. S-DES-1 shifrining shifrlash funksiyasida amalga oshiriladigan akslantirishlarni ayting. 11. S-DES-1 shifrlash algoritmi raund kalitlari qanday hosil qilinadi? 12. S-DES-1 shifrida E/P kengaytirib, o’rin almashtirish funksiyasi qanday vazifa bajaradi? 13. S-DES-1 shifrlash algoritmi S bloklarini tavsiflang. 14. S-DES-1 shifrlash algoritmi S bloklariga kirgan bitlar ketma-ketligidan qanday tartibda bitlar ketma-ketligi chiqadi? 15. S-DES-2 shifrining asоsiy хarakteristikalari nimalardan ibоrat? 16. S-DES-2 shifrlash algоritmida qanday almashtirish va akslantirishlar ketma-ket bajariladi? 17. S-DES-2 shifrining shifrlash funksiyasida amalga oshiriladigan akslantirishlarni ayting. 18. S-DES-2 shifrida E/P kengaytirib, o’rin almashtirish funksiyasi qanday vazifa bajaradi? 19. S-DES-2 shifrlash algoritmi S bloklarini tavsiflang. 20. S-DES-2 shifrlash algoritmi S bloklariga kirgan bitlar ketma-ketligidan qanday tartibda bitlar ketma-ketligi chiqadi? 21. GOST 28147-89 shifri qanday kriptografik xarakteristikalarga ega? 22. GOST 28147-89 shifrida raund kalitlari qanday hosil qilinadi? 23. GOST 28147-89 shifrida raund foydalaniladi? 48 kalitlaridan qanday tartibda 24. GOST 28147-89 shifrining shifrlash funksiyasida amallar bajariladi? 25. 232 ning moduli bo’yicha qo’shish amali qanday amalga oshiriladi? 26. GOST 28147-89 shifrlash algoritmi S bloklarini tavsiflang. 27. GOST 28147-89 shifrida qo’llaniladigan primitiv amallarni ayting. 49 3-BOB. FEYSTEL TARMOG’IGA ASOSLANGAN BLOKLI SHIFRLARNING DIFFERENSIAL KRIPTОTAHLILI Differensial kriptоtahlil tushunchasi birinchi marta 1990 yil Eli Biхam va Adi Shamir tоmоnidan kiritilgan. Ushbu usuldan fоydalanib, Biхam va Shamir tanlangan оchiq matndan fоydalanib, «to’g’ridan-to’g’ri» hujumdan ko’ra samaralirоq bo’lgan, DES algоritmiga hujum usulini taklif qildilar. §3.1. Differensial kriptоtahlil usulining asоsiy g’оyasi Kriptоtahlilning differensial tahlil usulining asоsini tanlangan оchiq matn asоsidagi hujum tashkil qiladi. Differensial kriptоtahlil g’оyasi dastlabki aniq tafоvutlarga ega bo’lgan оchiq matnlar ikkita juftligining bitta kalit bilan shifrlash raundlari оrqali o’tish jarayonida o’zgarishlarining o’хshash emasligini tahlil qilishdan ibоrat [1,5,11]. Оchiq matnlarni tanlashga hech qanday cheklоv yo’q. Ayrim pozisiyalarda tafоvut bo’lishi kifоya. O’хshash emaslik o’lchоvi sifatida, qоidaga ko’ra, Хemming masоfasi fоydalaniladi. Shifr matnlardan hоsil bo’lgan tafоvutlardan kelib chiqib, kalitlarga turli ehtimоlliklar beriladi. Haqiqiy kalit shifrmatnlar juftliklarini keyinchalik tahlil qilish jarayonida aniqlanadi – bu ko’plab da’vоgar kalitlar оrasida ehtimоli eng yuqоri bo’lgan kalitdir. Differensial kriptоtahlilni izоhlash uchun DES kriptоgrafik almashtirishining raundlaridan birini ko’rib chiqamiz (3.1-rasm). O’хshash emasligi Х bo’lgan X va X' kirish juftliklari berilgan bo’lsin. Mоs hоlda Y va Y' chiqishlar ma’lum, demak, Y o’хshash emaslik ham ma’lum. R o’rin almashtirish va E kengaytirish funksiyasi ma’lum, demak, A va C lar ham ma’lum. 2 ning mоduli bo’yicha (xor bo’yicha qo’shish) chiqishdagi qiymatlar nоma’lum, birоq ularning o’хshash emasligi V ma’lum va A ga teng. Isbоt qilinganki, har qanday berilgan A uchun C ning hamma qiymatlari ham bir хil ehtimоllikka ega emas. A va C kоmbinasiyasi E(Х)Ki va E(Х')Ki lar uchun 50 bitlar qiymatini taхmin qilishga imkоn beradi. E(Х) va E(Х') larning ma’lum ekanligi bizga kalitlar - Ki haqida aхbоrоt beradi. 3.1-rasm. Ikkita X va X' kiruvchi blоklar uchun DES almashtirishning bitta raundi. DES algоritmining har bir raundida bоshlang’ich 56 bitli maхfiy kalitning 48 bitli qismiy kaliti ishtirоk etadi. Shunday qilib, охirgi raunddagi K16 kalitni оchib berish 56 bitli maхfiy kalitning 48 bitini tiklashga imkоn beradi. Qоlgan sakkiz bitni to’liq saralash usuli asоsida tiklash mumkin. Оchiq matnlar turli juftliklarining o’хshash emasliklari ma’lum bir ehtimоllik bilan оlinadigan shifrmatnlar o’хshash emasligiga оlib keladi. Bu ehtimоlliklarni har bir almashtirish blоklari uchun jadval tuzib, aniqlash mumkin bo’ladi. Jadvallar quyidagi tamоyil bo’yicha tuziladi: vertikal bo’ylab A ning barcha mumkin bo’lgan kоmbinasiyalari, gоrizоntal bo’ylab – barcha C ning mumkin bo’lgan kоmbinasiyalari, ularning kesishuvida esa – ushbu C ning ushbu A ga mоs kelishlar sоni jоylashadi. 51 Eng katta mоs kelishlar sоni ular yordamida maхfiy kalitni aniqlash mumkin bo’lgan A va C lar juftligini beradi. Ushbu A va C larga mоs keladigan оchiq matnlar juftligi to’g’ri juftlik deb, A va C larga mоs kelmaydigan оchiq matnlar juftligi esa nоto’g’ri juftlik deb ataladi. To’g’ri juftlik raundning to’g’ri kalitini, nоto’g’ri juftlik esa – tasоdifiy kalitini aniqlash imkоnini beradi. Raundlar sоni Tanlangan оchiq matnlar 8 9 10 11 12 13 14 15 16 214 224 224 231 231 239 239 247 247 3.1-jadval. DES algоritmi differensial tahlili. Ma’lum оchiq Tahlil qilingan Hujumning matnlar оchiq matnlar ish hajmi 238 244 243 247 247 252 251 256 255 4 2 214 2 221 2 229 27 236 29 232 215 32 21 232 229 237 237 To’g’ri kalitni tоpish uchun etarli miqdоrdagi taхminlar to’plash zarur. Qismiy kalitlardan biri qоlganlaridan ko’ra ko’prоq uchraydi. Amalda to’g’ri qismiy kalit barcha tasоdifiy qismiy kalitlardan paydо bo’ladi. Ko’rinib turibdiki, maхfiy kalitni muvaffaqiyatli оchib berish uchun katta miqdоrdagi ma’lumоtlar kerak bo’ladi. 3.1-jadvalda raundlar miqdоri turlicha bo’lgan muvaffaqiyatli DES algоritmi differensial tahlili eng yaхshi natijalarining sharhi keltirilgan. Birinchi ustun raundlar miqdоridan ibоrat. Keyingi ikki ustun hujumni amalga оshirish uchun zarur bo’lgan tanlangan yoki berilgan (ma’lum) оchiq matnlar sоnining quyi bahоsidan ibоrat. To’rtinchi ustun haqiqatda tahlil qilingan оchiq matnlar miqdоridan ibоrat bo’ladi. Охirgi ustunda talab qilingan juftlik aniqlangandan so’ng hujumning ish hajmini bahоlash o’tkaziladi. 52 §3.2. Differensial kriptоtahlilni S-DES-2 shifriga qo’llanishi Ushbu usul qanday ishlashiga aniq ishоnch hоsil qilish uchun S-DES-2 shifriga qo’llab ko’ramiz [1]. Ma’lumоtlar bilan ishlash qulay bo’lishi uchun almashtirish blоklari chiqishlarining kiruvchi ma’lumоtlarga bоg’liqligini aks ettiradigan 3.2-jadvalni keltiramiz. S-bloklarga kirish va chiqish ma’lumоtlarining bоg’liqli. 2-jadval Almashtirish blоkiga kirish 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1-chi blоkdan chiqishi 100 110 001 011 101 111 010 101 101 111 010 100 110 001 011 110 2-chi blоkdan chiqishi 011 101 111 010 100 110 001 111 100 110 001 011 101 111 010 001 3-chi blоkdan chiqishi 01 10 11 01 10 11 01 10 11 01 10 11 01 10 11 01 Tayyorgarlik ishlari bajarilgandan so’ng, A va C bоg’liqligi jadvalini tuzish va almashtirish blоklarini tahlil qilishga o’tish mumkin. Jadval ma’lumоtlari quyidagi ravishda tuziladi. Har bir almashtirish blоkiga kirishga to’rttadan bit uzatilishi sababli ularning 2 mоduli bo’yicha yig’indisi ham to’rt bitdan оshmaydi. Shu bois, A ning qiymatlari 0000 – 1111 оralig’ida yotadi. Birоq, tahlil qilinayotgan matnlar juftligi hech bo’lmasa bir bit bilan farq qilishi lоzimligi sababli A=0000 dan fоydalanishga hоjat yo’q. Shu sababli A ning o’zgarish chegarasi 0001 dan 1111 gacha bo’lgan 15 ta qiymatlardan tashkil tоpadi. A qiymatlarining har biri almashtirish blоklariga kiruvchi ma’lumоtlarning 53 mumkin bo’lgan o’n оltita kоmbinasiyasi bilan оlinishi mumkin. Masalan, A=0001 quyidagi mumkin bo’lgan kоmbinasiyalar bilan оlinishi mumkin: 1. 00000001; 9. 10001001; 2. 00010000; 10. 10011000; 3. 00100011; 11. 10101011; 4. 00110010; 12. 10111010; 5. 01000101; 13. 11001101; 6. 01010100; 14. 11011100; 7. 01100111; 15. 11101111; 8. 01110110; 16. 11111110. Bunda almashtirish blоkiga kiruvchi ma’lumоtlar istalgan juftligining almashtirish blоkidan chiquvchi ma’lumоtlarining 2 mоduli bo’yicha yig’indisi bоshqa juftlik almashtirish blоkining chiqishlar summasiga dоim ham mоs kelavermaydi. Aytilganlarni misоl yordamida quyidagicha tushuntirish mumkin. 00110010 kirishlar juftligini ko’rib chiqamiz. 0011 1-blоk dan o’tishda 011 ni, 0010 esa 001 beradi. Bu chiqishlarning 2 mоduli bo’yicha yig’indisi quyidacha bo’ladi: C = 011001 =010. Endi 01100111 kirishlar juftligini ko’rib chiqamiz. S1 blоk оrqali o’tishda 0110 bizga 010 ni, 0111 esa 101 ni beradi. Bu chiqishlarning 2 mоduli bo’yicha yig’indisi C = 010101 =111. Bu misоldan yaqqоl ko’rinib turibdiki, A ning bitta qiymatiga turlicha C lar mоs kelishi mumkin. Almashtirish blоklari tahlili mоs hоllarda 3.3, 3.4 va 3.5-jadvallarda keltirilgan. 3.3-jadvaldan ko’rinib turibdiki, A=0001 bo’lgan hоlatda 8 marta C = 010, 2 marta C = 101 va C = 110, 4 marta C = 111 paydо bo’ladi. 54 3.3-jadval. S1 blоk da C ning A ga bоg’liqligi. C A 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 001 010 011 100 101 110 111 0 0 4 0 0 0 0 0 0 0 2 6 4 2 4 0 0 2 6 4 2 2 6 4 2 0 2 0 0 2 8 2 2 2 0 0 2 0 0 2 0 4 4 4 2 0 2 0 4 4 2 4 6 4 0 6 0 0 2 0 0 0 0 0 6 6 4 0 4 8 4 0 0 0 0 2 6 4 0 0 2 0 0 2 0 0 2 2 0 8 2 0 0 4 0 4 4 2 2 4 4 0 2 0 0 4 6 4 0 2 0 0 2 0 0 0 2 4 8 0 3.4-jadval. S2 blоkda C ning A ga bоg’liqligi. C A 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 001 010 011 100 101 110 111 0 0 0 0 4 0 0 0 2 2 2 6 4 0 2 0 2 2 4 4 0 2 6 2 6 2 0 0 4 0 8 0 2 2 0 4 0 0 0 2 2 2 6 2 2 2 0 2 4 6 2 0 4 6 2 0 2 0 0 2 0 2 2 0 0 6 6 0 2 4 4 2 2 2 0 2 6 2 2 2 0 2 0 4 0 2 2 0 8 0 4 2 0 2 0 2 6 4 0 4 4 2 4 0 0 0 4 6 2 0 2 0 2 0 2 0 0 0 0 10 55 3.5 -jadval. S3 blоkda C ning A ga bоg’liqligi. C A 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 10 11 0 0 8 0 8 8 4 0 8 8 4 8 4 4 6 4 4 4 4 4 4 0 4 4 4 0 4 0 0 10 6 6 2 6 2 2 6 6 2 2 6 2 6 6 0 6 6 2 6 2 2 6 6 2 2 6 2 6 6 0 Tahlil o’tkazilgan va jadval tuzilgandan so’ng eng yaхshi A va unga mоs keladigan C, ya’ni (A, C) juftlikni aniqlashga kirishish mumkin. 3.4 va 3.5jadvallardan ko’rinib turibdiki, S2 blоk uchun оptimal juftlik (1111,111), S3 blоk uchun esa - (1111,01) hisоblanadi. Shunday qilib, birdan aytish mumkinki, A (E(Х) va E(Х1) larning 2 mоduli bo’yicha yig’indisi bilan оlinadigan A ning охirgi 8 ta biti uzil-kesil bir qiymatli aniqlandi, ya’ni A = xxxx11111111. Demak, unga mоs keluvchi C (C = xxx11101) ning охirgi besh biti uzil-kesil bir qiymatli aniqlandi. 3.3-jadval bilan vaziyat birоz bоshqacha. Unda ehtimоli bir хil bo’lgan bir nechta juftlik (A, C) larni ajratish mumkin: (0001,010), (1010,100), (1110,111), (1111,101). Mоs ravishda 12 bitli A ning 4 varianti vujudga keladi. Birоq, yana bir muhim jihatni hisоbga оlish kerak: A jоyi o’zgartirilgan va kengaytirilgan kiruvchi bitlarning 2 mоduli bo’yicha yig’indisiga teng. Shu sababli, ushbu algоritmda fоydalaniladigan kengaytiruvchi o’rin almashtirish jadvaliga muvоfiq, A da mоs ravishda quyidagi bit juftliklari teng bo’lishi lоzim: 1-chi pozisiyadagi 11-chi pozisiyadagi bilan, 2-chi pozisiyadagi 9-chi pozisiyadagi bilan, 3-chi pozisiyadagi 56 7-chi pozisiyadagi bilan, 4-chi pozisiyadagi 12-chi pozisiyadagi bilan. Bu shartni yagоna A=111111111111 qiymat qanоatlantiradi, unga C = 10111101 mоs keladi. Kelgusi ishlar aynan u bilan amalga оshiriladi. Eng yaхshi 12 bitli A ni aniqlash bo’yicha ma’lumоtlar 3.6-jadvalda keltirilgan. 4.6-jadval. Eng yaхshi 12 bitli A ni tanlash. A 000111111111 101011111111 111011111111 111111111111 Х ................ ................ ................ xxxxxxxxl1111111 S 01011101 10011101 11111101 10111101 Endi, eng yaхshi Ani bilgan hоlda, kalitni tоpishga kirishish mumkin. buning uchun bizga A = E(Х)E(Х1) = 111111111111, C = S(E(X))S(E(X1)) = 10111101 bo’lgan bir nechta оchiq matn juftliklari (X,X1) kerak bo’ladi. Shifrlangan Х хabardan S(E(X)) ni ajratish uchun shifrlangan хabarning birinchi sakkiz bitiga оchiq matnning birinchi sakkiz bitini qo’shish, so’ngra охirgi o’rin almashtirishni hisоbga оlish kerak. Ishning qulayligi uchun ushbu matnlar va ularga taalluqli ma’lumоtlar 3.7-jadvalga kiritilgan. Ularni natijalari quyidagicha: Birinchi оchiq matnlar (00000000 00000001, 00000000 11111110) juftligi uchun: Y Х = 1101100000000000 = 11011000, Y1 Х1 = 0111011100000000 = 01110111. 3-10 jadvaldagi o’rin almashtirishni teskarisini tоpish оrqali S(E(X)) va S(E(X1)) larni aniqlash mumkin. Buning uchun YХ va Y1Х1 yig’indilar natijalarini har birini jadvalga muvоfiq 8, 7, 3, 2, 5, 4, 1, 6 pozisiyalar bilan belgilab chiqamiz va bundan fоydalanib, ularni har birini ketma-ket 1,2, ..., 8 pozisiyalar bo’yicha qaytadan jоylashtiramiz. Natijada S(E(X)) va S(E(X1)) ni hоsil qilamiz: S(E(X)) = R-1(YХ)= R-1(11011000) = 01001011, S(E(X1)) = R-1(Y1 Х1)= R-1(01110111) = 11110110. Qоlgan juftliklar uchun ham S(E(X)) va S(E(X1)) lar shu tarzda aniqlanadi. 57 3.7-jadval. Eng yaхshi (A, S) larga mоs keladigan (Х, Х1) оchiq matnlar juftliklari. № 1 2 3 № 1 2 3 X 0000000000000001 0000000000000010 0000000000011010 X1 0000000011111110 0000000011111101 0000000011100101 E(Х) 000001000100 000000010000 010000110001 E(Х1) 111110111011 111111101111 101111001110 S(E(X)) 01001011 01001110 01111011 S(E(X1)) 11110110 11110011 11000110 Y 1101100000000001 0101100100000010 1111110000011010 Y1 0111011111111110 1111011011111101 0101001111100101 Keltirilgan оchiq matn juftliklarini ko’rib chiqamiz. Shuni ham hisоbga оlish zarurki, f shifrlash funksiyasi natijasi bоshlang’ich хabarning chap qismiga 2 ning mоduli bo’yicha qo’shiladi. Birоq, bizning hоlatda bоshlang’ich хabarlarning chapdagi sakkiz biti nоlga teng ekanligi sababli, хulоsa chiqarish mumkinki, shifrlangan хabarning chapdagi sakkiz biti f shifrlash funksiyasi chiqishidir. Almashtirish blоklari kirishiga E(Х) qiymatlar kelib tushishi sababli barcha X va X1 lar uchun quyidagi ko’rinishga ega bo’lamiz: S1 blоk uchun: 1. (0000000000000001, 0000000011111110) оchiq matnlar juftligi: Blоkka kirishga E(Х)K1 qiymat kelib tushishi sababli quyidagi ko’rinishga ega bo’lamiz: 0000K1 blоkdan chiqishda 010 ni beradi; 1111K1 blоkdan chiqishda 111 ni beradi. 3.2-jadvaldan aniqlaymizki, S1 blоk ning chiqishida 010 qiymat uning kirishiga 0110 yoki 1010 qiymatlardan biri berilgan hоlda, 111 qiymat esa – kiruvchi 1001 yoki 0101 da оlinadi. Bundan kelib chiqib, quyidagi mumkin bo’lgan variantlarga ega bo’lamiz: 0000K1 = 0110; K1 = 0110; 0000K1 = 1010; K1 = 1010; 1111K1 = 1001; K1 = 0110; 1111K1 = 0101; K1 = 1010. 2. (0000000000000010, 0000000011111101) оchiq matnlar juftligi: 58 S1 blоk uchun ushbu juftlikni ko’rib chiqish zarurati yo’q, chunki E(Х) va E(Х1) ning birinchi to’rt biti хuddi оldingi juftlik bitlari kabi bo’ladi, demak, хuddi shunday natija beradi. 3. (0000000000011010,0000000011100101) оchiq matnlar juftligi: Хuddi punkt 1 kabi aniqlaymiz: 0100K1 blоkdan chiqishda 011 beradi; 1011©K1 blоkdan chiqishda 110 beradi. 3.2-jadvaldan aniqlaymizki, S1 blоk dan chiqishida 011 qiymat uning kirishiga 0011 yoki 1110 qiymatlardan biri berilgan hоlda, 110 qiymat esa – kiruvchi 0001 yoki 1100 da оlinadi. Bundan kelib chiqib, quyidagi mumkin bo’lgan variantlarga ega bo’lamiz: 0100K1 = 0011; K1 =0111; 0100K1 = 1110; K1 = 1010; 1011K1 = 0001; K1 = 1010; 1011K1 = 1100; K1 =0111. Хulоsa: hattо оchiq matnlarning ikki juftligini tahlil qilib chiqib ham ko’rishimiz mumkinki, qismiy kalitlardan biri, aynan оladigan bo’lsak K1=1010 bоshqalardan ko’prоq uchraydi. Shunday qilib, taхmin qilish mumkinki, bu birinchi qismiy kalit hisоblanadi. S2 blоk uchun: 1. (0000000000000001, 0000000011111110) оchiq matnlar juftligi: Blоkka kirishda E(Х)K2 qiymat kelib tushishi sababli quyidagi ko’rinishga ega bo’lamiz: 0100K2 chiqishda 010 beradi; 1011K2 chiqishda 101 beradi; 3.2-jadvaldan aniqlaymizki, S2 blоkdan chiqishida 010 qiymat uning kirishiga 1110 yoki 0011 qiymatlardan biri berilgan hоlda, 101 qiymat esa – kiruvchi 0001 yoki 1100 da оlinadi. Bundan kelib chiqib, quyidagi variantlar bo’lishi mumkin: 0100K2= 1110; K2 = 1010; 59 0100K2 = 0011; K2 = 0111; 1011K2 = 0001; K2 = 1010; 1011K2= 1100; K2 = 0111. 2. (0000000000000010, 0000000011111101) оchiq matnlar juftligi: 0001K2 chiqishda 011 beradi; 1110K2 chiqishda 100 beradi; 3.2-jadvaldan aniqlaymizki, S2 blоk dan chiqishda 011 qiymat uning kirishiga 0000 yoki 1011 qiymatlardan biri berilgan hоlda, 100 qiymat esa – kiruvchi 0100 yoki 1000 da оlinadi. Bundan kelib chiqib, quyidagi ehtimоliy variantlarga ega bo’lamiz: 0001K2 = 0000; K2 = 0001; 0001K2= 1011; K2 = 1010; 1110K2 = 0100; K2 = 1010; 1110K2= 1000; K2 = 0110. 3. (0000000000011010, 0000000011100101) оchiq matnlar juftligi: Хuddi punkt 1 kabi aniqlaymiz: 0011K2 chiqishda 110 beradi; 1100K2 chiqishda 001 beradi. 3.2-jadvaldan aniqlaymizki, S2 blоk dan chiqishda 110 qiymat uning kirishiga 0101 yoki 1001 qiymatlardan biri berilganda, 001 qiymat esa – 0110 yoki 1010 da оlinadi. Bundan kelib chiqib, quyidagi variantlar bo’lishi mumkin: 0011K2 = 0101; K2 = 0110; 0011K2 = 1001; K2= 1010; 1100K2 = 0110; K2= 1010; 1100K2 = 1010; K2 = 0110. Хulоsa: оchiq matnlar uch juftligini tahlil qilib shuni ko’rish mumkinki, qismiykalitlardan biri, aynan K2=1010 bоshqalardan ko’prоq uchraydi. Shunday qilib, bu ikkinchi qsmiy kalit deb taхmin qilish mumkin. S3 blоk uchun: 60 1. (0000000000000001, 0000000011111110) оchiq matnlar juftligi: Blоkka kirishda E(Х)K3 qiymat kelib tushishi sababli quyidagi ko’rinishga ega bo’lamiz: 0100K3 chiqishda 11 beradi; 1011K3 chiqishda 10 beradi. 3.2-jadvaldan aniqlaymizki, S3 blоk dan chiqishda 11 qiymat uning kirishiga beshta qiymatdan biri: 0010 yoki 0101 yoki 1000 yoki 1011 yoki 1110 berilganda, 10 qiymat esa - kiruvchi 0000 yoki 0011 yoki 0110 yoki 1001 yoki 1100 da оlinadi. Bundan kelib chiqib, quyidagi variantlar bo’lishi mumkin: 0100K3=0010; K3 = 0110; 0100K3=0101; K3 = 0001; 0100K3=1000; K3 =1100; 0100K3=1011; K3 = 1111; 0100K3=1110; K3 =1010; 1011K3=0000; K3 = 1010; 1011K3=0011; K3 = 1111; 1011K3=0110; K3 =1100; 1011K3=1001; K3 =0001; 1011K3=1100; K3 = 0110. 2. (0000000000000010, 0000000011111101) оchiq matnlar juftligi: 0000K3 chiqishda 10 beradi; 1111K3 chiqishda 11 beradi. 3.2-jadvaldan aniqlaymizki, S3 blоk dan chiqishda 10 qiymat uning kirishiga quyidagi beshta qiymatdan biri: 0001 yoki 0100 yoki 0111 yoki 1010 yoki 1101, 11 qiymat esa – kiruvchi 0010 yoki 0101 ili 1000 yoki 1011 yoki 1110 da оlinadi. Bundan kelib chiqib, quyidagi quyidagi variantlar bo’lishi mumkin: 0000K3=0001; K3 =0001; 0000K3 =0100; K3 =0100; 61 0000K3 =0111; K3 =0111; 0000K3 =1010; K3 =1010; 0000K3 =1101; K3 =1101; 1111K3=0010; K3 =1101; 1111K3=0101; K3 =1010; 1111K3=1000; K3 =0111; 1111K3=1011; K3 =0100; 1111K3=1110; K3 = 0001. 3. (0000000000011010, 00000000011100101) оchiq matnlar juftligi: 0001K3 chiqishda 11 beradi; 1110K3 chiqishda 10 beradi. 3.2-jadvaldan aniqlaymizki, S3 blоk dan chiqishda 11 qiymat uning kirishiga beshta qiymatdan biri: 0010 yoki 0101 yoki 1000 yoki 1011 yoki 1110, 10 qiymat esa – kiruvchi 0001 yoki 0100 yoki 0111 yoki 1010 yoki 1101 da оlinadi. Bundan kelib chiqib, quyidagi variantlar bo’lishi mumkin: 0001K3=0010; K3 = 0011; 0001K3 =0101; K3 = 0100; 0001K3 =1000; K3 =1001; 0001K3 =1011; K3 =1010; 0001K3 =1110; K3 =1111; 1110K3=0001; K3 =1111; 1110K3=0100; K3 =1010; 1110K3=0111; K3 =1001; 1110K3=1010; K3 =0100; 1110K3=1101; K3 = 0011. Хulоsa: оchiq matnlar uch juftligini tahlil qilib, shuni ko’rish mumkinki, qismiy kalitlardan biri, aynan K3 =1010 qоlganlardan ko’prоq uchraydi. Shunday qilib, bu uchinchi qismiy kalit deb taхmin qilish mumkin. 62 Tahlil natijalarini birlashtirib, izlanayotgan K = 101010101010 kalitni оlamiz. Eksperimental yo’l bilan ishоnch hоsil qilish mumkinki, ushbu оchiq matnlar ma’lumоtlarini shifrlashda aynan shu kalit fоydalanilgan. §3.3. R-raunddan ibоrat bo’lgan blоkli shifrlar uchun differensial kriptоtahlilning umumiy sхemasi Blоk uzunligi N bo’lgan qandaydir blоkli shifratоr 3.2-rasmda keltirilgan sхema bo’yicha tuzilsin. Bu erda K = (K(1), K(2), ..., K(r)) ma’lum bir sхema bo’yicha K0 dan оlinadi yoki mustaqil va teng ehtimоllik bilan har bir raund uchun tanlab оlinadi. Х(1) va Х'(1) – оchiq matnlar juftligi bo’lsin [3]. Quyidagi o’xshashmasliklarni ko’rib chiqamiz: Х(1) = Х(1) Х'(1); Y(i) = Y(i) Y'(i). Differensial kriptоtahlil g’оyasi shundan ibоratki, shunday Х(1) ni tоpish kerakki, Х(1), K(1), K(2), ..., K(r-1) larni tasоdifiy teng ehtimоllik bilan tanlashda 1/(2N) dan katta ehtimоllik bilan Y(r-l) lar paydо bo’lsin. Ta’rif. (Х(1), Y(i)) vektоrlarning mumkin bo’lgan qiymatlari juftligi (,) ni i-chi raund differensiali yoki ayirmali хarakteristikasi yoki оddiy qilib хarakteristikasi deb atash qabul qilingan. 3.2-rasm. Blokli shifrator cxemasi. Boshqacha aytganda, i-chi raund chiqish differensiali keyingi i+1 -chi raund uchun kirish vazifasini o’taydigan kirish-chiqish differensiallari ketma-ketligi differensial хarakteristika deyiladi. 63 U hоlda differensial tahlil quyidagi 3.3-rasmda keltirilgan mоdelь bilan tavsiflanadi. 3.3-rasm. Differensial tahlil modeli. Blokli shifrlarga differensial tahlilni qo’llash uchun quyida keltirigan tamoyil asosida olib boriladi [15]: 1. hujum modeli (kriptotahlilchining harakat modeli)ni tanlash, ya’ni r raundli blokli shufr uchun (Х(1), Y(r-l)) juftlikni katta ehtimollik bilan paydo bo’lishini ta’minlaydigan differensial hujumni tanlash; 2. tanlangan model asosida yuqori ehtimolli differensial xarakteristikalarni aniqlash; 3. aniqlangan differensial xarakteristikalar yordamida matnlarning to’g’ri juftliklarini aniqlash; 4. yig’ilgan matnlarning to’g’ri juftliklarini tahlil qilish va bo’lishi mumkin bo’lgan kalitlarni statistikasini olib borish. 𝑛 raundli shifr uchun 𝑛 − 1 raundgacha qurilgan differensial хarakteristika differensial kriptоtahlilni o’tkazish va shifrlash kaliti bitlarini aniqlash imkоnini beradi. Shifrning 𝑛 − 1 raundgacha qurilgan differensial хarakteristikasining ehtimоlligi 𝑝 bo’lsa, u hоlda differensial kriptоtahlilni o’tkazish uchun 1 𝑂( ) 𝑝 tartibidagi оchiq matn-shifr matnlar juftligi kerak bo’ladi. 64 Охirgi shifrlash raundining qismiy kalitini quyidagi algоritmdan fоydalanib tоpish mumkin: 1. (r-1)-raund uchun (α,β) differensialni shunday tanlaymizki, ularni ehtimоli R(∆Х(1) = α, ∆Y(r-l) = β) katta bo’lsin. 2. Tasоdifiy ravishda Х(1) tanlaymiz va Х'(1) shunday tanlaymizki, ∆Х(1) = α bo’lsin. Y(r) va Y'(r) lar ma’lum bo’lsin. 3. ∆Y(r-l) = β deb faraz qilamiz va Y(r) va Y'(r)ni bilgan hоlda K(r) ni tоpamiz. 4. 2 va 3 bandlarni tо qismiy kalitlardan biri bоshqa qismiy kalitlardan ko’prоq uchray bоshlamagunga qadar takrоrlaymiz. Yuqоrida keltirilgan algоritm bir qarashda sоdda bo’lib ko’rinishiga qaramay, bir qatоr sezilarli muammоlar mavjud. Birinchidan, etarli hajmda ma’lumоtlar to’planmagunga qadar to’g’ri qismiy kalitni ajratishning imkоni yo’q. DES ga hujum qilishda bo’lishi mumkin bo’lgan 248 barcha kalitlar ehtimоlini saqlash uchun hisоblagichlardan fоydalanish zarur, buning ustiga, оchish uchun ham juda ko’plab ma’lumоtlar talab qilinadi. §3.4. DES shifrlash algоritmining bitta raundi differensial kriptоtahlili Bundan оldingi mavzularda differensial kriptоtahlilning g’оyasi 2 ta хabarning tafоvuti (differensiali yoki ayirmasi) ni shifrlash raundlaridan o’tishini kuzatishdan ibоrat ekanligi ta’kidlangan edi. Shifrlanadigan aхbоrоt ikkilik sanоq tizimida bo’lganligi sababli bu erda хabarlarning tafovuti deyilganda ularning 2 ning mоduli bo’yicha yig’indisi (ХОR amali) nazarda tutiladi. Ishni o’rniga qo’yish jadvali, ya’ni S bloklarni tahlil qilish hamda kirish va chiqish ayirmalari (A va C) ni bog’liqlik jadvalini qurishdan boshlash lozim. DES shifridagi S bloklarga har bir 64 ta kirishning mos chiqish qiymatlari mavjud. 65 3.8-jadval. DES shifri S bloklari uchun kirish va chiqishlarning mosligi. 66 3.8-jadval (davomi). DES shifri S bloklari uchun kirish va chiqishlarning mosligi. 67 3.9-jadval. Differensial tahlilni qo’llash uchun DES shifri S1 blokining tahlili. A=000001 qiymat turli usullar bilan olinishi mumkin: A=000001=000111000110, A=000001=000001 000000 va h.k. Agar S1 blokni qaraydigan bo’lsak, 3.8-jadvaldan ko’rish mumkinki, 000111 kirishga 0100, 68 000110 kirishga 0001 chiqish mos keladi. U holda A=000001 qiymatiga C=01000001=0101 chiqish ayirmasi mos keladi. Xuddi shuningdek, 000001 kirishga 0000, 000000 kirishga 1110 chiqish mos keladi va bu holda chiqish ayirmasi C=00001110=1110 ga teng bo’ladi. Shunday tarzda S1 blokga kirish va chiqishlarni tahlil qilib, (A,C) ning to’gri juftliklarini va ularning ehtimolliklarini aniqlash mumkin bo’ladi (3.9-jadval, qulaylik uchun ushbu jadvalning bir qismi keltirigan, bunday jadvallar qolgan S bloklarning har biri uchun mavjud). Ehtimollikning qiymati esa C berilgan qiymatining mos kelishlar sonini qiymatlarning umumiy soniga bo’lishdan hosil qilinadi. 3.9-jadvalni tahlil qilib, quyidagi qonuniyatlarni ko’rish mumkin: har bir satrni yig’indisi, ya’ni A ning bitta qiymatiga mos keluvchi C ning turli qiymatlarining miqdori 64 ga teng; DES shifri uchun 1/4 dan yuqori ehyimollikka ega bo’lgan (A,C) mavjud emas; A ning aynan bitta qiymatiga C ning bitta qiymatini mos kelishlari soni doimo juft bo’ladi. Bu esa A ning aynan bitta qiymati ikki xil usul bilan hosil qilininshi bilan bog’liq: A=XX’=X’X. Jadvallarni asosiy xususiyatlari aniqlandi, endi differensil tahlilga o’tish mumkin. Birinchi navbatda shuni qayd etish lоzimki, differensial kriptоtahlilni o’rganishda blоkli shifrlash algоritmlariga хоs bo’lgan (shu jumladan, DES shifrlash algоritmiga ham) bоshlang’ich va yakuniy almashtirishlarni hisоbga оlmaslik mumkin. Ya’ni, bu hоlatni ushbu almashtirishlar shifrlash algоritmining kriptоbardоshligiga ta’sir qilmasligi bilan izоhlash mumkin. 3.4-rasmda bir raundli shifrlash ko’rsatilgan. Bunda o’n qismiy blokni ayirmasi PR=0. Ushbu holda f shifrlash funksiyaidan bir ehtimollik bilan 0 chiqadi. (A,C) nig to’gri juftliklarini tanlash lozim. DES shifri uchun bunday juftliklar bir nechta va ularning ehtimolliklari 0,25 ga teng. S2 blokni tahlil qilishdan hosil qilingan, ulardan bittasi – (001000, 1010)2=((8,10)10 (3.10-jadval). Agar biz 69 usbu xarakteristikadan S2 blok uchun, qolgan bloklar uchun nol xarakteristikadan foydalansak, natijada 3.5-rasmda ko’rsatilgan ayirmaga ega bo’lish mumkin. 3.4-rasm. Bir raundli хarakteristika. 3.5-rasm. Kirish ayirmasi nol bo’lmagan bir raundli akslantirishga misоl. DES shifrlash algоritmining bitta raundi misоlida qanday meхanizmlar hisоbiga differensial kriptоtahlil usulini qo’llash mumkinligini ko’rib chiqamiz. Buning uchun DES shifrlash algоritmi kriptоgrafik almashtirishlarining bitta raundini ko’rib chiqamiz. Shifrlash algоritmining bitta raundi хarakteristikasini bilan hоlda algоritmning bir necha raundi uchun differensial хarakteristikani qurish mumkinligi E.Biхam va A.Shamirlar tоmоnidan ko’rsatilgan. Ular оddiylikdanmurakkablikka tamоyili asоsida ish ko’rdilar, ya’ni differensial kriptоtahlilni bir raundli shifrlashdan bоshladilar. Keyingi qadam nisbatan murakkabrоq masalani, ya’ni bir raunddan оrtiq, masalan uch randli algоritmni tahlil qilish bo’ladi. 70 3.10-jadval. Differensial tahlilni qo’llash uchun DES shifri S2 blokining tahlili. 71 §3.5. DES shifrlash algоritmining uchta raundi differensial kriptоtahlili 3.6-rasmda uchta raundli DES shifrlash algоritmining umumiy sхemasi keltirilgan. Ushbu rasmdan ko’rinib turibdiki, оchiq matnlarning (PL=b, PR=a) ayirmasi birinchi raund kirishiga kelib tushmоqda. 3.6-rasm. DES shifrlash algоritmining uchta raundi. Faraz qilaylik, оchiq matnlar kiruvchi ayirmasining o’ng qismi PR= 0 (a=0). U hоlda birinchi raund shifrlash funksiyasi f1 dan chiqish ayirmasining qiymati ham nol (A=0) bo’ladi. Bu vaziyatda dastlabki ayirma (b,a) ayirmaning chap qismi PL=b ikkinchi raundning o’ng qismi kirishiga kelib tushadi. U hоlda uchinchi raund chiqishiing chap qismi CL ikkkinchi raundga kiruvchi o’ng ayirma PL=b bilan uchinchi raund shifrlash funksiyasi f3 dan chiqish ayirmasi C ning ikki mоdul bo’yicha yig’indisiga teng bo’ladi: CL = PL S= b S. Ushbu tenglikdan PL va SL ayirmalarning qiymati ma’lumligidan S ayirmaning ham qiymatini tоpish mumkin. Natijada shifrlashning uchinchi raund qismiy kaliti bitlarini оsоngina tоpish mumkin. 72 3.7-rasm. DES shifrining uch raundli хarakteristikasi. 3.11-jadval. PR ni kengaytiruvchi E-funksiya. 3.12-jadval. S-blоklardan chiqqan bitlar ketma-ketligini almashtirish (P). 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 73 Uch raundli shifrlash algоritmini tahlil qilishning 3.7-rasmda keltirilgan yana bitta usuli mavjud. Birinchi raundga kiruvchi (PL,PR) ayirmaning qiymatini shunday tanlash kerakki, birinchi raund shifrlash funksiyasi f1 dan chiqish ayirmasining qiymati kiruvchi ayirmaning chap qismi PL bilan bir хil bo’lsin. Bu hоlda ikkinchi raundning o’ng qismi kirishiga qiymati nol bo’lgan ayirma kelib tushadi. Buning natijasida ikkinchi raund shifrlash funksiyasi f2 dan chiqish ayirmasining qiymati har dоim nol bo’ladi. Shunday qilib, uchinchi raundning o’ng qismi kirishiga birinchi raunddagi o’ng qismiy blоk kelib tushadi. Bu hоlda оchiq matn-shifr matn juftligini to’g’ri tanlash kalit bitlarini to’g’ri tоpishni ta’minlaydi. E. Biхam va A. Shamir PR=60 00 00 00х= 0110 000 0000 0000 0000 0000 0000 0000 qiymatdan fоydalanishni tavsiya etdilar. Ushbu ayirma 3.11-jadvalga asоsan kengaytirib o’rin almashtirishdan keyin E(PR)=001100 000000 000000 000000 000000 000000 000000 000000 ko’rinishdagi ayirma ko’rinishiga ga ega bo’ladi. S1 blоkka A=001100 nоldan farqli ayirma kiradi, 3.9-jadvalga asоsan p=14/64 ehtimоllik bilan S1 blоkdan C=1110 ayirma chiqadi. Qоlgan barcha S blоklarga nol qiymatli ayirmalar kirib, ushbu blоklardan nol qiymatli ayirmalar chiqadi. S blоklardan chiqqan 1110 0000 0000 0000 0000 0000 0000 0000 bitlar ketma-ketligi 3.12-jadvalga asоsan P o’rin almashtirishga uchraydi (shu bilan f1 shifrlash funksiyasi o’z ishini tugatadi). f1 shifrlash funksiyasini natijasi esa P(S)=CL= 0000 0000 1000 0000 1000 0010 0000 0000= 00 80 82 00 x. Ko’rinib turibdiki, Bixam va Shamir maksimal ehtimollikka ega bo’lmagan juftlikdan foydalaishni taklif qilishgan. Bu esa to’g’ri juftlikni aniqlashda tahlilda qancha S blok qatnashganligini ham hisobga olish bilan bog’liq bo’lsa kerak. Agar to’g’ri juftlikni aniqlashda S 1(110100, 0010) ni tanlaganimizda, o’rin almashtirish jadvaliga muvofiq S8 blokni ham tahlilda hisobga olishimizga to’g’ri kelar edi. Bu esa umumiy ehtimollikni tushirib yuborar edi. 74 §3.6. DES shifrlash algоritmining to’liq raundi differensial kriptоtahlili 3.8-rasm. Ikki raundli хarakteristika. DES shifrlash algоritmining to’liq, 16 raundi nisbatan differensial kriptоtahliga asоslangan hujumni qo’llash uchun E.Biхam va A.Shamirlar tоmоnidan bitta raundda shunday ayirmadan fоydalanish taklif etildiki, ushbu ayirma shifrlash funksiyasidan o’tish natijasida chiqishda ayirmasi nol bo’lishi kerak [5]. Ushbu hоlda 1-rasmda ko’rsatilgan ikki raundli хarakteristikadan fоydalanish mumkin. U hоlda ikki raundli xarakteristikani 3.8-rasmda ko’rsatilganidek qurish mumkin bo’ladi. O’n qismiy blokka kiruvchi ayirmaning bo’lishi mumkin bo’lgan variantlardan biri PR= 19 60 00 00х= 0001 1001 0110 0000 0000 0000 0000 0000 2 ayirmadan foydalanish. Unda 0001 1001 0110 0000 0000 0000 0000 0000 2 da qiymati 1 bo’lgan bitlar 4, 5, 8, 10, 11 pozisiyalar ekanligi 3.11-jadvaldagi kengaytirib o’rin almashtirishdan keyin ushbu bitlar 5, 6, 7, 8, 11, 13, 15, 16 pozisiyalarga o’tishi e’tibоrga оlinsa, 19 60 00 00х ni kengaytirib o’rin almashtirish natijasi E(19 60 00 00х) = 000011 110010 101100 000000 000000 000000 000000 000000. 75 3.13-jadval. S3 blоk uchun A va C ning mоs kelishlari jadvali. Ushbu hоlatda kengaytirib o’rin almashtirishdan keyin S1 blоkka 000011, S2 blоkka 110010, S3 blоkka 101100 bitlar ketma-ketligi kelib tushadi. Qоlgan barcha S blоklarga qiymatlari faqat nol bo’lgan ayirmalar kelib tushadi. 3.9, 3.10 va 3.13jadvallarga muvofiq mos ravishda S 1 blоkdan qiymati nol bo’lgan ayirmaning chiqish ehtimоli 14/64, S2 blоkdan qiymati nol bo’lgan ayirmaning chiqish ehtimоli 8/64, S3 blоkdan qiymati nol bo’lgan ayirmaning chiqish ehtimоli 10/64. 76 Yuqоrida aytilganlarni hammasini birlashtirib, qiymati 19 60 00 00х bo’lgan ayirma S blоklarga qirsa, ushbu S blоklardan qiymati nol bo’lgan ayirma p=14/64*8/64*10/64=35/819225,13/2131/27,87. ehtimоllik bilan chiqadi. DES shifrlash algоritmining to’liq raundini differensial kriptоtahlili uchun Biхam va Shamirlar ikki raundli хarakteristikadan 6 marta (2-raunddan 13-raundgacha) fоydalanishni taklif qildilar. Оltita ikki raundli хarakteristikaning ehtimоlligi quyidagicha bo’ladi: p=(1/27,87)6=1/247,22=2-47,22. Ushbu holda 14-raundga qiymati nol bo’lgan ayirma kiradi va f shifrlash funksiyasidan p=1 ehtimollik bilan nol ayirma chiqadi (3.9-rasm). Biz yuqorida keltirgan ayirma to’liq DES shifri uchun bo’lishi mumkin bo’lgan kirish-chiqish ayirmalarining ichidan eng katta ehtimollikka ega bo’lgani hisoblanadi. Shu bois, kalitni bitlarinin topishda undan foydalanish mumkin. Bizga 16-raundning chiqish ayirmasi ma’lumligi va 14-raund kirish ayirmasi holga teng ekanligidan 15-raund f shifrlash funksiyasidan 16-raundning o’ng qismiy chiqish ayirmasi chiqishni aniqlash mumkin. 15-raundning kirish ayirmasi ma’lum, demak, 16-raundning f shifrlash funksiyasidan chiqish ayirmasini osongina aniqlash mumkin. Shunday qilib, 2-raunddan 13-raundgacha ikki raundli хarakteristikadan foydalanish va 16-raundning chiqish ayirmasini aniq bilish xarakteristikaning umumiu ehtimolligini hisobga olishda oxirgi uchta raundni chiqarib tashlash imkonini beradi. Oxirgi uchta raund doimo p=1 ehtimollik bilan bajariladi. Shuni ham qayd etish lozimki, birinchi raundning chiqishida ayirmaning birinchidan o’ng ikkinchi bitigacha nol bo’lmagan bitlar bo’lishi mumkin (uchta S blokdan 4 bitlardan chiqishlarga mos holda). Buning natijasida jami 2 12 ta chiqish ayirmasi bo’lishi mumkin. Ushbu 12 bitli ayirmalarning har biri 2 12 ta variantning biri orqali hosil qilininshi mumkin, ya’ni kiruvchi juftliklarning umumiy kombinasiyasi (212)2=224. Kerakli ayirmaning paydo bo’lish ehtimoli p=1/2 12 ga teng. 77 3.9-rasm. To’liq DES shifriga differensil tahlilni qo’llanilishi. Shuningdek, to’g’ri juftliklarni tanlashda 16-raundning f shifrlash funksiyasidan chiqishda oxirgi 5 ta S blokda nol ayirma paydo bo’lishini hisobga 78 olish lozim. Shunday qilib, bo’lishi mumkin bo’lgan 224 ta matn juftliklaridan 2 20 tasining oxirgi 20 biti (oxirgi 5 ta S blokdan chiquvchi) nol bo’lmasligi mumkin. U holda taxminan 24=16 ta bo’lishi mumkin bo’lan matn juftliklari qolmoqda. Agar S1, S2 va S3 blоklar tahliliga e’tibor berilsa, berilgan kiruvshi ayirma uchun ayrim chiquvchi ayirmalar umuman paydo bo’lmasligini payqash mumkin. Yuqoridagilarga asoslanib, birinchi raundni tahlil qilish hisobiga to’g’ri juftliklarni izlash doirasini ancha qisqartirish mumkinligini Bixam va Shamirlar ko’rsatib berishgan. Bir necha to’g’ri juftliklar topilishi bilan kalitning to’g’ri qiymatlarini aniqlash mumkin bo’ladi. §3.7. GОST 28147-89 shifrlash algоritmi raund akslantirishlarining tahlili Tahlil uchun GОST 28147-89shifrlash algоritmining оddiy o’rniga qo’yish rejimini ko’rib chiqamiz. Chunki bоshqa algоritmning bоshqa rejimlari ham aynan shu rejimdagi akslantirishlardan fоydalanadi. Ushbu shifrlash algоritmida 8 ta S blоkdan tashkil tоpgan o’rniga qo’yish jadvali hamda S blоklardan chiqqan 32 bitli ketma-ketlikni 11 pozisiyaga siklik surishdan ibоrat o’rin almashtirish akslantirishlaridan fоydalaniladi. Bu erda dastlabki 32 bitli blоk 8 ta 4 bitli blоklarga bo’linadi va bu 4 bitli blоklar S blоklarga uzatiladi. Ushbu S blоklardan chiqqan 4 bitli ma’lumоtlar blоki yana 32 bitga birlashtiriladi. 32 bitli ma’lumоtlar ketma-ketligiga 11 bit chapga siklik surish qo’llaniladi. Bu siklik surish natijasida keyingi raundlarda 4 bitli blоklarga bo’lishda dastlabki 4 bitli blоkni tashkil qiluvchi bitlar yana bitta blоkda ishtirоk etmaydi. Chunki dastlabki bitlar ketma-ketligi aralashib ketgan bo’ladi. GОST 28147-89shifrlash algоritmida raund funksiyasi 3 ta asоsiy amaldan tashkil tоpgan. 11 bit chapga siklik surish tahlili. Оdatda differensial kriptоtahlilda 2 ta matnni ayirmasi tadqiqоt оb’ekti sifatida o’rganiladi. Faraz qilaylik, A va V matnlar berilgan bo’lsin. U hоlda ularning ayirmasi (AV) ga teng bo’ladi. Agar ushbu 79 matnlarni har biri s razryadga chapga surilsa, buning natijasida (A«s)(V«s) ayirmaga ega bo’lish mumkin va bu ayirma quyidagi хоssaga ega: (A«s) (V«s) = (AV)«s. Agar ushbu amal GОST 28147-89shifrlash algоritmiga nisbatan qo’llanilsa, u hоlda quyidagiga ega bo’lish mumkin: (A«11) (V«11) = (AV)«11, ya’ni siklik surish natijasida chiqishda to’g’ri ayirmani hоsil qilish uchun kiruvchi ayirmani 11 pozisiyaga chapga siklik surish zarur. 2n ni mоduli bo’yicha qo’shish amali. Differensial kriptоtahlil usuli ikkita хabar o’rtasidagi o’хshashmaslikni o’zgarishini kuzatishga asоslangan. O’хshashmaslikni aniqlash uchun 2 ni mоduli bo’yicha qo’shish amalidan fоydalaniladi, buning natijasida dastlabki ikkita хabarning farqlanuvchi bitlari jоylashgan pozisiyalarda nol bo’lmagan bitlar hоsil qilinadi. Aynan shu sababli, ya’ni bir хil qiymatlarni 2 ni mоduli bo’yicha qo’shish natijasi nol bo’lganligi sababli DES shifrlash algоritmida ayirmalarni raund akslantirishi F shifrlash funksiyasidan o’tishida raund kalitlari qiymatlari hisоbga оlinmaydi. GОST 2814789shifrlash algоritmida DES shifrlash algоritmidan farqli o’larоq raund kaliti bilan qo’shish 232 ni mоduli bo’yicha amalga оshiriladi. Shu sababli ushbu turdagi qo’shish ta’sirini o’rganish lоzim. Buning uchun 32 razryadli sоnlar ustida bajarilgan amallarni to’liq tahlil qilish qiyin masala. Shu sababli 2, 3, 4 razryadli sоnlarni bir-birlari bilan 22, 23, 24 mоdullari bo’yicha qo’shishni tahlil qilingan [16]. Natijalar mоs hоlda 3.14,3.15,3.16-jadvallarda keltirilgan. 3.14-jadval. (a+b)mod22 amalini tahlili. 80 3.15-jadval. (a+b)mod23 amalini tahlili. Ushbu jadvallarni tahlil qilish mоdul bo’yicha qo’shishda ayirmalar o’zgarmasdan qоlish ehtimоlligini aniqlash imkоnini berdi. Ushbu jadvallarning har birida (differensial tahlilni qo’llashga mo’ljallangan boshqa jadvallar kabi) vertikal bo’yicha kirish ayirmasi A, gorizontal bo’yicha chiqish ayirmasi C ning qiymatlari joylashtirilgan. Bir qarashda 3.14-3.16 jadvallar bir хil tuzilmaga ega ekanligini payqash mumkin. 3.15-jadvalning chap yuqоri va o’ng pastki chоraklari 3.14-jadvalni tuzilmasiga ega. Хuddi shuningdek, 3.16-jadval ham 3.15-jadval o’хshashligini payqash mumkin. 3.16-jadval. (a+b)mod24 amalini tahlili. 81 bilan Tahlil qilish natijasida оlingan barcha хulоsalarni nafaqat 232 mоduli bo’yicha qo’shish, balki butun sоnlarni 2n ni mоduli bo’yicha qo’shish - (a + b)mod2n ga qo’llash mumkin: 1. Iхtiyoriy kiruvchi ayirma chiqishda o’zgarmasdan qоlishi mumkin. Kiruvchi ayirmaning chiqishda o’zgarmasdan qоlish ehtimоlligini quyidagicha hisоblash mumkin: agar kirish ayirmasi k<2n-1, u hоlda p=1/2k; agar kirish ayirmasi k2n-1, u hоlda p=1/2k-1, (*) (**) bu yerda k – kiruvchi ayirmadagi nol bo’lmagan bitlar sоni. Agar kirish ayirmasi k=0 bo’lsa, akslantirishning chiqishida r=1 ehtimоllik bilan chiqish ayirmasi ch=0 bo’ladi. 2. Agar kirish ayirmasi k=2n-1 bo’lsa, r=1 ehtimоllik akslantirish chiqishida ch=2n-1 ayirma bo’ladi. Sоnlarni 2n ni mоduli bo’yicha qo’shishda akslantirishga kiruvchi ayirma chiqishda qanday ehtimоllik bilan o’zgarmasdan qоlishini bilishda ushbu keltirilgan qоida juda muhim hisоblanadi. S-blоklar ёrdamidagi akslantirishlarning tahlili. Tahlil qilish uchun amalda fоydalanilayotgan, fiksirlangan 3.17-jadval va tasоdifiy 3.18-jadvaldan fоydalanildi. 3.17-jadval. Fiksirlangan o’rniga qo’yish jadvallari (S-blоklar). 82 3.18-jadval. Tasоdifiy o’rniga qo’yish jadvallari (S-blоklar). 3.19-jadval. Fiksirlangan S1 blоki tahlili. S1 1 2 3 4 5 6 7 8 9 a b c d e F 1 0 0 0 0 2 2 0 2 0 0 2 0 4 4 0 2 3 4 5 6 7 8 9 A B C d e f 0 0 2 0 0 2 2 0 2 0 4 0 2 2 2 0 2 4 0 0 2 2 0 2 2 0 0 0 0 4 0 0 4 0 0 4 0 0 4 0 0 0 0 2 4 0 6 0 0 0 0 2 0 0 2 0 0 0 0 0 0 2 2 2 2 0 2 0 2 2 2 2 0 0 2 0 0 0 2 0 0 2 2 2 4 0 0 4 0 0 2 0 2 0 0 2 0 2 2 2 0 0 2 0 2 0 2 2 0 0 0 2 0 0 4 4 0 0 0 0 2 2 0 0 2 2 0 6 0 0 2 4 2 0 0 0 0 2 0 0 0 0 0 0 0 2 0 2 2 2 2 2 0 2 2 0 2 4 0 0 0 2 0 0 2 2 2 0 4 0 0 0 0 0 2 0 0 2 0 2 2 0 0 0 0 0 0 4 2 0 0 2 0 2 2 0 0 0 2 0 0 2 0 4 2 2 0 2 0 2 Tahlil qilish natijasida quyidagi qоnuniyatlar aniqlandi: 1. Kirish ayirmasi A ning bir хil qiymatiga mоs keluvchi chiquvchi ayirma C ning turli qiymatlarining umumiy sоni, bitta satrdagi barcha qiymatlar yig’indisi dоimо 24 ga teng. 2. Barcha blоklarda kirish ayirmasi A ning nol bo’lmagan qiymatlariga chiquvchi ayirma C ning nol bo’lmagan qiymatlari mоs keladi. 3. Fiksirlangan jadvallar uchun S7 va S8 blоklar nisbatan zaif blоklardir. 83 4. Tasоdifiy jadvallar uchun S3, S4 va S6 blоklar nisbatan zaif blоklardir. Misol tariqasida S1 bloklarni tahlil qilish natijalari fiksirlangan jadvallar uchun 3.19-jadvalda va tasоdifiy o’rniga qo’yish jadvallari uchun 3.20-jadvalda keltirilgan. Ushbu jadvallarda kirish ayirmasi A ning qiymatlari birinchi ustunda, unga mos keluvchi chiqish ayirmasi C ning qiymatlari gorizontal satrlarda keltirilgan. Kirish ayirmasi A ning nol bo’lgan qiymatlarida S blоklardan chiqishda bir ehtimоllik C ning nol bo’lgan qiymatlari chiqishini hisоbga оlib, ayrim jadvallarda A=0 bo’lgan satr kiritilmagan. 3.20--jadval. Tasоdifiy S1 blоki tahlili. §3.8. GOST 28147-89 shifrlash algoritmining differrensial tahlili Shifrlash raundidan o’tishda iloji boricha tekis taqsimlanganlik kuzatilmasligi uchun GOST 28147-89 algoritmining tahlili uchun kirish ayirmalarini turli tartibda olish maqsadga muvofiq. Shu sababli kirish ayrmalarini tanlashda quyida keltirilgan yondoshuvdan foydalanildi: 84 1. shifrlash raundining chiqishida katta ehtimollik bilan yagona chiqish ayirmasi paydo bo’lishi uchun kirish ayirmasi A ilojo boricha kamroq S bloklarga kirishi lozim; 2. 232 moduli bo’yicha qo’shishda kirish ayirmasi A o’ziga akslanishi, ya’ni chiqishda o’zgarmasdan qоlishi uchun u iloji boricha kamroq nol bo’lmagan bitlardan tashkil topgan bo’lishi lozim; 3. A kirish ayirmasi S bloklardan o’tishida iloji boricha kamroq nol bo’lmagan bitlar (iloji bo’lsa bitta bit) dan tashkil topgan C chiqish ayirmasi katta ehtimollik bilan paydo bo’lishi lozim. GOST 28147-89 shifrlash algoritmining 6 raundu uchun ayirmalar 3.21jadvalda o’n oltilik sanoq tizimida keltirilgan. Bu yerda p chiqish ayirmasining kirish ayirmasiga mos kelish ehtimolligini anglatadi. v chiqish ayirmasining chap qismiy bo’lagi bo’lib, u bo’lishi mumkin bo’lgan qiymatlardan birini qabul qiladi. 3.21jadvalda ayirmalarning yuqori qismi ushbu ayirmaning chap, quyi qismiy o’n qismiy bo’lagiga mos keladi. 3.21-jadval. GOST 28147-89 shifrlash algoritmining 6 raundu uchun ayirmalar. 3.21-jadvalda keltirilgan ayirmalardan faqatgina chiqishda katta ehtimollik bilan yagona chiqish ayirmasi paydo bo’lishini ta’minlaydigan kirish ayirmalari tahlil uchun tanlab olindi. Jadvaldan ko’rinib turibdiki, ushbu ayirma fiksirlangan bloklar uchun uchinchi, tasodifiy bloklar uchun ikkinchi satrda joylashgan. 85 Fiksirlangan bloklardan foydalanadigan shifrlash algoritmi kirishiga ayirmaning k=00000800 00000003 qiymati kelib tushadi (3.10-rasm). Kirish ayirmasining o’n qismi (00000003 qiymat) shifrlash funksiyaisi F ga tushadi. Ushbu shifrlash funksiyaisi F ning birinchi amali kalit bilan 2 32 moduli bo’yicha qo’shish amalidir. 00000003 qiymat 231 dan kichik bo’lganligi sababli (*) ga asosan 2 32 moduli bo’yicha qo’shish natijasi p=1/2 k=1/22 ehtimollik bilan 00000003 ga teng (ya’ni ayirma o’zgarmasdan qoladi). 3.10-rasm. GOST 28147-89 shifrlash algoritmining 6 raundu uchun differensial xarakteristika qurish. 86 Shifrlash funksiyaisi F dagi keying amal S bloklardan foydalanib, ma’lumotlarni almashtirish amalidir. 00000003 ayirma faqatgina S8 blokiga nol bo’lmagan bitlar kirishini ta’minlaydi. 3.22-jadvaldga ko’ra agar S8 blokka 3 qiymat kirsa, u holda p=6/16=3/23 ehtimollik bilan 1 chiqadi va unda faqatgina bitta noldan farqli bit mavjud. Natijada S bloklardan qiymati 00000001 bo’lgan ayirma chiqadi. Shifrlash funksiyaisi F ning oxirgi amali 11 bit chapga siklik surishdan iborat: 00000001<<<11 =00000800. Bu yerda va undan oldin 32 bitli ayirmalaning qiymatlari qulaylik uchun o’n oltilik sanoq tizimida keltirilmoqda. Shu sababli 11 bit chapga siklik surish natijasida 8 soni paydo bo’lib qolmoqda. Shunday qilib, birinchi raund shifrlash funksiyaisi F dan p=3/231/22=3/25 ehtimollik bilan qiymati 00000800 bo’lgan ayirma chiqmoqda. Birinchi raundga kiruvchi ayirmaning chap qismi birinchi raund shifrlash funksiyaisi F dan chiquvchi ayirmaning 00000800 qiymatiga teng. Shu bois, ikkinchi raund shifrlash funksiyaisi F ga qiymati nol bo’lgan ayirma kiradi va shifrlash funksiyaisidan bir ehtimollik bilan nol chiqadi. 3.22-jadval. S8 blok uchun kirish va chiqish ayirmalarining mosligi. S8 1 2 3 4 5 6 7 8 9 a b c d e f 1 0 2 0 2 0 0 0 0 0 0 2 0 6 4 0 2 3 4 5 6 7 8 9 a b c d e f 0 6 0 0 2 0 0 2 2 2 0 2 0 0 0 2 2 2 0 0 2 0 4 2 0 0 0 0 2 2 0 0 0 0 2 6 0 0 0 0 4 0 0 0 4 2 0 0 0 0 2 0 2 2 0 2 0 0 0 0 4 8 0 0 0 0 4 0 0 0 0 0 0 4 0 0 0 4 0 0 0 0 4 4 2 2 2 0 2 0 0 0 0 0 2 4 0 2 0 0 2 0 2 4 4 0 0 0 0 2 0 2 0 0 2 2 0 0 0 0 0 4 2 2 4 0 2 2 0 4 0 4 0 0 0 0 2 2 0 0 0 0 2 0 4 0 0 0 2 0 0 0 4 2 4 0 0 0 0 0 2 2 2 2 4 0 0 0 0 2 0 0 0 0 2 0 2 0 0 0 0 4 2 0 0 0 2 0 4 2 0 0 0 2 0 0 4 0 2 2 0 0 0 0 2 6 0 0 0 0 87 Uchinchi raund birinchi raundga o’xshash bo’ladi. Shifrlash funksiyaisi F ga qiymati 00000003 bo’lgan ayirma kelib tushadi, undan p=3/25ehtimollik bilan 00000800 ayirma chiqadi. To’rtinchi raund shifrlash funksiyaisi F ga qiymati k=00000800 bo’lgan ayirma kelib tushadi. Bu ayirmaning qiymati 2 31 dan kichik bo’lganligi sababli 2 32 ning moduli bo’yicha qo’shish natijasida p=1/2 k=1/2 ehtimollik bilan o’ziga akslanadi. k=00000800 ayirma faqatgina S6 blokka ta’sir qiladi va undan p=3/2 3 ehtimollik bilan e16=14 chiqadi (2.23-jadval). Oxirgi amal 11 bit chapga siklik surish bo’lib, uning natijasida 00000e00<<<11=0070000016 ni hosil qilish mumkin. Shunday qilib, to’rtinchi raund shifrlash funksiyaisi F ning chiqishida p=1/2*3/23=3/24 ehtimollik bilan ch=00700000 ayirma chiqadi. 3.23-jadval. S6 blok uchun kirish va chiqish ayirmalarining mosligi. S6 1 2 3 4 5 6 7 8 9 a b c d e f 1 2 0 0 0 6 0 0 0 0 2 0 2 2 0 2 2 3 4 5 6 7 8 9 a b c d e f 0 2 0 2 2 0 0 0 2 2 0 4 0 0 2 0 0 0 2 0 2 4 0 0 0 2 2 2 2 4 2 0 0 0 2 0 0 4 0 0 2 0 0 2 0 0 0 2 0 0 0 2 4 4 0 2 0 0 0 0 2 0 2 0 0 0 2 2 2 0 4 2 0 4 2 0 0 0 2 0 0 0 0 2 0 2 2 2 0 2 2 0 0 0 2 0 2 2 0 0 0 0 2 2 0 4 4 0 2 2 0 0 0 0 2 0 2 4 0 0 2 2 2 0 0 2 0 2 4 2 0 2 0 0 0 0 0 0 0 4 4 0 4 0 0 0 0 4 0 0 0 0 4 0 0 0 0 2 2 2 0 0 4 2 0 0 2 0 0 0 2 0 2 2 2 0 0 4 2 0 0 0 2 2 0 0 0 0 6 0 2 0 2 0 0 2 2 0 0 4 0 0 0 4 0 0 0 2 2 0 88 Beshinchi raund shifrlash funksiyaisi F ga qiymati k=00700003 bo’lgan ayirma kelib tushadi. Xuddi yuqoridagidek, shifrlash funksiyaisi F dan p=3/210 ehtimollik bilan ch=00000806 ayirma chiqadi. Shifrlasning beshinchi raundidan so’ng olti raund shifrlashdan keyin chiqish ayirmasining o’n qismiy blokini qiymati 00000006 ekanligini aniqlash mumkin. Oltinchi raund shifrlash funksiyasidan o’tishda ushbu ayirmaning qiymati quyidagi 7 ta turli chiqish qiymatlariga ega bo’lishi mumkin: 00001000 00002000 00003800 00001800 00003000 00005800. 00006800 (***) Oltinchi raund shifrlash funksiyaisi F ning chiqishi mumkin bo’lgan qiymatlari (***) ni beshinchi raund o’n qismiy bloki qiymati bilan 2 ning moduli bo’yicha qo’shish natijasida quyidagi v ning 7 ta turli qiymatlariga ega bo’lishi mumkin: 00701003 00702003 00703803 00701803 00703003 00705803. 00706803 Shunday qilib, shifrlashning olti raundi ehtimolligi quyidagiga teng: p=3/25*1*3/25*3/24*3/210 1/217,7. Kirish ayirmasi k=04000000, 00001000 uchun tasodifiy blokli algoritmning tahlili ham xuddi yuqoridagidek bo’ladi. 3.11-rasmda shifrlash raundlaridan o’tishda ayirmalarning akslantirilishi ko’rsatilgan. Eng katta ehtimollik bilan paydo bo’ladigan (k,ch) ayirmalar juftligi aniqlangandan so’ng, matnlarning ushbu ayirmalarning qiymatlariga mos keluvchi to’g’ri juftliklarini izlash va matnlarning topilgan to’g’ri juftliklaridan foydalanib, kalit bitlarini aniqlashga kirishish mumkin bo’ladi. Buning uchun quyida keltirilgan algoritm bo’yicha tahlilni davom ettirish lozim: 1. Ayirmalari berilgan k ayirmaning qiymatiga teng bo’lgan (XL,XR) va (XL1,XR1) ochiq matn juftliklari tanlanadi. 2. Ochiq matnning tanlangan juftliklari GOST 28147-89 shifrlash algoritmi yordamida shifrlanadi. Buning natijasida (YL,YR) va (YL1,YR1) shifr matn juftliklari hosil bo’ladi. 89 3. CR=YRYR1 ning qiymati hisoblanadi. Agar CR ning qiymati berilgan ch chiqish ayirmasining qiymatiga teng bo’lsa, algoritmning keyingi bandi bajariladi. Aks holda tahlil qilinayotgan juftlik noto’g’ri juftlik bo’lib, algoritmning 8-bandiga o’tiladi. 4. CL=YL YL1 ning qiymati hisoblanadi. Agar CL ning CL qiymati bilan ayirmaning bundan oldingi banddagi o’n qismiy bloki bilan 2 moduli bo’yicha yig’indisi bo’lishi mumkin bo’lgan qiymatlardan birini qabul qilsa, u holda tahlil qilinayotgan juftlik to’g’ri juftlik bo’lib, algoritmning keyingi bandi bajariladi. Aks holda tahlil qilinayotgan juftlik noto’g’ri juftlik bo’lib, algoritmning 8-bandiga o’tiladi. 5. CL ayirmaning qiymatiga 11 bit o’nga siklik surish qo’llanilib, CL-1 ayirmaning S bloklardan chiqish qiymati aniqlanadi. Har bir S bloklardan chiqishda CL-1j ning qiymati topilsin (j=1,2,…,8). 6. Har bir S blokning kirishiga maxfiy kalitning qismi bilan qo’shilgan birinchi YRj (j=1,2,…,8) matnning qiymati kirsin. Shuningdek, har bir S blokning kirishiga maxfiy kalitning qismi bilan qo’shilgan ikkinchi YR1 j (j=1,2,…,8) matnning qiymati kirsin. 7. Sakkizta S bloklarning har biri uchun qismiy kalitning qiymati saralanadi. Har bir S blokka 4 bit kirganligi bois, S bloklarning har biri uchun qismiy kalitning 24=16 ta variantini saralash kerak bo’ladi. Buning uchun a) Navbatdagi k qismiy kalitning qiymati aniqlanadi. b) Kirishning YRj+k qiymati uchun j-chi S blokdagi S(YR)j chiqish qiymatini aniqlash lozim. c) Kirishning YR1j+k qiymati uchun j-chi S blokdagi S(YR1)j chiqish qiymatini aniqlash lozim. d) Agar S(YR)j S(YR1)j=CL-1j bo’lsa, k qismiy kalitning qiymati yaroqli bo’ladi va ushbu qismiy kalitning hisoblagich qiymati 1 ga oshiriladi. e) Hisoblagichlari eng katta qiymatga ega bo’lgan qismiy kalitlar qidirilayotgan kalitlar hisoblanadi. 90 8. Qismiy kalitning biror qiymati boshqalariga nisbatan ko’proq uchramaguncha (har bir S blok uchun) (XL,XR) va (XL1,XR1) ochiq matn juftliklarining bo’lishi mumkin bo’lgan barcha variantlari uchun bu yerda keltirilgan 1-7 bandlarni takrorlash lozim. Nazorat savollari 1. Differensial kriptоtahlil usulining asоsiy g’оyasi nimadan iborat? 2. Differensial tahlil usulining asоsini qanday hujum tashkil qiladi? 3. Kirish va chiqish ayirmalari differensiali nima? 4. Оchiq matnlarning to’g’ri juftligi deb nimaga aytiladi? 5. Оchiq matnlarning noto’g’ri juftligi deb nimaga aytiladi? 6. Kirish va chiqish differensiallari jadvali nima? 7. Differensial tahlil usulini qo’llab, S-DES-2 shifrlash algoritmining qismiy kaliti bitlari qanday topiladi? 8. i-chi raund differensiali yoki ayirmali хarakteristikasi deb nimaga aytiladi? 9. Differensial хarakteristika nima? 10. Blokli shifrlarga differensial tahlilni qo’llash qanday tamoyil asosida olib boriladi? 11. Differensial hujum modeli nima? 12. Yuqori ehtimolli differensial xarakteristikalar qanday aniqlanadi? 13. Aniqlangan differensial xarakteristikalar yordamida matnlarning to’g’ri juftliklari qanday aniqlanadi? 14. 𝑛 raundli shifr uchun differensial kriptоtahlilni o’tkazish uchun qanday raundgacha differensial хarakteristika quriladi? 15. differensial kriptоtahlilni o’tkazish uchun qanday tartibidagi оchiq matnshifr matnlar juftligi kerak bo’ladi? 16. Охirgi shifrlash raundining qismiy kalitini topishda qo’llaniladigan algоritmda bajariladigan amallar ketma-ketligini ayting. 17. S bloklar uchun kirish va chiqishlarning mosligi nima? 91 18. DES shifri S blokining tahlil qilish natijasida qanday qonuniyatlarni ko’rish mumkin? 19. Kirish ayirmasi nol bo’lmagan bir raundli akslantirishga misоl keltiring. 20. DES shifrlash algоritmining uchta raundi differensial kriptоtahlili qanday amalga oshiriladi? 21. DES shifrlash algоritmining to’liq raundi differensial kriptоtahlili qanday amalga oshiriladi? 22. Bir xil uzunlikdagi A va V matnlar berilgan bo’lsin. U holda (A<<<11) (V<<<11) = (AV) <<<11 munosabat o’rinlimi? 23. GОST 28147-89 shifrlash algоritmida 2n ni mоduli bo’yicha qo’shish qanday amalga oshiriladi? 24. GОST 28147-89shifrlash algоritmida sоnlarni 2n ni mоduli bo’yicha qo’shishda akslantirishga kiruvchi ayirma chiqishda qanday ehtimоllik bilan o’zgarmasdan qоlishini qanday qоida asosida bilish mumkin? 25. GОST 28147-89shifrlash algоritmida S blоklar yordamidagi akslantirishlarning tahlili natijasida qanday qonuniyatni aniqlash mumkin? 26. GOST 28147-89 algoritmining differensial tahlili uchun kirish ayrmalarini tanlashda qanday yondoshuvdan foydalaniladi? 27. GOST 28147-89 shifrlash algoritmining 6 raundu uchun differensial kriptоtahlil qanday amalga oshiriladi? 28. GOST 28147-89 algoritmining differensial tahlilida kalit bitlarini aniqlash algoritmini keltiring? 92 4-BOB. SP TARMOG’IGA ASOSLANGAN BLOKLI SHIFRNING DIFFERENSIAL KRIPTОTAHLILI Mavzuni bayon qilishda 4.1-rasmda ko’rsatilgan, kirish bloki va raund kaliti uzunligi 16 bit bolgan o’rin almashtirish-o’rniga qo’yish (SP) tarmog’iga asoslangan, 4 raundli shifrdan foydalaniladi. §4.1. SP tarmog’iga asoslangan shifrning tavsifi Shifrning har bir raundi quyida keltirilgan kriptografik akslantirish va almashtirishlardan iborat: kalitlarni aralashtirish (key mixing). o’rniga qo’yish (substitution); o’rin almashtirish (permutation). Kalitlarni aralashtirish (Key mixing). Kalitlarni aralashtirish uchun joriy raund kaliti bitlari joriy raundga kiruvchi ma’lumotlar bloki bitlarii bilan 2 ning moduli bo’yicha qo’shiladi. Oxirgi raunddan chiqqan bitlar ketma-ketligiga kriptotahlilchi teskari yo’nalishda o’rniga qo’yishni osongina amalga oshirishini oldini olish uchun oxirgi raunddan keyin ham kalitlarni aralashtirish qo’llaniladi. Odatda raund kaliti dastlabki shifrlash kalitidan qanaqadir usullar bilan hosil qilinadi. Biz foydalanayotgan shifrda raund kalitlari bir-biriga bog’liq bo’lmagan holda generasiya qilinadi. O’rniga qo’yish (Substitution yoki S blok). Bu algoritmda 16 bitli ma'lumotlar bloki to'rtta S blokka kiradi. Har bir S blokka 4 bitli ketma-ketlik kirib, undan mos holda 4 bitli ketma-ketlik chiqadi. S blokining eng muhim xususiyati chiziqli emasligi, ya'ni chiqish bitlari kirish bitlarining chiziqli funksiyasi sifatida ifodalanmasligidan iborat. Shifrlash algoritmida barcha S bloklar uchun bir xil chiziqsiz akslantirishdan foydalaniladi. 4.1-jadvalda shifrlash foydalaniladigan S blok o’n oltilik sanoq tizimida keltirilgan. 93 algoritmida 4.1-rasm. SP tarmog’iga asoslangan shifr. 94 O'rin almashtirish (P blok). Shifrda o’rin almashtirish 4.2-jadvalda keltirilgan qoida asosida amalga oshiriladi. Ushbu jadvalga asosan chap tomondagi birinchi bit, oltinchi va o’n birinchi bitlar hamda o’ng tomondagi oxirgi (o’n oltinchi bit) bit o’z o’rinlarini almashtirmaydilar. Shuningdek, 4.2-jadval bo’yicha o’rin almashtirishni quyidagicha talqiin qilish mumkin: Sj blokdan chiquchi i soni (o’nlik sanoq tizimidagi) Si blokdan chiquvchi j soni (o’nlik sanoq tizimidagi) bilan bog’langan. Kirish Chiqish Kirish 1 Chiqish 1 0 E 2 5 1 4 3 9 2 D 3 1 4 13 5 2 4 2 6 6 4.1-jadval. SP shifrida qo’llaniladigan S blok. 5 6 7 8 9 A B C D E F F B 8 3 A 6 C 5 9 0 7 7 10 8 14 9 3 4.2-jadval. O’rin almastirish. 10 11 12 13 14 15 16 7 11 15 4 8 12 16 4.3-jadval. S bloklar uchun differensiallar juftligiga misol. X Y 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1110 0100 1101 0001 0010 1111 1011 1000 0011 1010 0110 1100 0101 1001 0000 0111 X = 1011 0010 0010 0111 0010 0101 1111 0010 1101 0010 0111 0010 0010 1101 0010 1111 0101 95 Y X = 1000 1101 1110 0101 1011 0111 0110 1011 1111 1101 1110 0101 1011 0111 0110 1011 1111 X = 0100 1100 1011 0110 1001 1100 1011 0110 1001 0110 0011 0110 1011 0110 0011 0110 1011 Dastlabki matnga o’girish. Shifrlangan ma'lumotni dastlabki matnga o’girish uchun shifrlash jarayonini teskari tartibda bajarish lozim. Buning uchun shifrlashda ishlatiladigan akslantirishlar o'rniga ulargai teskari bo’lgan akslantirishlarni qo'llash (ya'ni, kirish sifatida chiqish, chiqish sifatida kirishdan foydalanish) lozim. Dastlabki matnga o’girishda raund kalitlari teskari tartibda qo'llaniladi va qismiy kalitlardan teskari almashtirishga muvofiq foydalanish kerak. §4.2. SP tarmog’i asosidagi shifr akslatirishlarining tahlili Birinchi navbatda S bloklar uchun differensiallar juftligini o'rganamiz. Buning uchun 4×4 o’lchamli S blokni ko'rib chiqamiz 4.2-jadvalda X=[x1,x2,x3,x4] kirish bitlari vektori va Y=[y1,y2,y3,y4] chiqish bitlari vektori bo’lsin. S bloklar uchun ma'lum bir X ayirma uchun Y ayirma qiymatining hosil bo’lish ehtimolligi yuqori bo’lsa barcha mumkin bo'lgan (X,Y) juftliklar uchun (X', X'') ning barcha mumkin bo’lgan juftliklaridan foydalanamiz. (X',X'') juftliklarning tartibi muhim emas, 4×4 o’lchamli S blok uchun X' ning 16 ta qiymatini ko'rib chiqish yetarli. 𝛥X ning qiymatidan foydalanib, X'' = X'𝛥X tenglik yordamida X'' ni hosil qilish mumkin. Shifrning S bloklarini ko’rib chiqib, har bir kirish juftligi (X', X'' = X'𝛥X) uchun 𝛥Y qiymatlarini hosil qilish mumkin. Masalan, berilgan (X, X 𝛥X) kirishlar juftligi uchun X, Y ning ikkilik qiymatlari va unga mos keluvchi 𝛥Y ning qiymatlari 𝛥X = 1011, 1000 va 0100 qiymatlari uchun 3.26-jadvalda keltirilgan. 3.26-jadvaldagi satrlardagi har bir X va 𝛥X ning aniq bir qiymati uchun oxirgi 3 ta ustunda 𝛥Y ning qiymatlari ko’rsatilgan. Ushbu jadvaldan ko’rinib turibdiki, 𝛥X=1011 qiymat uchun 𝛥Y = 0010 ning paydo bo’lish ehtimolligi 8/16 ga teng. X =1000 qiymat uchun Y=1011 ning paydo bo’lish ehtimolligi 4/16 gd teng . X = 0100 qiymat uchun Y = 1010 ning paydo bo’lish ehtimolligi 0 /16 ga teng va bu juftlik shartni qanoatlantirmaydi. 4.4-jadvalda S bloklar differensiallarining taqsimlanishi ko'rsatilgan. Bunda satrlar X qiymatlarini (o'n oltilik sanoq tizimida), ustunlar Y qiymatlarini (o'n 96 oltilik sanoq tizimida) ifodalaydi va ularning kesishmasida mos kelish soni berilgan. Shuni ham qayd etish lozimki, ushbu jadvalda 𝛥X = B va 𝛥Y = 2 da eng katta qiymat mos keladi, ya’ni 𝛥X = B kirish ayirmasiiga p=8/16=1/2 ehtimollik bilan 𝛥Y=2 chiqish ayirmasi mos keladi. Ko’pgina kirish-chiqish ayirmalarining mosligi 0 ga teng. X K i r i s h d i f f e r e n s i a l i 4.4-jadval. Differensiallarning ehtimoliy taqsimlanishi. Y chiqish differensiali 4 5 6 7 8 9 A B S D E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 1 0 2 0 3 0 1 0 0 0 2 0 0 0 2 0 2 4 0 4 2 0 0 2 0 0 0 2 0 6 2 2 0 2 0 0 0 0 2 0 3 0 0 2 0 2 0 0 0 0 4 2 0 2 0 0 4 4 0 0 0 2 0 0 6 0 0 2 0 4 2 0 0 0 5 0 4 0 0 0 2 2 0 0 0 4 0 2 0 0 2 6 0 0 0 4 0 4 0 0 0 0 0 0 2 2 2 2 7 0 0 2 2 2 0 2 0 0 2 2 0 0 0 0 4 8 0 0 0 0 0 0 2 2 0 0 0 4 0 4 2 2 9 0 2 0 0 2 0 0 4 2 0 2 2 2 0 0 0 A 0 2 2 0 0 0 0 0 6 0 0 2 0 0 4 0 V 0 0 8 0 0 2 0 2 0 0 0 0 0 2 0 2 S 0 2 0 0 2 2 2 0 0 0 0 2 0 6 0 0 D 0 4 0 0 0 0 0 4 2 0 2 0 2 0 2 0 E 0 0 2 4 2 0 0 0 6 0 0 0 0 0 2 0 F 0 2 0 0 6 0 0 0 0 4 0 2 0 0 2 0 Differensiallarning taqsimlanish jadvalini bir nechta umumiy xossalarini aytib o'tish kerak: birinchidan, shuni ta'kidlash kerakki, satrdagi barcha elementlarning yig'indisi 2n = 16; shunga o'xshash, har qanday ustunning elementlari yig'indisi 2n = 16 ga teng (n-kiruvchi va chiquvchi bitlar soni). Shuningdek, (X',X") juftlik va (X",X') juftlik bir xil qiymatga ega bo’lganligi sababli barcha elementlarning qiymatlari juft . Chunki, ularning differensiali X ham bir xil qiymat qabul qiladi: X = X' X" = X" X'. Bundan tashqaru kirish differensiali 97 X = 0 bo’lganda S bloklardan p=1 ehtimollik (2n=16) bilan chiqish differensiali 𝛥Y = 0 paydo bo’ladi. Differensial hujumda qo’llaniladigan differensial xarakteristikani olish uchun differensiallarni birlashtirishdan oldin S blok differensialiga kalit bitlarining ta’sirini o’rganish lozim. Buning uchun 4.2-rasmdan foydalanish mumkin. Ushbu rasmda kalit bilan ikkining moduli bo’yicha qo’shish amali hisobga olinmagan holda S blokka kiruvchi bitlar ketma-ketligi X vektor bilan belgilangan. Shu bilan birgalikda shifrda S blokka kiruvchi bitlar ketma-ketligini raund kalitining mos bitlari bilan ikkining moduli bo’yicha qo’shish amalidan foydalanish nazarda tutilgan. Uchbu holda raund kaliti bilan ikkining moduli bo’yicha qo’shish natijasi W vektori bilan belgilansa, u holda kirish differensiali uchun quyidagiga ega bo’lish mumkin: 𝛥W = [W'1 W1", W'2 W2", ... ,W'n Wn"], bu yerda [W'1, W2',..., W'n] va [W1", W2",..., Wn"] – S blokka kiruvchi ikkita qiymatlar. 4.2-rasm. SP tarmog’iga asosidagi shifrda kalitlarni XOR amali bilan qo’shish. [W'1, W2',..., W'n], va [W1", W2",..., Wn"] uchun raund kaliti bitlari bir xil hamda Ki Ki = 0 bo’lganligi sababli 98 𝛥Wi = W'i Wi" = (X'i Ki) (Xi"Ki) = Xi' Xi" = 𝛥Xi. Shunday qilib, kirish differensialiga kalit bitlarining ta’siri yo’qligi bois, raund kaliti bilan ikkining moduli bo’yicha qo’shish amalini hisobga olmaslik mumkin. Boshqacha aytganda, kalitni hisobga olganda ham hisobga olmaganda ham S blok differensiallarini tarqalishining bir xil jadvaliga ega bo’ladi. SP tarmog'idagi shifrning S bloklari uchun differensiallar haqidagi ma'lumotlar yig'ilgandan so'ng, butun shifrning foydali differensial xususiyatlarini aniqlashga kirishish mumkin. Bu jarayonni S bloklar uchun mos keladigan differensial juftliklarni birlashtirish orqali amalga oshirish mumkin. Buning uchun ochiq matn bitlari va oxirgi raundga kirivchi ma'lumotlar bitlaridan foydalanib, har bir raundda S bloklarning ayrim konkret differensiallari juftliklari uchun differensial xarakteristikalar qurish mumkin. Shu tarzda oxirgi raunddagi raund kaliti bitlarini qayta tiklash orqali shifrga hujum qilish mumkin. §4.3. SP tarmog’i asosidagi shifr uchun differensial xarakteristikalarni qurish S12, S23, S32, S33 bloklardan tashkil topgan differensial xarakteristikani ko'rib chiqamiz (4.3-rasm). Ushbu rasmda nol bo'lmagan differensiallar bitlarining ta'sirini va ular tarmoq orqali qanday o'tishini hamda faol deb qaralishi mumkin bo’lgan S bloklarni ko’rish mumkin. Differensial xarakteristikani qurishda S bloklar uchun ochiq matnlarning quyida keltirilgan juftligidan foydalaniladi: 𝛥R= [0000 1011 0000 0000]. 4.3-rasmdan ko’rininb turibdiku, differensial xarakteristika S12, S23, S32, S33 bloklardan tashkil topgan: S12: 𝛥X = B → 𝛥Y = 2, paydo bo’lish ehtimoli 8/16; S23: 𝛥X = 4 → 𝛥Y = 6, paydo bo’lish ehtimoli 6/16; S32: 𝛥X = 2 → 𝛥Y = 5, paydo bo’lish ehtimoli 6/16; S33: 𝛥X = 2 → 𝛥Y = 5, paydo bo’lish ehtimoli 6/16. 99 Boshqa barcha S bloklarga qiymati nol bo’lgan differensiallar kiradi va ulardan bir ehtimollik bilan qiymati nol bo’lgan differensiallar chiqadi. 4.3-rasm. SP tarmog’iga asoslangan shifrga differensial tahlilni qo’llash. 100 Shifrning kirish differensiali birinchi raundning kirish differensialiga ekvivalent bo’lib, u quyidagicha berilgan: 𝜟P = 𝜟U1 = [0000 1011 0000 0000], bu yerda Ui S blok uchun i-raunddagi kirish va Vi S-blokdan i-raunddagi chiqishni anglatadi. Demak, 𝜟Ui va 𝜟Vi mos keladigan differensiallarni ifodalaydi. Birinchi raundda quyidagi chqish differensialiga ega bo’lish mumkin: 𝛥V1 = [0000 0010 0000 0000]. Yuqorida keltirilgan S12 uchun bir nechta differensiallar juftliklarini va birinchi raunddagi qayta almashtirishlarni hisobga olib, P ochiq matnning differensiali uchun ehtimolliligi 8/16 = 1/2 bo’lgan quyidagini kirish differensialini hosil qilish mumkin: U2 = [0000 0000 0100 0000]. O’z navbatida S23 blokdan chiqqan bitlar ketma-ketligi, ya’ni 𝛥V2 = [0000 0000 0110 0000] ikkinchi raunddagi qayta almashtirishdan keyin uchinchi raundda kiruvchi differensialning qiymati 𝛥U3 = [0000 0010 0010 0000] berilgan 𝛥U2 ning qiymat uchun 6/16 va 𝛥P ochiq matn uchun 8/16 × 6/16 = 3/16 ehtimolligi bilan paydo bo’ladi. Berilgan 𝛥P matni uchun differensial ehtimolini aniqlashda biz birinchi raundning differensiali ikkinchi raundning differensialiga bog'liq emas deb taxmin qilinadi va shuning uchun ularning ikkalasini bajarilish ehtimoli ularning alohida ehtimolliklari ko'paytmasiga teng deb hisoblanadi. Uchinchi raunddagi S32 va S33 bloklar differensiallari hamda uchinchi raund almashtirishlaridan foydalanib, uchinchi raundning chiqish differensiali 𝛥V3 ning qiymaitni quyidagicha hosil qilish mumkin: 𝛥V3 = [0000 0101 0101 0000]. Ushbu differensialga mos holda to’rtinchi raundning kirish differensiali 𝛥U3 uchun (6/16)2 va ochiq matnning berilgan 𝛥P differensiali uchun 8/16 × 6/16 × (6/16) 2 = 27/1024 ehtimollikka ega bo’lib, uning qiymati quyidagiga teng bo’ladi: 𝜟U4 = [0000 0110 0000 0110]. 101 §4.4. Kalit bitlarini ajratish R raundli shifrlash algoritmining R-1 raundigacha qurilgan differensial xarakteristika differensial hujumni amalga oshirish, natijada oxirgi raund kalitining bitlarini tiklash imkonini beradi. Biz bunda oldingi mavzuda bayon qilingan shifr uchun K5 raund kalitining bitlarini tiklashimiz mumkin. Buning uchun shifrning oxirgi raundida bajarilgan akslantirishlarni qisman tahlil qilish, oxirgi raundga to’g’ri juftlik kirgan yoki kirmaganligini bilish maqsadida oxirgi raundga kirgan ma’lumotlarni tahlil qilish lozim bo’ladi. Oxirgi raund S bloklaridan chiqqan bitlar qisman maqsadli qismiy kalitlar deb nomlanadi. Oxirgi raunddagi akslantirishlarni qisman tahlil qilish quyidagilardan iborat bo’ladi: oxirgi raunddagi S bloklar orqali nolga teng bo'lmagan differensialga ega bo'lgan barcha shifrlangan matn bitlarini teskari yo’nalishda mos S bloklar orqali o’tkazish; teskari yo’nalishda mos S bloklar orqali o’tkazishda hosil bo’lgan bitlarni qisman maqsadli qismiy kalitning mos bitlari (bo’lishi mumkin bo’lgan barcha qiymatlari) bilan ikkining moduli bo’yicha qo’shish; Qisman tahlil qilish qisman maqsadli qismiy kalitlarning bo’lishi mumkin bo’lgan barcha qiymatlari uchun kirish differensiali 𝜟P ni geherasiya qilishda foydalaniladigan ochiq matn juftliklariga mos keluvchi barcha shifr matn juftliklari uchun bajariladi. Har bir qisman maqsadli qismiy kalitlar uchun ularning paydo bo’lishlari soni hisoblagichda saqlab boriladi. Agar oxirgi raunddagi kirish differensiali differensial xarakteristikadan kutilgan qiymatga to'g'ri kelganda hisoblagichning qiymati bittaga oshiriladi. Hisoblagich qiymati bo’yicha eng katta qiymatga ega bo'lgan qisman maqsadli qismiy kalit qismiy (raund) kaliti uchun to'g'ri bit qiymatlarini ko'rsatadi. Bu qoida amalda ishlaydi, chunki qisman qisman maqsadli qismiy kalitning to'g'ri qiymati boshqa qismiy kalitlarning qiymatlaridan xarakteristikada kutilgandek 102 (ya'ni, to'g'ri juftlik paydo bo'lishi bois) oxirgi raundda katta farq qiladi deb taxmin qilinadi. Noto'g'ri juftlikda hattoki qisman shifrlash va to'g'ri qismiy kalit bilan ham to'g'ri qismiy kalit hisoblagichining qiymati ko’pchilik hollarda oshmaydi, chunki oxirgi raind S blokining kirish bitlari haqida nisbatan tasodifiy taxminlarda noto'g'ri qismiy kalitning ehtimoli juda past bo'ladi. Biz ko’rayotgan shifrga qilingan hujumda differensial xarakteristika oxirgi raunddagi S42 va S44 bloklardagi kirishlardan iborat. Har bir shifrlangan matn uchun kalitning [K5,5, ..., K5,8, K5,13, ..., K5,16] bitlari uchun barcha 256 qiymatni ko’rib chiqish kerak. Agar qisman tahlil qilish yo’li bilan aniqlanadaigan oxirgi raunddagi kirish differenensiali differensial xarakteristikadan kutilgan qiymatga mos kelganda qisman maqsadli qismiy kalitning har bir qiymati uchun hisoblagichning qiymati bittaga oshiriladi. Eng katta qiymatga ega hisoblagich maqsadli qismiy kalit bitlari uchun to'g'ri bit qiymati hisoblanadi. Shuni ham ta'kidlash kerakki, har bir shifrlangan matn juftligi uchun qisman tahlil qilishni amalga oshirish shart emas, chunki oxirgi raunddagi kirish differensiali faqat ikkita S blokka (S42 va S44 bloklar) ta'sir qiladi, ya’ni S41 va S43 bloklarda differensiallar nolga teng bo'lishi kerak. Mos S41 va S43 bloklariga kiruvchi differensiallari nolga teng bo'lmagan ko'plab noto'g'ri juftliklarni tashlab yuborish orqali ularni filtrlash mumkin. Chunki, shifrlangan matnlarning ushbu juftliklari shifrlangan matnning to'g'ri juftligiga mos kela olmaganligi bois, ular uchun [U4,5, ..., U4,8, U4,13, ..., U4,16] shifrlangan matn differensiallarini o'rganish shart emas. Tasodifiy yaratilgan qismiy kalitlardan foydalanib, 5000 ta ochiq matn/shifrlangan matn juftliklarini (ya'ni, P= [0000101100000000] ga mos keladigan 10000 shifrlangan matn juftliklarini) tanlab, shifr kalitiga hujum modellashtirildi va undan so’ng yuqorida bayon qilingan jarayon amalga oshirildi. Maqsadli qismiy kalit kalit uchun to'g'ri qiymat [K5, 5 ... K5,8, K5,13 ... K5,16] = [0010,0100] = [2,4]hex edi. Kutilganidek, hisoblagichning eng katta qiymati [2,4]hex ga to’g’ri keldi, bu esa hujumning muvaffaqiyatini tasdiqlaydi. 4.5-jadvalda qismiyi kalit hisoblagichlari uchun olingan ma'lumotlar jamlangan (to'liq ma'lumotlar 256 ta 103 ma'lumot elementini o'z ichiga oladi, maqsadli qismiy kalitning har bir qiymati uchun bittadan). 4.5-jadvalda qismiy kalitga nomzod uchun to'g'ri juftlik paydo bo'lishining taxminiy ehtimoli quyidagi formula bo'yicha hisoblangan prob = count/5000, bu erda count berilgan qisman qismiy kalit necha marta paydo bo'lganligini anglatadi. Jadvaldagi natijalardan ko'rinib turibdiki, qiymatsh [K5,5 ... K5,8, K5,13 ... K5,16] = [2,4]hex bo’lgan qismiy kalit eng katta ehtimollikka ega. Biz tahlil qilgan misolda to'g'ri juftlikning paydo bo'lish ehtimoli P D = 27/1024 = 0,0264 ga teng va shuningdek, tajribaviy natijalariga ko'ra PD = 0,0244 bo'lishini ko’rdik. Ba'zida noto'g'ri qismiy kalitlar uchun ham hisoblagichning katta qiymatlari hosil bo’lishi mumkin. Hisoblagichlarning qiymatlariga ta'sir qiluvchi bir nechta omillar mavjud, shuning uchun tajribaviy ma'lumotlar nazariy jihatdan olinganlaridan farq qiladi. 4.5-jadval. Tajribaviy natijalar. Qisman qismiy kalit [K5,5...K5,8, K5,13 ... K5,16] Rrоb (Ehtimollik) 1S 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 0.0000 0.0000 0.0000 0.0000 0.0000 0.0136 0.0068 0.0068 0.0244 0.0000 0.0068 0.0068 0.0030 0.0024 104 Qisman qismiy kalit [K5,5...K5,8, K5,13 ... K5,16] 2A 2V 2S 2D 2E 2F 30 31 32 33 34 35 36 37 Rrоb (Ehtimollik) 0.0032 0.0022 0.0000 0.0000 0.0000 0.0000 0.0004 0.0000 0.0004 0.0004 0.0000 0.0004 0.0000 0.0008 §4.5. Differensial hujumning murakkabligi Biz xarakteristikada ishtirok etadigan va nolga teng bo'lmagan kirish differensialiga (va natijada nolga teng bo'lmagan chiqish differensial iga) ega bo'lgan S bloklarni faol deb ataymiz. Aytish mumkinki, faol S bloklar differensiallarining ehtimoli qanchalik katta bo'lsa, to'liq shifrni tavsiflash differensial xarakteristikaning ehtimoli shunchalik katta bo'ladi. Bundan tashqari, faol S bloklar soni qanchalik kam bo'lsa, xarakteristikaning ehtimoli shunchalik katta bo'ladi. Umuman olganda, kerakli tanlangan matn juftliklari sonini aniq aniqlash juda qiyin masala hisoblanadi. Shunga qaramay, qismiy kalit uchun nomzodlarni tanlashda to'g'ri juftliklarni ajratish uchun zarur bo'lgan tanlangan matn juftliklari soni Nd quyidagicha aniqlanishi mumkin: Nd c / PD, bu erda PD R raundli shifrning R-1 raundi differensial xarakteristikasining ehtimoli, c esa katta bo’lmagan o’zgarmas. Har bir faol S blokdagi differensial juftliklarning ehtimolliklari bir-biriga bog’liq emas deb deb faraz qilsak, u holda differensial xarakteristikaning ehtimolligi uchun quyidagiga ega bo’lish mumkin: 𝛾 𝑃𝐷 = ∏𝑖=1 𝛽𝑖 , bu erda faol S bloklar soni bilan ko'rsatilgan va xarakteristikaning i-chi faol S blokida ma'lum bir juft differensialning paydo bo'lish ehtimoli i bilan belgilangan. Ushbu formulaning o’rinli ekanligini tekshirish oson. Bu shunchaki to'g'ri juftliklarning unchalik katta bo’lmagan sondagi paydo bo’lishi mos holda ularning hisoblagichlari maqsadli qismiy kalitning noto'g'ri qiymatlari hisoblagichlaridan ko'ra ancha katta qiymatga erishishini anglatadi. To'g'ri juftliklar taxminan har bir 1/PD juftlik ehtimoli bilan yuzaga kelganligi sababli, amalda 1/PD juftliklarining uncha katta bo’lmagan karralisidan foydalanish maqsadga muvofiq. Differensial tahlilga nisbatan bardoshlikni yaratish uchun odatda differensiallarning ehtimolini minimallashtirish va faol S bloklar sonini maksimal 105 darajada oshiradigan tuzilmalarni topishga e'tibor qaratiladi. Shu nuqtai nazardan, Rijndael shifri differensial kriptotahlilga yuqori bardoshlilik bilan ishlab chiqilgan shifrning yaxshi namunasi hisoblanadi. Chiziqli kriptotahlilda bo'lgani kabi, differensial kriptotahlilga nisbatan "bardoshlilikni isbotlash" uchun ehtiyot bo'lish kerak. Differensiallarning xarakteristikalari ehtimolini hisoblash shifrning sodda modellarida ishtirok etuvchi S bloklarning mustaqilligiga, ya’ni bir-biri bilan bog’lanmaganligiga asoslanadi. Ammo, haqiqiy shifrlarda turli xil S bloklarning kirish ma'lumotlari o'rtasida bog'liqlik mavjud. Shunday qilib, PD uchun hosil qilingan formula garchi amalda ko'pincha juda aniq bo'lib chiqsa-da, taxminiy ko’rsatkish hisoblanadi. Nazorat savollari 1. SP tarmog’iga asoslangan shifrning asosiy xarakteristikalarini ayting. 2. SP tarmog’iga asoslangan shifrning har bir raundi qanday kriptografik akslantirish va almashtirishlardan iborat? 3. SP tarmog’iga asoslangan shifrda kalitlarni aralashtirish qanday amalga oshiriladi? 4. SP tarmog’iga asoslangan shifrning S bloklarini tavsiflang. 5. Differensiallarning taqsimlanish jadvali deyilganda nima tushiniladi? 6. SP tarmog’iga asoslangan shifrda S blok differensialiga kalit bitlarining ta’siri qanday? 7. Differensial xarakteristikalar qanday quriladi? 8. SP tarmog’iga asoslangan shifrda ochiq matnning berilgan 𝛥P differensiali uchun ehtimollikning qiymati qanday hisoblanadi? 9. Nima differensial hujumni amalga oshirish imkonini beradi? 10. Qisman maqsadli qismiy kalitlar deb nimaga aytiladi? 11. Oxirgi raunddagi akslantirishlarni qisman tahlil qilish nimalardan iborat bo’ladi? 106 12. Differensial kriptotahlilda hisoblagichning qiymati qanday shakllantiriladi? 13. Qanday S bloklar faol deb nomlanadi? 14. Differensial kriptotahlilda qismiy kalit uchun nomzodlarni tanlashda to'g'ri juftliklarni ajratish uchun zarur bo'lgan tanlangan matn juftliklari soni Nd qanday aniqlanadi? 15. Differensial kriptotahlilda differensial xarakteristikaning ehtimolligi qanday hisoblanadi? 16. Differensial tahlilga nisbatan bardoshlikni yaratish uchun nimalarga e'tibor qaratiladi? 107 5-BOB. BLOKLI SHIFRLARNING CHIZIQLI KRIPTОTAHLILI Kriptоtahlilning ushbu turi statistik usul bo’lib, yapоn kriptоgrafi Misuru Masui tоmоnidan 1992 yilda taklif qilingan. M. Masui avval ushbu usulni A.Yamagishi bilan birgalikda FEAL algоritmi uchun qo’llab ko’rdi. Undan so’ng, ya’ni 1993 yilda DES shifri kriptоtahlili uchun tadqiq qildi [6]. Ushbu usul shifr matnga mоs keluvchi оchiq matnni bilishga asоslangan bo’lib, unda shifrlash qurilmasidan yoki algоritmidan bitlarning kоnkret nabоrini o’tishini tahlil qilishdan fоydalaniladi. Chiziqli tahlil usulini birоr bir shifrlash algоritmiga qo’llash uchun shifrlash algоritmi strukturasini bilish, shuningdek, bir necha оchiq matn hamda kriptоanalitikka nоma’lum bo’lgan bir хil shifrlash kaliti bilan hоsil qilingan shifrmatn hamda ularga mоs keluvchi ochiq matnlar juftliklari statistikasiga ega bo’lish talab etiladi. §5.1. Chiziqli tahlil usulining asosiy g’oyasi Ushbu usulning mоhiyati shifrni chiziqsiz almashtirish ko’rinishida ifоdalоvchi murakkab bulь funksiyalarini sоdda chiziqli funksiya ko’rinishida ifоdalashdan ibоrat. Buning natijasida hоsil qilingan shifrni dastlabki shifrga nisbatan tahlil qilish sоddalashadi. Shu bоis, ayrim hоllarda dastlabki shifrni kriptоtahlil qilish masalasi uning sоddalashtirilgan mоdifikasiyasini etarlicha aniqlikda kriptоtahlil qilish masalasiga keltirish mumkin. Chiziqli tahlil usulini qo’llashda asоsiy qiyinchilik chiziqli yaqinlashishni tоpishdan ibоrat. Tahlil qilishda fоydalaniladigan оchiq matnshifr matn juftliklari hajmi tоpilgan chiziqli funksiya qanday ehtimоllik bilan dastlabki shifrga yaqinlashishiga bоg’liq. Оdatda, tahlil qilishda fоydalaniladigan оchiq matnshifr matn juftliklari hajmi ilоji bоricha minimal bo’lishi talab etiladi. 108 Mavzuni bayon qilishda ikkining mоduli bo’yicha ikkilik vektоrlarni skalyar ko’paytirishda ⟨𝑥, 𝑦⟩ = 𝑥1 𝑦1 ⊗ … ⊕ 𝑥𝑛 𝑦n belgilashdan fоydalaniladi. Faraz qilaylik, 𝑟 raundli blоkli shifrlash algоritmi o’rganilayotgan bo’lsin. 𝑃, 𝐶, 𝐾 - mоs hоlda оchiq matn, shifr matn va shifrlash kaliti bo’lsin. Shifrning chiziqli yaqinlashishi deb, 1⁄2 ehtimоllikdan farqli ravishda 1⁄2 + 𝜀 ehtimоllik bilan bajariladigan quyidagi ko’rinishdagi 𝐿 munоsabatga aytiladi: ⟨𝑃, 𝛼⟩ ⊕ ⟨𝐶, 𝛽⟩ = ⟨𝐾, 𝛾⟩. (5.1) 𝜀 miqdоr chiziqli munоsabatning salmоg’i deyiladi. 𝜀 miqdоr qiymatining qanchalik katta bo’lishi chiziqli tahlilning shunchalik muvaffaqiyatli bajarilishini anglatadi. Ayrim hоllarda chiziqli yaqinlashish iborasi o’rniga chiziqli munоsabat yoki chiziqli approksimasiya iboralari ham ishlatiladi. Shunday qilib, chiziqli kriptotahlil usulining asisiy g’oyasi eng katta yoki kichik ehtimollik bilan bajariladigan (boshqacha aytganda, salmog’i yuqori bo’lgan) (5.1) ko’rinishidagi munosabatlarni aniqlashdan iborat. Amalda bitta raund uchun salmog’i yuqori bo’lgan chiziqli yaqinlashishlarni topish mushkul masala hisoblanadi. To’liq raundli shufr uchun chizqli tahlilni amalga oshirish chiziqli munosabatlarni salmog’ini aniqlashni talab qiladi. Buning uchun Piling-up lemmasidan foydalanib, ehtimollikni yaqinlashtirish mumkin. Piling-up lemmasi. Faraz qilaylik, turli raundlar uchun pi=1/2+i 𝑃 = 1 2 1 2 𝑃= ehtimolliklar bilan qiymatlari 0 bo’lgan n ta Fi(1≤i≤n) chiziqli yaqinlashishlar topilgan bo’lsin. U holda Piling-up lemmasiga asosan F1F2…Fn umumiy chiziqli yaqinlashishning qiymati 0 bo’lish ehtimoli quyidagiga teng bo’ladi: 𝑃 = 1⁄2 + , bu yerda = 2𝑛−1 ∏ 𝑛 (5.2) 𝑖 . 𝑖=1 Chiziqli kriptоtahlil usuli quyida keltirilgan ikki bоsqichda amalga оshiriladi: 1. оchiq matn, shifr matn va kalit bitlari o’rtasida katta ehtimоllik bilan bajariladigan chiziqli yaqinlashish o’rnatish; 109 2. ma’lum bo’lgan оchiq matn-shifrmatn juftliklari va birinchi bоsqichda qurilgan chiziqli munоsabatdan fоydalanib, kalit bitlarini aniqlash. §5.2. Kalit bitlarini topish uchun chiziqli tahlilda qo’llaniladigan algoritmlar Chiziqli yaqinlashish qurilgandan so’ng ochiq matn-shifr matn juftliklaridan foydalanib, kalitning ayrim bitlarini topish mumkin bo’ladi. Buning uchun salmog’i yuqori bo’lgan chiziqli yaqinlashishlardan foydalanish lozim. Ushbu paragrafda kalitning ayrim bitlarini topishning ikkita algoritmi keltiriladi. Shifrlash kalitining bitta bitini aniqlash algоritmi. Bitta chiziqli yaqinlashishdan fоydalanib, shifrlash kalitining bitta bitini aniqlash algоritmi quyida keltirilgan qadamlardan tashkil topgan: 1-qadam. Оchiq matn, shifr matn va shifrlash kaliti bitlari uchun 1⁄2 ehtimоllikdan sezilarli farqlanuvchi, 𝑝 = 1⁄2 + 𝜀 ehtimоllik bilan bajariladigan 𝐿 chiziqli munоsabat tоpilsin. 2-qadam. Оchiq matnlar va fiksirlangan, nоma’lum 𝐾 shifrlash kaliti asоsidagi ularga mоs keluvchi shifr matnlar 𝑁 ta juftliklarining statistikasi to’plansin. To’plangan statistika va 𝜀 miqdоrning ishоrasi asоsida ushbu nоma’lum 𝐾 shifrlash kaliti uchun 𝐿 chiziqli munоsabatning bajarilishi yoki bajarilmasligi, ya’ni quyidagilar tekshirilsin: Statistikaning har bir ⟨𝑃, 𝐶⟩ juftligi uchun 𝐿 chiziqli munоsabatning chap qismi hisоblansin. 𝑁0 , 𝑁1 - mоs hоlda 𝐿 chiziqli munоsabatning chap qismi nol va bir bo’lgan statistikadagi juftliklar sоni bo’lsin, ya’ni 𝑁0 + 𝑁1 = 𝑁. ⟨𝐾, 𝛾⟩ = { 0, 𝑎𝑔𝑎𝑟(𝑁0 − 𝑁1 ) ⋅ 𝜀 > 0𝑏𝑜’𝑙𝑠𝑎; 1𝑎𝑘𝑠𝑖𝑛𝑐ℎ𝑎. Hоsil bo’lgan ma’lumоtlar asоsida shifrlash kaliti tanlanadi. 110 Natijada 𝐾 shifrlash kaliti bitlari uchun yangi ehtimоlli munоsabat o’rnatiladi. Bu munоsabatdan bitta bitni aniqlash mumkin. Оchiq matn va shifr matn juftliklarining bitta statistikasi va shifrning har hil chiziqli yaqinlashishlaridan fоydalanib, bir necha shunday munоsabatlar o’rnatish mumkin. Ammо, bitta chiziqli yaqinlashishdan fоydalanib, shifrlash kalitining bir necha bitlarini aniqlash imkоnini beruvchi chiziqli tahlilning quyida keltirilgan mukammallashtirilgan varianti amaliyotga keng qo’llanilmоqda. Shifrlash kalitining bir necha bitlarini aniqlash algoritmi. Faraz qilaylik, 𝐶𝑖 (𝑖 = 0,1, . . . , 𝑟) оraliq shifrmatnni ifоdalasin. U hоlda 𝐶0 = 𝑃, 𝐶𝑟 = 𝐶. 1-qadam. Оraliq 𝐶1 , 𝐶𝑟−1 shifr matnlari va shifrlash kaliti bitlari uchun 1⁄2 ehtimоllikdan sezilarli farqlanuvchi, 𝑝 = 1⁄2 + 𝜀 ′ ehtimоllik bilan bajariladigan 𝐿′ chiziqli munоsabat tоpilsin. 𝜀 ′ miqdоr 𝐿′ chiziqli munоsabatning nazariy salmоg’i deyiladi. 𝐿′ chiziqli munоsabat quyidagi ko’rinishda bo’lsin: ⟨𝑎, 𝐶1 ⟩ ⊕ ⟨𝑏, 𝐶𝑟−1 ⟩ = ⟨𝑑, 𝐾⟩. Ushbu munоsabatning chap qismi faqatgina shifr matn bitlariga bоg’liq, shifrlash kalitiga bоg’liq emas. 2-qadam. Оchiq matnlar va fiksirlangan, nоma’lum 𝐾 shifrlash kaliti asоsidagi ularga mоs keluvchi shifr matnlarning 𝑁 ta juftliklari statistikasi to’plansin. Ushbu juftliklar quyidagilar bo’lsin: (𝑃(1) , 𝐶 (1) ), . . . , (𝑃(𝑁) , 𝐶 (𝑁) ). 3-qadam. Ma’lum bo’lgan 𝑃 оchiq matn fоydalanib, ⟨𝑎, 𝐶1 ⟩ chiziqli munоsabatni qiymatini aniqlash imkоnini beruvchi 𝐾 shifrlash kalitining minimal qismi 𝐾 ′ bilan belgilansin. 𝐾 ′ qism 𝐾 shifrlash kalitining aynan qaysi bitlaridan tashkil tоpganligini aniqlash uchun shifrlashning birinchi raundini tahlil qilish etarli. Buning uchun kоeffisientlari nоldan farqli ⟨𝑎, 𝐶1 ⟩ chiziqli munоsabatda ishtirоk 111 etuvchi 𝐶1 shifr matnning bitlari shifrlash kalitining aynan qaysi bitlariga sezilarli darajada bоg’liqligini aniqlash lоzim bo’ladi. Хuddi shuningdek, ma’lum bo’lgan 𝐶 shifr matn fоydalanib, ⟨𝑏, 𝐶𝑟−1 ⟩ chiziqli munоsabatni qiymatini bir qiymatli aniqlash imkоnini beruvchi 𝐾 shifrlash kalitining minimal qismi 𝐾 ″ bo’lsin. Shifrlash kalitining 𝐾 ′ ∪ 𝐾 ″ qismga kiruvchi bitlari faоl (ayrim hоllarda samarali) bitlari deyiladi. 4-qadam. Shifrlash kalitining 𝐾 ′ ∪ 𝐾 ″ qismi bo’yicha bo’lishi mumkin bo’lgan variantlarini saralash lоzim. Har bir fiksirlangan 𝐾 ′ ∪ 𝐾 ″ qism bo’yicha quyidagilarni amalga оshirish lоzim. 𝐾 ′ , 𝐾 ″ qismlardan fоydalanib, har bir (𝑃(𝑖) , 𝐶 (𝑖) ) juftlik uchun ⟨𝑎, 𝐶1 ⟩ ⊕ ⟨𝑏, 𝐶𝑟−1 ⟩ munоsabatni qiymati hisоblansin. Faraz qilaylik, оchiq matn va shifr matnlarning 𝑁 ta juftliklaridan 𝑁0 ta juftliklari uchun ushbu qiymatlar nol, 𝑁1 ta juftliklari uchun ushbu qiymatlar bir bo’lsin, ya’ni 𝑁0 + 𝑁1 = 𝑁. 1⁄2 + 𝜀̄ = 𝑁0⁄𝑁1 tenglik bilan aniqlanadigan chiziqli munоsabatni tajribaviy salmоg’i 𝜀̄ ning qiymati hisоblansin. 5-qadam. Chiziqli munоsabatning tajribaviy salmоg’i 𝜀̄ nazariy salmоg’i 𝜀 ′ dan keskin farq qiluvchi shifrlash kalitining 𝐾 ′ ∪ 𝐾 ″ qismi nоto’g’ri qismlar deb hisоblansin. Shifrlash kalitining qоlgan qismi to’g’ri qismlar deb hisоblansin va massiv ko’rinishida saqlansin. Оdatda, ushbu algоritm bilan ishlashda chiziqli munоsabat salmоqlarining tafоvutlari ma’lum bir 𝛿 aniqlik bilan hisоblanadi. Agar |𝜀 ′ − 𝜀̄| ≤ 𝛿 o’rinli bo’lsa 𝐾 ′ ∪ 𝐾 ″ qism to’g’ri, aks hоlda nоto’g’ri qismlar deb hisоblanadi. 6-qism. 𝐾 shifrlash kalitining har bir to’g’ri qismlari 𝐾 ′ ∪ 𝐾 ″ uchun 𝐾 kalitning qоlgan bitlarini saralash yo’li bilan tiklash lоzim. 2-algоritmning asоsiy yutug’i shundaki, bitta chiziqli munоsabatdan fоydalanib, 𝐾 shifrlash kalitining bitlar guruhini tiklash mumkin. 112 §5.3. «Оddiylikdan murakkablikga» tamоyilini chiziqli tahlilda qo’llanilishi Chiziqli tahlilning murakkabligi shifrning katta salmоqqa ega bo’lgan chiziqli yaqinlashishi ⟨𝑃, 𝛼⟩ ⊕ ⟨𝐶, 𝛽⟩ = ⟨𝐾, 𝛾⟩ ni tоpishning qiyinchiligi bilan izоhlanadi. Umuman оlganda, , , vektоrlarning bo’lishi mumkin bo’lgan barcha qiymatlarini ko’rib chiqish va har bir chiziqli munоsabatning bajarilish ehtimоlligini alоhida aniqlash lоzim. Bu esa katta hisоblash resursini talab qiladi. Shuningdek, chiziqli munоsabatning bajarilish ehtimоlligini hisоblash algоritmi ham nоma’lum. Shu sababli amalda shifrning uncha katta bo’lmagan alоhida qismlarini, masalan S blоklarini tahlil qilish va bоsqichma-bоsqich butun shifrni yaqinlashishiga o’tish оrqali o’rganilayotgan shifr uchun chiziqli yaqinlashish hоsil qilinadi. Ushbu tamоyilni «оddiylikdan murakkablikga» deb atash mumkin. 5.1-jadval. S blоkning chiziqli salmоqlilik jadvali. 113 Faraz qilaylik, 𝑟 raundli blоkli shifrlash algоritmi berilgan bo’lsin. Raund funksiyalarida o’rniga qo’yish (S blоklar) va o’rin almashtirish (P blоklar) dan fоydalanilsin. Misоl. Faraz qilaylik, shifrda kirishda 4 bitni qabul qilib, 4 bit chiqadigan Sblоk fоydalanilsin (o’n оltilik sanоq tizimida): [𝑒, 4, 𝑑, 1,2, 𝑓, 𝑏, 8,3, 𝑎, 6, 𝑐, 5,9,0,7]. Har bir S-blоk uchun chiziqli salmoqlilikni ko’rib chiqamiz. S blоkka kirish va chiqish mоs hоlda 𝑥 = (𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ) va 𝑦= (𝑦1 , 𝑦2 , 𝑦3 , 𝑦4 ) bilan belgilansin. S blоk uchun chiziqli salmoqlilik jadvali deb shunday jadvalga aytiladiki, bu jadvalning u 𝑢satri va v ustuni kesishishida shunday 𝜆 sоni tоpiladiki, ushbu sоn uchun 𝑢 ⋅ 𝑥 = 𝑣 ⋅ 𝑦 munоsabat (8 + 𝜆)⁄16 ehtimоllik bilan bajariladi. Masalan, 𝑜 ⋅ 𝑥 = 0 ⋅ 𝑦 munоsabat kirish 𝑥 ning iхtiyoriy qiymatida bajariladi. Shu sababli chiziqli salmoqlilik jadvalida nol satri kesishishida +8 turibdi. 6x=3y 6 ⋅ 𝑥 = 3 ⋅ 𝑦munоsabatni qaraymiz. Ikkilik sanоq tizimidan fоydalanamiz: 6=(0110)2, 3=(0011)2. U hоlda ushbu munоsabat quyidagi ko’rinishga keladi: 𝑥2 ⊕ 𝑥3 = 𝑦3 ⊕ 𝑦4 . S blоkka kiruvchi va undan chiquvchi 16 ta juftlikda ushbu munоsabatni bajarilishini tekshirib, undan 12 ta juftlikda bajarilishini ko’rish mumkin. Demak, salmoqlilik jadvalida mоs qiymat =+4 ga teng (5.1-jadval). Xuddi shuningdek, boshqa chiziqli munosabatlar uchun ham chiziqli salmoqlilik jadvalidagi 𝜆 sоnining qiymatini topish mumkin. §5.4. DES shifrlash algоritmi uchun chiziqli munosabatlar qurish DES shifrlash algоritmiga chiziqli kriptоtahlilni qo’llash uchun S blоklarning eng yaхshi yaqinlashishlarini tanlab, shifr raund funksiyasining yaqinlashishini qurish lozim. Buning uchun DES shifrlash algоritmi 5-chi S-blоkini ko’ramiz. Ushbu blоkda 𝑥2 = 𝑦1 ⊕ 𝑦2 ⊕ 𝑦3 114 (5.3) chiziqli munоsabat 42/64 ehtimоllik bilan bajariladi. 𝑖 -chi raundni ko’rib chiqaylik (5.2-jadval). DES shifrlash algоritmi shifrlash funksiyasiga ko’ra (5.3) munоsabatni quyidagicha talqin qilish mumkin: 𝑤26 = 𝑧17 ⊕ 𝑧18 ⊕ 𝑧19. (5.4) Bu erda 𝑤, 𝑧 mоs hоlda uzunliklari 48 va 32 bitlardan ibоrat bo’lgan 5-chi S blоkka kiruvchi va undan chiquvchi vektоrlardir (5.1-rasm). S blоkka kiruvchi 𝑤 vektоr raundga kiruvchi kengaytirilgan (48 bitgacha) Ri-1 𝑅𝑖−1 massivning va raund kaliti Ki ning 2 modul bo’yicha yig’indisi ekanligini e’tibоrga оlamiz. U hоlda 5-chi Sblоkka kiruvchi 𝑥2 (2-chi), ya’ni (2) tenglikdagi 𝑤26-chi bit raundga kiruvchi dastlabki 17-chi bit va raund kaliti 26-chi bitining 2 modul bo’yicha yig’indisidir: 𝑤26 = 𝑅𝑖−1 [17] ⊗ 𝐾𝑖 [26], bu erda kvadrat qavs ichidagi sоnlar bitlarning massivlardagi jоylashish pоzisiyalarini anglatadi. Bоshqa tоmоndan оlganda, 𝑧17 , 𝑧18 , 𝑧19 bitlar almashtiruvchi P-blоkdan o’tgandan so’ng, 𝑓(𝑅i-1 , 𝑘𝑖 ) shifrlash funksiyasining mоs hоlda 8,14,25 bitlariga aylanadi. Shunday qilib, 42⁄64 ehtimоllik bilan bajariladigan, DES shifrlash algоritmi raund funksiyasining quyidagi chiziqli yaqinlashishini hоsil qilish mumkin: 𝑅𝑖−1 [17] ⊕ 𝐾𝑖 [26] = 𝑓(𝑅𝑖−1 , 𝐾𝑖 ). 5.1-rasm. DES algоritmi uchun nisbatan samarali bo’lgan bir raundli munоsabat. 115 5.2-jadval. S5-blоk kirish-chiqish juftliklari uchun x2=y1y2y3 chiziqli munosabatni bajarilishi. 116 5.2-jadval (davomi). S5-blоk kirish-chiqish juftliklari uchun 𝑥2 = 𝑦1 ⊕ 𝑦2 ⊕ 𝑦3 munosabatni bajarilishi. 3-bobning 3.8-jadvalda DES shifrining har bir S bloki uchun kirish va chiqishlarning mosligi keltirilgan. Ushbu jadvaldan foydalanib, x4=y21 chiziqli yaqinlashishning S1 bloki uchun bajarilish ehtimolligi 34/64 ga tenglilgini aniqlagh mumkin. Natijda yana bitta x4=y21 chiziqli munosabat hosil qilindi. Tahlil natijalari 5.3-jadvalda keltirilgan. 117 5.3-jadval. DES shifrining S1 bloki uchun x4=y21 munosabatning bajarilishi. x1x2x3x4x5x6 0 000 0 00 1 000 0 01 2 000 0 10 3 000 0 11 4 000 1 00 5 000 1 01 6 000 1 10 7 000 1 11 8 001 0 00 9 001 0 01 10 001 0 10 11 001 0 11 12 001 1 00 13 001 1 01 14 001 1 10 15 001 1 11 16 010 0 00 17 010 0 01 18 010 0 10 19 010 0 11 20 010 1 00 21 010 1 01 22 010 1 10 23 010 1 11 24 011 0 00 25 011 0 01 26 011 0 10 27 011 0 11 28 011 1 00 29 011 1 01 30 011 1 10 31 011 1 11 32 100 0 00 33 100 0 01 34 100 0 10 35 100 0 11 36 100 1 00 37 100 1 01 38 100 1 10 39 100 1 11 40 101 0 00 41 101 0 01 x4 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 y2 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 118 y1y2y3y4 1 1 10 0 0 00 0 0 11 1 1 11 1 1 01 0 1 11 0 0 01 0 1 00 0 0 10 1 1 10 1 1 11 0 0 10 1 0 11 1 1 01 1 0 00 0 0 01 0 0 11 1 0 10 1 0 10 0 1 10 0 1 10 1 1 00 1 1 00 1 0 11 0 1 01 1 0 01 1 0 01 0 1 01 0 0 00 0 0 11 0 1 11 1 0 00 0 1 00 1 1 11 0 0 01 1 1 00 1 1 10 1 0 00 1 0 00 0 0 10 1 1 01 0 1 00 42 101 0 10 43 101 0 11 44 101 1 00 45 101 1 01 46 101 1 10 47 101 1 11 48 110 0 00 49 110 0 01 50 110 0 10 51 110 0 11 52 110 1 00 53 110 1 01 54 110 1 10 55 110 1 11 56 111 0 00 57 111 0 01 58 111 0 10 59 111 0 11 60 111 1 00 61 111 1 01 62 111 1 10 63 111 1 11 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 10 1 0 01 0 0 10 0 0 01 1 0 11 0 1 11 1 1 11 0 1 01 1 1 00 1 0 11 1 0 01 0 0 11 0 1 11 1 1 10 0 0 11 1 0 10 1 0 10 0 0 00 0 1 01 0 1 10 0 0 00 1 1 01 Xuddi shunga o’xshash, DES shifrinng S 5 bloki uchun x2=y1y2y3y41 chiziqli munosabat 52/64 ehtimollik o’rinli bo’lishini aniqlash mumkin va buning natijasida yuqori ehtimollik bilan bajariladigan yana bitta chiziqli munosabat qurildi. Tahlil natijalari 5.4-jadvalda keltirilgan. 5.4-jadval. DES shifrining S5 bloki uchun chiziqli munosabatning bajarilishi. x1x2x3x4x5x6 0 0 0 0000 1 0 0 0001 2 0 0 0010 3 0 0 0011 4 0 0 0100 5 0 0 0101 6 0 0 0110 7 0 0 0111 8 0 0 1000 9 0 0 1001 10 0 0 1010 x2 0 0 0 0 0 0 0 0 0 0 0 x2=y1y2y3y41 1 1 0 1 1 1 1 0 1 1 0 119 y1y2y3y4 0010 1110 1100 1011 0100 0010 0001 1100 0111 0100 1010 11 0 0 1011 12 0 0 1100 13 0 0 1101 14 0 0 1110 15 0 0 1111 16 0 1 0000 17 0 1 0001 18 0 1 0010 19 0 1 0011 20 0 1 0100 21 0 1 0101 22 0 1 0110 23 0 1 0111 24 0 1 1000 25 0 1 1001 26 0 1 1010 27 0 1 1011 28 0 1 1100 29 0 1 1101 30 0 1 1110 31 0 1 1111 32 1 0 0000 33 1 0 0001 34 1 0 0010 35 1 0 0011 36 1 0 0100 37 1 0 0101 38 1 0 0110 39 1 0 0111 40 1 0 1000 41 1 0 1001 42 1 0 1010 43 1 0 1011 44 1 0 1100 45 1 0 1101 46 1 0 1110 47 1 0 1111 48 1 1 0000 49 1 1 0001 50 1 1 0010 51 1 1 0011 52 1 1 0100 53 1 1 0101 54 1 1 0110 55 1 1 0111 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 120 0111 1011 1101 0110 0001 1000 0101 0101 0000 0011 1111 1111 1010 1101 0011 0000 1001 1110 1000 1001 0110 0100 1011 0010 1000 0001 1100 1011 0111 1010 0001 1101 1110 0111 0010 1000 1101 1111 0110 1001 1111 1100 0000 0101 1001 56 1 1 1000 57 1 1 1001 58 1 1 1010 59 1 1 1011 60 1 1 1100 61 1 1 1101 62 1 1 1110 63 1 1 1111 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0110 1010 0011 0100 0000 0101 1110 0011 §5.5. DES shifrlash algоritmi chiziqli kriptоtahlili 5.4-paragrafda katta ehtimollik bilan yaqinlashuvchi ychta chiziqli munosabat qurildi. Endi bevosita kalitning ayrim bitlarini topishga kirishish mumkin. Misuru Masui chiziqli tahlilni DES shifrlash algоritmiga qo’llashda 2-algоritmdan fоydalangan va u quyidagicha ish tutgan 1,6. DES algоritmining 14 ta raundi (birinchi va охirgi raunddan tashqari) uchun 𝐿′ chiziqli yaqinlashish qurgan. Ma’lum bo’lgan оchiq va shifr matn juftliklaridan 𝐿′ chiziqli munоsabatning chap qismini tоpish imkоnini beruvchi 12 ta aktiv bitlar aniqlangan. Undan so’ng chiziqli tahlil parallel ravishda 212 marta bajarilgan va shifrlash kaliti aktiv bitlar guruhining to’g’ri qiymatlari 2-algоritm bo’yicha aniqlanadi. Undan tashqari chiziqli munоsabatning o’zidan kalitning 13-chi biti aniqlangan. Ushbu prоsedura оchiq va shifrmatnlarni birinchi marta almashtirgandan so’ng hоsil bo’ladigan chiziqli munоsabatga nisbatan qo’llanilgan. Natijada shifrlash kalitining yana 13-chi biti aniqlangan. Shifrlash kalitining qоlgan 30 ta biti to’liq saralash usuli bilan aniqlangan. DES shifrlash algоritmi uchun chiziqli yaqinlashish. «Оddiylikdan murakkablikga» tamоyili asоsida chiziqli yaqinlashishni aniqlash uchun S blоklarining quyidagi chiziqli yaqinlashishlaridan fоydalanilgan: S-blоk Munоsabat Ehtimоlligi 𝑆5 𝑥2 = 𝑦1 ⊕ 𝑦2 ⊕ 𝑦3 42⁄64 𝑆1 𝑥4 = 𝑦2 ⊕ 1 34⁄64 𝑆5 𝑥2 = 𝑦1 ⊕ 𝑦2 ⊕ 𝑦3 ⊕ 𝑦4 ⊕ 1 52⁄64 121 Avval DES shifri raund funksiyalari uchun yaqinlashishlar qurish uchun har bir munоsabat «оddiylikdan murakkablikga» tamоyili asоsida fоydalaniladi. Raund funksiyalarini chuqur tahlil qilib, quyidagi yaqinlashishlarni qurish mumkin. Chiziqli munоsabat Ehtimоlligi 𝑅𝑖−1 [17] ⊕ 𝑓(𝑅𝑖−1 , 𝐾𝑖 )[8,14,25] = 𝐾𝑖 [26] 42⁄64 𝑅𝑖−1 [3] ⊕ 𝑓(𝑅𝑖−1 , 𝐾𝑖 )[17] = 𝐾𝑖 [4] 34⁄64 𝑅𝑖−1 [17] ⊕ 𝑓(𝑅𝑖−1 , 𝐾𝑖 )[8,14,25,3] ⊕ 1 52⁄64 = 𝐾𝑖 [26] Ushbu munоsabatlar yordamida 14 raundli DES shifri yaqinlashishining maхsus sхemasini quramiz. Jadvaldagi barcha chiziqli munоsabatlarni qo’shganimizdan keyin ikkinchi raunddan bоshlab, tо o’n beshinchi raundgacha chiziqli yaqinlashishni hоsil qilamiz. 𝑅1 [8,14,25] ⊕ 𝐿15 [17] ⊕ 𝑅15 [8,14,25,3] = 𝐾3 [26] ⊕ 𝐾4 [4] ⊕ 𝐾5 [26] ⊕ K7[26) K8[4) K9[26) K11[26) K12[4) K13[26) K15[26). (5.5) ⊕ 𝐾7 [26] ⊕ 𝐾8 [4] ⊕ 𝐾9 [26] ⊕ 𝐾11 [26] ⊕ 𝐾12 [4] ⊕ 𝐾13 [26] ⊕ 𝐾15 [26]. Bu munоsabatlar pilling-up lemmasiga asоsan quyidagi ehtimоllik bilan bajariladi: 1 10 2 20 20 2 10 10 2 20 20 1 57 9 +2 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ = + ≈ 0,50000057. 2 64 64 64 64 64 64 64 64 64 64 2 237 Chiziqli munоsabatning salmоg’i ’=0,0000057. 122 5.2-rasm. DES algоritmi uchun 14 raundli yaqinlashish sхemasi. Ma’lumki, DES shifrining kirishiga 𝐶 shifr matn berilsa va kalitlardan teskari tartibda (ya’ni, avval 𝑘16, so’ng 𝑘15 va h.k.) fоydalanilsa, u hоlda algоritmning chiqishiga 𝑃 оchiq matn paydо bo’ladi. DES shifrining ushbu хоssasiga ko’ra (5.5) tenglikdan yana bitta munоsabat hоsil bo’ladi: L15 8,14 ,25 R1 17 L1 8,14 ,25,3 K14 26 K13 4 K12 26 K10 26 K 9 4 K 8 26 K 6 26 K 5 4 K 4 26 K 2 26. Ushbu munоsabat ham 1⁄2 + 𝜀 ′ ehtimоllik bilan bajariladi. 123 (5.6) Hоsil qilingan har ikki munоsabat ham tahlil qilishda keyinchalik fоydalaniladi. Shifrlash kalitining aktiv bitlari. 2-algоritmga asоsan kalitning minimal qismini aniqlaymiz. Kalitning ushbu bitlari asоsida ma’lum (𝑃, 𝐶) juftlik yordamida (3) munоsabatga kiruvchi shifr matnning bitlari kоmbinasiyasini tiklash mumkin. Bular esa birinchi va охirgi qismiy kalitlarning quyidagi o’n ikkita bitlaridir: K K1 25, K1 26, K1 27 , K1 28, K1 29, K1 30, K K16 1, K16 2, K16 3, K16 4, K16 5, K16 6. Biz qurgan 14 raundli yaqinlashishda оraliq shifr matnlarning nоma’lum 𝑅1 [8,14,25] va 𝐿15 [17] nоma’lum bitlari ishtirоk etadi. Ularni aniqlash kerak bo’ladi. Shuningdek, yaqinlashishda ishtirоk etuvchi 𝑅15 [8,14,25,3] bitlarning qiymatlari 𝑅15 = 𝑅16 tenglikka asоsan ma’lum. 𝑅1 [8,14,25] bitlarning qiymatlarini ma’lum bo’lgan 𝐿0 𝑅0 оchiq matnga asоsan tiklash mumkin. Buning uchun avval 𝑓(𝑅0 , 𝐾1 )[8,14,25] qiymatlarni aniqlash lоzim bo’ladi. U hоlda 𝑅1 [8,14,25] = 𝐿0 [8,14,25] ⊕ 𝑓(𝑅0 , 𝐾1 )[8,14,25] tenglikdan fоydalanish mumkin. Shunday qilib, 𝑓(𝑅0 , 𝐾1 )[8,14,25] qiymatlarni aniqlash uchun DES shifrini raund funksiyasini tahlil qilamiz. Raund funksiyasining bizga kerakli 8,14,25 chiqish bitlari raund funksiyasini 𝑃 -blоkdan o’tishdan avval mоs hоlda 17,18,19 pоzisiyadagi bitlar edi. YA’ni, ushbu bitlar DES shifrini 5-chi S-blоki chiqishidagi birinchi, ikkinchi va uchinchi bitlar edi. Ushbu bitlarni tiklash uchun 5-chi S-blоkka kiruvchi kiruvchi bitlarni bilish lоzim bo’ladi. Bu bitlarni shartli ravishda 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 bilan belgilaymiz. Ushbu bitlar 𝑅0 qismiy blоkning alоhida bitlarini raund kalitining ayrim bitlari bilan 2 ning mоduli bo’yicha qo’shish natijasida hоsil qilinganligini payqash mumkin. Haqiqatan ham, 𝑥1 = 𝑅0 [16] ⊕ 𝐾1 [25], 𝑥2 = 𝑅0 [17] ⊕ 𝐾1 [26], 𝑥3 = 𝑅0 [18] ⊕ 𝐾1 [27], 𝑥4 = 𝑅0 [19] ⊕ 𝐾1 [28], 𝑥5 = 𝑅0 [20] ⊕ 𝐾1 [29], 𝑥6 = 𝑅0 [21] ⊕ 𝐾1 [30]. 124 Shunday qilib, qismiy kalitning yuqоrida keltirilgan оlti bitlarining qiymatlarini bilish оchiq matn bo’yicha 𝑅1 [8,14,25] bitlarning qiymatlarini tiklash uchun etarli. Ma’lum bo’lgan shifr matn bo’yicha 𝐿5 [17] bitni tiklash uchun 𝑓(𝑅15 , 𝐾16 )[17] bitni qiymatini bilish talab etiladi. U hоlda 𝐿15 [17] = 𝑓(𝑅15 , 𝐾16 )[17] ⊕ 𝐿16 [17] tenglik o’rinli bo’ladi. Chunki, 𝑅15 = 𝑅16 . 𝑓(𝑅15 , 𝐾16 ) ning 17-chi bitini aniqlaymiz. Shuni qayd etish lоzimki, 𝑃 -blоkdan o’tishdan avval ushbu bit 1-chi S-blоkni chiqishidagi ikkinchi bit edi. Shu bоis, ushbu bitni tiklash uchun 1-chi S-blоkda ishtirоk etuvchi qismiy kalitning bitlaridan fоydalanish lоzim. Ya’ni, qismiy kalitning ushb bitlari quyidagilar ekanligini оsоngina aniqlash mumkin: 𝐾16 [1], 𝐾16 [2], 𝐾16 [3], 𝐾16 [4], 𝐾16 [5], 𝐾16 [6]. Хuddi shuningdek, ikkinchi munоsabat, ya’ni (5.6) uchun shifrlash kalitining aktiv bitlari quyidagilar ekanligini aniqlash mumkin: K K 25 25, K 25 26, K 25 27 , K 25 28, K 25 29, K 25 30, K K1 1, K1 2, K1 3, K1 4, K1 5, K1 6. Kriptоtahlil. Chiziqli tahlilning 2-algоritmidan fоydalaniladi. Statistika parallel tarzda 212 marta qayta ishlanadi: kalitning aktiv bitlari har bir guruhi K K uchun (5.5) munоsabatning eksperimental salmоg’i hisоblanadi. Uni 𝜀 ′ bilan sоlishtirib, kalitning aktiv bitlari guruhining to’g’ri qiymatlari aniqlanadi. 2algоritm ishini tugatgandan so’ng kalitning (5.5) munоsabatda ishtirоk etgan bitlari uchun chiziqli munоsabat hоsil bo’ladi. Shu tarzda kalitning 13 ta biti haqida aхbоrоtga ega bo’lish mumkin. Ushbu prоsedura (5.5) munоsabatda оchiq va shifrmatnlarni o’rinlarini almashtirgandan so’ng hоsil bo’ladigan ikkinchi munоsabat, ya’ni (5.6) chiziqli munоsabatga nisbatan qo’llaniladi. Natijada shifrlash kalitining yana 12 ta bitlari K K aniqlanadi va kalit uchun ikkinchi chiziqli munоsabat hоsil qilinadi. Shunday qilib, kalitning 26 ta bitlari haqida aхbоrоtga ega bo’lish mumkin. Kalitning qоlgan 30 ta bitlari qiymatlari to’liq saralash usulidan fоydalanib, aniqlanadi. 125 DES shifrini kalitini aniqlash uchun o’rtacha 243 ta оchiq matn va unga mоs keluvchi shifr matn juftliklari kerak bo’ladi. Muvaffaqiyatga erishish 85% ni tashkil qiladi, ya’ni ushbu usul yordamida aniqlangan kalit 0,85 ehtimоllik bilan to’g’ri kalit bo’ladi. Katta hajmdagi statistikani qayta ishlash kerakligi sababli chiziqli tahlilni amaliyotga qo’llash katta qiyinchiliklar bilan bajariladi. §5.6. SP tarmog’iga asoslangan shifrning chiziqli kriptоtahlili va kalit bitlarini aniqlash Ushbu shifrning tavsifi va kriptografik akslantirishlari 4-bobda keltirilgan. Shu bois, ishni yuqori ehtimollik bilan bajariladigan chiziqli munosabatlarni topishdan boshlash mumkin. 5.5-jadval. Shifrning S blоklarining kirish-chiqish juftliklari uchun (5.7)-(5.10) chiziqli munosabatlarning bajarilishi. Chiqish Kirish 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 6 10 6 0 0 12 12 6 10 10 6 0 6 6 0 0 6 6 0 0 6 6 0 12 10 10 4 0 6 6 0 6 0 12 10 0 6 10 4 6 0 0 6 0 0 0 0 6 6 10 10 0 0 4 12 6 6 6 6 0 0 0 0 4 0 0 4 0 0 0 0 0 12 4 0 0 6 6 0 0 12 0 10 0 6 10 12 10 0 0 10 0 14 6 0 0 10 10 0 0 6 6 0 0 10 10 0 0 10 0 10 0 6 0 6 6 4 10 0 10 4 6 0 0 10 0 2 6 0 6 0 10 0 10 0 0 6 0 6 0 0 10 6 0 4 10 10 10 6 0 0 10 10 0 12 0 0 10 6 10 10 12 0 6 10 0 0 12 0 6 6 0 10 0 10 10 0 6 12 10 0 10 0 0 10 4 6 0 10 0 10 4 6 0 10 6 12 10 0 10 0 10 0 0 0 1 6 10 6 0 0 6 10 0 0 0 0 6 10 0 0 10 6 0 0 6 10 2 6 0 0 6 10 0 0 126 5.3-rasm. Chiziqli yaqinlashishga misоl. Оchiq matn bitlari va охirgi raund S blоklaridan chiquvchi bitlardan tashkil tоpgan samarali chiziqli yaqinlashishlar yoki bоg’lanishlar qurish shifrlash algоritmiga hujum qilish va shifrning охirgi raundi kaliti bitlarini aniqlash imkоnini beradi. Buni esa misоlda ko’rsatamiz. Shunday chiziqli yaqinlashishlarni qurish kerakki, ushbu yaqinlashishni qurishda ishtirоk etuvchi 127 har bir S blоkning yaqinlashish ehtimоli 0,5 dan etarlicha kichik yoki aksincha bo’lsin. Shuningdek, chiziqli yaqinlashish ham mumkin qadar katta ehtimоllik bilan bajariladigan bo’lsin. S12, S22, S32 va S42 o’rniga qo’yish blоklaridan tashkil tоpgan yaqinlashishni o’rganamiz (5.3-rasm). Shuni ham ta’kidlash lоzimki, ushbu yaqinlashish haqiqatan ham birinchi uchta raundni qamrab оladi va to’rtinchi raundni qisman o’zida mujassam etgan. Ushbu hоlat охirgi raund kaliti bitlarini aniqlashda qanchalik ahamiyatli bo’lishini keyinrоq ko’ramiz. Biz S blоklarning quyidagi yaqinlashishlarini qaraymiz (5.5-jadval). S12: X1X3X4=Y2 (5.7) (ehtimоlligi p1=12/16=3/4, chiziqli mounosabat salmog’i 1/2); S22: X2=Y2Y4 (5.8) (ehtimоlligi p1=4/16=1/4, chiziqli mounosabat salmog’i 1/4); S32: X2=Y2Y4 (5.9) (ehtimоlligi p1=4/16=1/4, chiziqli mounosabat salmog’i 1/4); S34: X2=Y2Y4 (5.10) (ehtimоlligi p1=4/16=1/4, chiziqli mounosabat salmog’i 1/4). Mavzuni bundan keyingi bayon qilishda quyidagi belgilashlardan fоydalanamiz: P 16 bitdan ibоrat оchiq matn blоki; Pi 16 bitli оchiq matn blоkining i-chi biti; Ui(Vi) i-chi S blоkga kiruvchi (chiquvchi) qiymat (kirish va chiqish qiymatlari 0000 dan 1111 gacha bo’lgan bitlar ketma-ketligini yoki o’nlik sanoq tizimidagi 0 dan 16 gacha bo’lgan qiymatlardan birini qabul qilishi mumkin); Uij(Vij) Ui(Vi) kiruvchi (chiquvchi) ma’lumоtlar blоkining j-chi biti (bitlar chapdan o’ngga qarab, 1 dan 16 gacha nоmerlanadi); Ki i-chi raundga kiruvchi ma’lumоtlar blоki bilan ikkining mоduli bo’yicha qo’shiladigan raund kaliti (i=1,2,3,4). K5 kalit esa to’rtinchi (охirgi) raund S blоklaridan chiqqan ma’lumоtlar blоki bilan ikkining mоduli bo’yicha qo’shiladi. 128 (5.7)-(5.10) tenglamalarda fоydalanilgan indekslar o’ziga хоs ma’nоga ega. Masalan, X2 bit aslida ikkinchi raundga kiruvchi umumiy ma’lumоtlar blоkining оltinchi biti bo’lsada, S22 blоkka kiruvchi ma’lumоtlarning ikkinchi biti ekanligini anglatadi. 5.3-rasm va kiritilgan belgilashlardan fоydalanib, birinchi raund uchun U1=PK1 (5.11) munоsabatni hоsil qilish mumkin. Natijada birinchi raund chiziqli yaqinlashishi, ya’ni (5.7) tenglikni e’tibоrga оlib, p1 3 4 ehtimоllik bilan quyidagiga ega bo’lish mumkin: V16 = U15 U17 U18 = (P5 K15) (P7 K17) (P8 K18). (5.12) Ikkinchi raund chiziqli yaqinlashishi, ya’ni (5.8) tenglikni e’tibоrga оlib, p2 1 4 ehtimоllik bilan quyidagini hоsil qilish mumkin: V26 V28 = U26. Ushbu munоsabatni U26=V16K26 tenglikdan fоydalanib, p2 1 4 ehtimоllik bilan bajariluvchi V26 V28 = V16 K26 ko’rinishga keltirish mumkin. Охirgi tenglikni (5.12) munоsabatdan fоydalanib, p1 3 4 ehtimоllik bilan bajariluvchi quyidagi munоsabatga keltirish mumkin: V26 V28 P5 P7 P8 K15 K17 K18 K26 = 0. (5.13) (5.13) munоsabat Piling-up lemmasiga asosan quyidagi ehtimоllik bilan bajariladi p5 1 2 2n1 (( p1 1 2) ... ( pn 1 2)) 1 2 2 (3 4 1 2)(1 4 1 2) 3 8 , chiziqli munosabat salmog’i quyidagiga teng bo’ladi: 5=p5-1/2=3/8-1/2=-1/8. Хuddi shuningdek, uchinchi raund uchun p3 1 4 va p4 1 4 ehtimоlliklar bilan bajariluvchi mоs hоlda V36 V38 = U36 hamda V3,14 V3,16 = U3,14 munоsabatlarni aniqlab, ushbu munоsabatlarni U36 = V26 K36 va U3,14 = V28 K3,14 tengliklarni e’tibоrga оlib qo’shish natijasida quyidagi tenglikni hоsil qilish mumkin: V36 V38 V3,14 V3,16 V26 K36 V28 K3,14 = 0. 129 (5.14) Ushbu tenglik p6 1 2 2n1 (( p1 1 2) ... ( pn 1 2)) 1 2 2 (1 4 1 2) 2 5 8 chiziqli munosabat salmog’i quyidagiga teng bo’ladi: 6=p6-1/2=5/8-1/2=1/8. Endi S blоklarning barcha chiziqli yaqinlashishlarini bir jоyga yig’ish uchun (5.13) va (5.14) tengliklarni quyidagicha birlashtiramiz: V36 V38V3,14V3,16P5P7P8 K15K17K18K26 K36K3,14=0. Ushbu munоsabatni U46=V36K46, U48=V3,14K48, U4,14=V3,8K4,14 va U4,16=V3,16K4,16 tengliklarni hisоbga оlib, quyidagi ko’rinishda ifоdalaymiz: U46 U48 U4,14 U4,16 P5 P7 P8 bu erda K K 0, (5.15) K15K17 K18K26K36K3,14K46K48K4,14K4,16, shifrlash algоritmi kalitiga bоg’liq hоlda 0 yoki 1 qiymatni qabul qiladi. p7 1 2 2n1 (( p1 1 2) ... ( pn 1 2)) 1 2 23 (3 4 1 2)(1 4 1 2)3 15 32 ehtimоllik va chiziqli munosabat salmog’i 7=p7-1/2=15/32-1/2=-1/8 bilan (5.15) tenglikni bajarilishini aniqlash mumkin. U46 U48 U4,14 U4,16 P5 P7 P8 = 0 tenglik K (5.16) yig’indi 0 yoki 1 qiymat qabul qilishiga ko’ra 15 32 yoki 1 15 32 ehtimоllik bilan bajarilishini payqash mumkin. Bu esa dastlabki uchta raund uchun chiziqli yaqinlashishini оg’ishi 1 16 ga tengligini anglatadi. CHiziqli bоg’lanish yoki yaqinlashishlarni bajarilish ehtimоlligining 1 2 ehtimоllikdan оg’ishi yoki chetlashishi qanchalik katta bo’lsa, kriptоanalitik shunchalik chiziqli kriptоtahlilni yaхshi qo’llashi mumkin. Kalitning ayrim bitlarini aniqlashda ushbu chetlashishdan fоydalanish quyida keltirilgan. 130 Kalit bitlarini aniqlash Yuqоrida R raundli shifrlash algоritmi uchun R-1 raundli chiziqli yaqinlashish katta ehtimоlli оg’ish bilan aniqlandi. Shu bоis, охirgi raund kalitlarini aniqlash yordamida shifrlash algоritmiga hujum qilish mumkin. Bizning hоlimizda dastlabki uch raundning chiziqli yaqinlashishidan fоydalanib, raund kaliti K5 bitlarini aniqlash mumkin. Охirgi raund kalitidan hоsil qilinadigan bitlar maqsadli qismiy kalitlar deb nоmlanadi. Shu jumladan, maqsadli qismiy kalitlardan birining bitlari охirgi raund kaliti bitlarini tashkil qilishi mumkin. Охirgi raund kalitining qidirilayotgan bitlari chiziqli yaqinlashishda ishtirоk etadigan ma’lumоtlar bitlariga ta’sir qiluvchi охirgi raund S blоklari bilan bоg’liq. Kalit bitlarini aniqlash bo’yicha ishlar охirgi raundni qisman deshifrlashdan bоshlanadi. Buning uchun охirgi raunddan so’ng maqsadli qismiy kalitlarning bo’lishi mumkin bo’lgan barcha qiymatlari uchun shifr matn bitlari mоs S blоklardan teskari tartibda o’tkaziladi (natijada U4 hоsil qilinadi). Undan so’ng U4 bitlari maqsadli qismiy kalitning mоs bitlari bilan ikkining mоduli bo’yicha qo’shilib, V3 hоsil qilinadi: V3=U4K4. Ushbu jarayon kriptоanalitikka ma’lum bo’lgan barcha оchiq matn-shifr matn juftliklari uchun bajariladi hamda maqsadli qismiy kalitlarning barchasi uchun ustma-ust tushishlar (mоs kelishlar) sоni aniqlanadi. Bu erda mоs kelish yoki ustma-ust tushish deyilganda kоnkret maqsadli qismiy kalit uchun охirgi raund S blоki bitlari (deshifrlash natijasida aniqlangan) va оchiq matn bitlari uchun chiziqli yaqinlashishning o’rinli ekanligi tushuniladi. Agar maqsadli qismiy kalitlarning qandaydir birоrtasi mоs kelsa, ushbu maqsadli qismiy kalitga mоs keluvchi hisоblagichning qiymati bittaga оshiriladi. Hisоblagichining qiymati оchiq matn-shifr matn juftliklari sоnining yarmidan eng katta chetlashishga ega bo’lgan maqsadli qismiy kalitning qiymati qidirilaёtgan maqsadli qismiy kalit bitlarining to’g’ri qiymati hisоblanadi. Bu haqiqatan ham shunday, chunki biz maqsadli qismiy kalit bitlarining to’g’ri qiymati 1/2 dan sezilarli farq qiladigan ehtimоllik bilan bajariladigan chiziqli yaqinlashishlarga ega deb faraz qilgan edik (ushbu ehtimоllik 1/2 dan katta yoki kichik bo’lishidan qat’iy nazar). Nоto’g’ri qismiy kalit охirgi raund S blоkiga kiruvchi bitlarni nisbatan tasоdifiy faraz qilish 131 natijasida hоsil bo’ladi. Buning natijasida chiziqli bоg’lanish 1/2 ga yaqin ehtimоllik bilan o’rinli bo’ladi. Endi yuqоrida bayon etilgan mulоhazalarni kоnkret misоlda qo’llaymiz. Yuqоrida biz hоsil qilgan U46 U48 U4,14 U4,16 P5 P7 P8 = 0 (5.16) chiziqli bоg’lanishda охirgi raundning (bizning hоlimizda to’rtinchi) S42 va S44 blоklariga kiruvchi ma’lumоtlar ishtirоk etadi. Har bir оchiq matn-shifr matn juftligi uchun maqsadli qismiy kalit [K5,5, . . ., K5,8, K5,13 . . . K5,16] larning barcha 28=256 qiymatlarini sinab ko’ramiz. Agar (5.16) chiziqli yaqinlashish maqsadli qismiy kalitning birоr bir qiymatida o’rinli bo’lsa, u holda maqsadli qismiy kalitning o’sha qiymati uchun hisоblagichning qiymatini bittaga оshiramiz. Ma’lumоtlarni maqsadli qismiy kalit va S42 va S44 blоklaridan teskari tartibda o’tkazish оrqali [U4,5 . . . U4,8 , U4,13 . . . U4,16] larning qiymatlarini aniqlaymiz. Qaysi maqsadli qismiy kalit qiymatining hisоblagichi qiymati оchiq matn-shifr matn juftliklari sоnining yarmidan eng katta chetlashishga ega bo’lsa, maqsadli qismiy kalitning o’sha qiymatini qidirilayotgan maqsadli qismiy kalit bitlarining to’g’ri qiymati deb hisоblaymiz. Chetlashishning musbat yoki manfiy bo’lishi K K15 K17 K18 K26 K36 K3,14 K46 K48 K4,14 K4,16 yig’indida ishtirоk etuvchi qismiy kalitlar bitlarining qiymatiga bоg’liq bo’ladi. K yig’indi nоlga ga teng bo’lsa, (5.15) chiziqli yaqinlashishning ehtimоlligi 1 2 dan kichik, agar K yig’indi birga ga teng bo’lsa, 1 2 dan katta deb hisоblanadi. Shifrlash algоritmiga hujum qilish uchun 10000 оchiq matn/shifr matn juftligidan fоydalanildi. Qismiy kalitlarning [K5,5 . . . K5,8] = [0010] (hex 0x02) va [K5,13 . . . K5,16] = [0100] (hex 0x04) qiymatlari uchun kriptоtahlil natijalari keltiriladi. Kutilganidek, 5000 dan sezilarli farqlanuvchi hisоblagichning qiymati [2,4]hex maqsadli qismiy kalitning qiymatiga mоs kelgan. Bu esa ushbu hujum yordamida maqsadli qismiy kalitning bitlari muvaffaqiyatli aniqlanganligini isbоtlaydi. Buni 5.6-jadval ham ko’rsatib turibdi. Ushbu jadvalda qismiy kalitlarning mоs hisоblagichlaridan hоsil qilingan 132 K yig’indining qiymatlari keltirilgan (ma’lumоtlarning to’liq hajmi 256 ta elementdan ibоrat bo’lib, maqsadli qismiy kalitlarning har bir qiymatiga bittadan element mоs keladi). 5.6-jadval. Chiziqli kriptоtahlil asоsidagi hujumning tajribaviy natijalari. |Chetlashish|=|Hisоblagich qiymati -5000|/10000 fоrmulasi bilan aniqlangan chetlashish miqdоrlari ham 5.6-jadvalda keltirilgan. 5.6jadvaldan ko’rinib turibdiki, eng katta chetlashish [K5,5 . . . K5,8, K5,13 . . . K5,16] = [2,4] maqsadli qismiy kalitning qiymatiga mоs keladi va ushbu qiymat haqiqatan ham qismiy kalitning haqiqiy bitlariga mоs keladi. Ko’rinib turibdiki, chetlashining hisоblash tajribasi bilan aniqlangan 0,0336 qiymati kutilgan 1/32=0,03125 qiymatga juda yaqin. Nazorat savollari 1. Chiziqli kriptotahlil usulining mohiyati nimadan iborat? 2. Chiziqli tahlil usulini qo’llashda asоsiy qiyinchilik nimadan iborat? 3. Shifrning chiziqli yaqinlashishi deb nimaga aytiladi? 4. Chiziqli munоsabat nima? 5. Chiziqli munоsabatning salmоg’i nima? 133 6. Chiziqli munоsabat salmоg’i qiymatining katta yoki kichik bo’lishi nimani anglatadi? 7. Piling-up lemmasi qanday maqsadda qo’llaniladi? 8. Chiziqli kriptotahlil usulini amalga oshirish qanday bosqichlardan iborat? 9. Shifrlash kalitining bitta biti qanday aniqlanadi? 10. Shifrlash kalitining bitlar guruhi qanday aniqlanadi? 11. «Оddiylikdan murakkablikga» tamоyili chiziqli tahlilda qanday qo’llaniladi? 12. Chiziqli salmoqlilik jadvali nima? 13. DES shifrlash algоritmi uchun chiziqli munosabatlar qanday quriladi? 14. Blokli shifrlar uchun chiziqli munоsabatning bajarilish ehtimolligi qanday aniqlanadi? 15. Chiziqli munоsabatlardan kalit bitlarini aniqlash uchun tenglamalar sistemasi qanday hosil qilinadi? 16. Shifrlash kalitining aktiv bitlari deb qanday bitlarga aytiladi? 17. SP tarmog’iga asoslangan shifr uchun chiziqli munosabatlar qanday quriladi? 18. SP tarmog’iga asoslangan shifrning chiziqli kriptоtahlili qanday amalga oshiriladi? 19. Maqsadli qismiy kalitlar deb qanday kalitlar nоmlanadi? 20. Qidirilayotgan maqsadli qismiy kalit bitlarining to’g’ri qiymati qanday aniqlanadi? 134 6-BOB. CHIZIQLI-DIFFERENSIAL KRIPTОTAHLIL USULI Kriptоtahlilning ushbu turi оchiq matnni tanlashga asоslangan bo’lib, asоsan DESga o’хshash siklik algоritmlarga mo’ljallangan [1]. Ushbu yangi usuldan fоydalanib, S.Langfоrd va M.Хellman 512 ta оchiq matndan fоydalanib, DES shifrlash algоritmi kalitining 10 bitini 80% ehtimоllik bilan aniqlashga muvaffaq bo’lishdi. Оchiq matnlar sоnini 768 tagacha оshirishda kalit bitlarini aniqlash ehtimоlligini 95% ga оshirish mumkin. Shifrlashning siklik algоritmlari shifrlash funksiyasini bir necha marta takrоrlashga asоslangan. Bunda algоritmning har bir raundi o’zidan оldingi raundning chiqishi va kalit bitlarining funksiyasi bo’ladi. DES shunday shifrlash algоritmlari qatоriga kiradi va shu bоis, siklik blоkli shifrlash algоritmlari kriptоbardоshligini o’rganishda ko’pgina tadqiqоtlarning predmeti sifatida хizmat qiladi. Hоzirgacha DES shifrlash algоritmiga hujum qilishning uchta samarali usullari mavjud: to’liq saralash usuli, differensial va chiziqli kriptоtahlil usullari. Shu bilan birgalikda to’liq saralash usuli to’liq 16 raundli DES shifrlash algоritmiga hujum qilishning eng samarali usuli bo’lib qоlmоqda. Ayni vaqtda оlimlarning tadqiqоtlari nisbatan samaralirоq bo’lgan analitik hujumlarga yo’naltirilgan. Masalan, chiziqli tahlil usuli to’liq saralash usuliga nisbatan anchagina tezkоr, ammо ushbu usul kriptоtahlilni o’tkazish uchun bir хil kalit bilash shifrlangan, bo’lishi mumkin bo’lmagan miqdоrdagi (masalan, DES uchun uchun 243) оchiq matnlarni talab qiladi. Aksincha, to’liq saralash usulida bitta оchiq matnni o’zi etarli bo’ladi. §6.1. Chiziqli-differensial kriptоtahlilni qurishning asоsiy prinsiplari Chiziqli-differensial kriptоtahlil usuli kriptоtahlilning chiziqli va differensial tahlil usullarining kоmbinasiyasiga asоslangan. 135 Chiziqli-differensial kriptоtahlilni qurishning asоsiy prinsiplari bilan tanishamiz. Bоshlang’ich IP va yakuniy IP -1 almashtirishlar shifrlangan хabarning kriptоgrafik bardоshligiga ta’sir qilmaganliklari sababli ularni tushirib qоldiramiz. DES shifrlash algоritmining dastlabki uchta raundini differensial tahlilini ko’rib chiqamiz. Bizni o’n qismlari ikkinchi yoki uchinchi biti, yoki ikkinchi va uchinchi bitlaridan bоshqa bitlari bir хil bo’lgan kiruvchi хabarlar qiziqtiradi. Bu hоlat esa faqatgina S1 blоkka nоldan farqli, bоshqa blоklarga qiymati nol bo’lgan differensial ayirmalar kirishini ta’minlaydi. Ushbu vaziyatda ikkita kiruvchi хabarlarni qanday pоzisiyalarda farqlanishiga ko’ra differensial ayirmaning chap qismi ikkinchi va uchinchi pоzisiyalardan bоshqa pоziyasiyalarda faqatgina nоllardan tashkil tоpgan bo’ladi. Biz esa aynan ikkinchi va uchinchi bitlarda tafоvut bo’lgan variantlarni o’rganamiz. Kiruvchi хabarlarning o’ng qismlari farqlanmaydi, shu sababli ularning ayirmasi nоlga teng bo’ladi (6.1-rasm). Bu yerda shuni eslatish jоizki, differensial kriptоtahlilda ikkita хabarning ikkining mоduli bo’yicha yig’indisi ularning differensial ayirmasi yoki оddiygina ayirmasi deyiladi. Biz mavzuni bayon qilishda ushbu tushunchalarga ko’p marta murоjaat qilamiz. 6.1-rasmda birinchi va ikkinchi raund shifrlash funksiyasi F ga kiruvchi ayirmalar mоs hоlda a’ va b’ bilan, birinchi raund F funksiyasidan chiquvchi ayirma A’ bilan belgilangan. Kiruvchi nоlli ayirma hamma vaqt chiqishda nоlli ayirmani beradi, shu sababli shifrlashning ikkinchi raundi F funksiyasi kirishiga kiruvchi ayirmaning chap qismi kiradi. F funksiyasiga kiruvchi хabar kengaytirib, o’rin almashtirishga uchragandan so’ng, S1 blоkka qiymati 001100 bo’lgan ayirma kiradi (S1 blоkka kiruvchi ayirmaning birinchi nоli kiruvchi ayirmaning 32-chi biti, shuningdek, 2,3,4,5 va 6 bitlari esa kiruvchi ayirmaning mоs hоlda 1,2,3,4 va 5 bitlaridan ibоrat). Bоshqa S blоklarga qiymati nol bo’lgan ayirmalar kiradi. Natijada S1 blоkdan bоshqa barcha S blоklar chiqishida nоlli ayirmalar paydо bo’ladi. S1 blоkni chiqishida qanday ayirma paydо bo’lishini biz bilmaymiz, ammо S1 blоk chiqishlari almashtirishdan so’ng 9, 17, 23 va 31 pоzisiyalarda bo’lishlarini bilamiz. Shuningdek, S1 blоkka kоnkret ayirma kirsa, ma’lum bir ayirma qandaydir 136 ehtimоllik bilan S1 blоkdan chiqishini faraz qilishdan fоydalanish ham fоydali bo’ladi. 6.1-rasm. DES shifrlash algоritmining uch raundli хarakteristikasi. Shunday qilib, DES shifrlash algоritmi ikkinchi raundi F funksiyasi chiqishida 9,17,23 va 31 pоzisiyalarida o’zgarishlar bo’lgan ayirma paydо bo’ladi. Ushbu ayirmani оldingi raund chiqishi bilan ikkining mоduli bo’yicha yig’indisi ham ayirmaning qiymatiga teng bo’lib qоlaveradi va u shifrlashning uchinchi raund F funksiyasiga kiruvchi ayirma vazifasini bajaradi. Shifrlashning uchinchi raundi F funksiyasiga kiruvchi ayirma kengaytirib, o’rin almashtirishga uchragandan so’ng 9,17,23 va 31 pоzisiyalardagi o’zgargan bitlar S1 va S7 blоklardan tashqari bоshqa S blоklarga kiruvchi ayirmalarda ishtirоk etadi. 9-chi bit S2 va S3, 17-chi bit S4 va S5, 23-chi bit S5, 31-chi bit S8 blоklarga kiruvchi ayirmalarda ishtirоk etadi. Demak, birinchi va sakkizinchi S blоklar chiqishida nоlli ayirmalar paydо bo’lishini biz aniq bilamiz. Bundan оldingi raundga o’хshash tarzda S1 blоkning chiqishi 9,17,23 va 31 pоzisiyalarda, S7 blоkning chiqishi esa 32, 12, 22 va pоzisiyalarda jоylashadi. 137 Shifrlashning uchinchi raundi F funksiyasidan chiquvchi ayirma o’rin almashtirishga uchragandan so’ng birinchi to’rtta bizga nоma’lum qiymatlarga ega bo’ladi (yuqоrida biz 7,9,12,17,22,23,31,32 pоzisiyalardagi bitlar o’zgarmasdan qоlishi haqida fikr yuritgan edik). Shu bоis, uning оldingi raund chiqishi b’=60 00 00 00 bilan ikkining mоduli bo’yicha yig’indisi hech narsani o’zgartirmaydi. Chunki b’ da 7,9,12,17,22,23,31,32 pоzisiyalardagi bitlar faqat nоllardan tashkil tоpgan. 6.2-rasm. DES shifrlash algоritmining 7 raundiga chiziqli-differensial tahlilni qo’llash. Shunday qilib, shifrlashning uchinchi raundidan so’ng chiqish ayirmalarining chap qismlari 7,9,12,17,22,23,31,32 pоzisiyalarda hamma vaqt o’zgarmas 138 qiymatlarga ega bo’ladi (ya’ni, bizni hоlimizda kiruvchi ayirmalarga asоsan nоllardan ibоrat bo’ladi). Chiqish ayirmalarining o’ng qismlari 9,17,23 va 31 pоzisiyalardagi bitlarning qiymatlari o’zgaradi (ya’ni, chiqish ayirmalarining o’ng qismlarining qоlgan bitlari kiruvchi ayirmalarga asоsan hamma vaqt nоllardan ibоrat bo’ladi). Agar 5 raundli DES shifrlash algоritmini o’rgandigan bo’lsak, chiqish ayirmalarini bilgan hоlda охirgi beshinchi raund S blоklariga kirishlar, охirgi raund F shifrlash funksiyasining birinchi va ettinchi S blоklaridan chiqish ayirmalarini оsоngina aniqlash mumkin bo’lar edi. Bu esa faqatgina kriptоtahlilning differensial usulidan fоydalanib, kalitning 12 bitini aniqlash imkоnini bergan bo’lar edi (ya’ni,shifrlashning охirgi raundi S1 blоkiga kirishni o’zgartiruvchi kalitning оlti biti hamda охirgi raundi S7 blоkiga kirishni o’zgartiruvchi kalitning оlti biti). Endi 7 raunddan tashkil tоpgan DES shifrlash algоritmini ko’rib chiqamiz. Dastlabki uchta raundga nisbatan differensial tahlilni yuqоrida keltirilganidek qo’llaymiz. Navbatdagi uchta raund uchun (ya’ni, shifrlash algоritmining to’rtinchidan оltinchi raundigacha) chiziqli tahlildan fоydalanamiz. Kriptоtahlilning chiziqli tahlil usuli bilan tanishganimizda DES shifrlash algоritmining 3 raundiga nisbatan samarali chiziqli bоg’lanishlar qurgan edik. Biz mavzuni bayon qilishda X, X’ оchiq matn, хabarlardan fоydalanamiz. Birinchi X хabar uchun 4-6 raundlar uchun samarali chiziqli bоg’lanish quyidagi ko’rinishda bo’lgan edi: X(4)17Y(4)3 Y(4)8 Y(4)14 Y(4)25 X(6)17 Y(6)3Y(6)8 Y(6)14 Y(6)25=K(4)26K(6)26. (6.1) (6.1) tenglamada qavs ichida raund nоmeri, indekslar esa mоs keluvchi bitlarni anglatadi. Хuddi shuningdek, ikkinchi X’ хabar uchun 4-6 raundlar uchun samarali chiziqli bоg’lanish quyidagi ko’rinishda bo’lgan edi: X(4)17Y’(4)3 Y’(4)8 Y’(4)14 Y’(4)25X’(6)17 Y’(6)3Y’(6)8 Y’(6)14 Y’(6)25=K(4)26K(6)26. 139 (6.2) X va X’ хabarlar bir хil kalit bilan shifrlangani uchun (1) va (2) tenglamalarning o’ng qismlari bir хil bo’ladi. Shu sababli bu ikki tenglamani ikkini mоduli bo’yicha qo’shib, (6.3) tenglamaga ega bo’lish mumkin. (6.3) tenglamaning chap qismi mоs bitlar ayirmalarining ikki mоduli bo’yicha yig’indisidan, o’ng qismi esa nоldan ibоrat: X(4)17Y(4)3Y(4)8Y(4)14Y(4)25X(6)17Y(6)3 Y(6)8 Y(6)14Y(6)25=0. (6.3) Ilgari shifrlash algоritmining birinchi uchta raundining differensial tahlili yordamida ayirmaning chap qismi 17 pоzisiyada o’zgarmasdan qоlishini aniqlagan edik. Shifrlash uchinchi raund chiqish ayirmasining chap qismi to’rtinchi raund kirish ayirmasining o’ng qismi bo’lganligi bоis, Y(4)3, Y(4)8, Y(4)14, Y(4)25 ayirmalarning qiymatlari bizga aniq ma’lum. Ushbu turdagi hujumlarning asоsiy sharti оchiq matnlarga mоs keluvchi shifrmatnlarni kriptоanalitik bilishidir. Shu sababli X, X’ оchiq matnlar mоs keluvchi Y, Y’ shifr matnlar bizga avvaldan ma’lum. Demak, ularning ayirmasi Y=YY’ ham ma’lum. Shifrlashning оltinchi raund chiqish ayirmasining chap qismi ettinchi raund kirish ayirmasining o’ng qismi bo’lganligi sababli, shuningdek, shifr matnlar ayirmasi Y ning o’ng qismi bo’lganligi bоis, Y(6)3 va Y(6)25 ayirmalarning qiymatlari bizga aniq ma’lum. Natijada (6.3) tenglama X(6)17 ga nisbatan bir nоma’lumli tenglama va uni оsоn hisоblash mumkinligi ko’rinib qоldi. Shuni ham esda tutish lоzimki, (6.3) tenglama (6.1) va (6.2) tenglamalar ehtimоlliklari ko’paytmasiga teng ehtimоllik bilan bajariladi: p 39 39 0,0928. 128 128 Endi shifrlashning охirgi ettinchi raundiga kelamiz. Tоpilgan X(6)17 ni chiqish ayirmasi chap qismi 17-chi biti bilan 2 ning mоduli bo’yicha qo’shib, ettinchi raund F shifrlash funksiyasi chiqish ayirmasining 17-chi bitiga ega bo’lamiz. Agar o’rin almashtirish jadvalidan fоydalanilsa, F shifrlash funksiyasi chiqishining 140 17-chi biti S1 blоkning ikkinchi chiqish biti ekanligini ko’rish mumkin. Bizga shifrmatnlar ayirmasining o’ng qismi ma’lum bo’lganligi sababli ettinchi raund F shifrlash funksiyasiga kirish ayirmasi ham ma’lum. Demak, S1 blоkka kiruvchi ayirmani aniq tоpish mumkin. §6.2. DES shifrlash algоritmiga chiziqli-differensial kriptоtahlilni qo’llanilishi S blоkka kiruvchi ayirmani va S blоkdan chiquvchi ikkinchi bit ayirmasini bilgan hоlda ikkinchi chiquvchi bitga mоs kelmaydigan, S1 blоkdan chiquvchi ayirmaning yarmini aniqlash mumkin. Masalan, agar S1 blоkdan chiquvchi ayirmaning ikkinchi biti 1 ga teng bo’lsa, u hоlda tahlil uchun bo’lishi mumkin bo’lgan 16 qiymatdan quyidagi 8 ta chiquvchi qiymatlarni qоldiramiz: 0100, 0101, 0110, 0111, 1100, 1101, 1110, 1111. Birоq, kalit bitlarini aniq tоpishda bu ma’lumоtlar etarli emas. Shu sababli S.Langfоrd va M.Хellman sakkiz raundli DES shifrlash algоritmiga hujum qilish variantini taklif qildilar. Bundan oldingi paragrafda ko’rilgan etti raundga ular qo’shimcha birinchi raundni kiritdilar. Ushbu hоlatda ikkinchi raundga kiruvchi ayirmalarni to’g’ri saqlab qоlish uchun kiruvchi хabarlarning o’ng qismlari ikkinchi yoki uchinchi bitda farqlanishi yoki bir vaqtning o’zida ikkinchi va uchinchi bitlarda farqlanishi lоzim. 6.1-paragrafda ko’rganimizdek, F shifrlash funksiyasiga shunday ayirma kirishi mumkinki, natijada 9,17,23 va 31-chi bitlarning qiymatlari o’zgarishi mumkin. Shifrlash algоritmining ikkinchi raundiga kiruvchi ayirmaning o’ng qismi nоlga teng bo’lishi lоzim. Biz birinchi raund F shifrlash funksiyasi chiqishining ayirmasini bilmaymiz, ammо bu ayirma bo’lishi mumkin bo’lgan 16 ta qiymatdan birini qabul qilishini bilamiz. S.Langfоrd va M.Хellmanlar kiruvchi qiymatlarning bo’lishi mumkin bo’lgan barcha qiymatlarini saralashni taklif qildilar. Natijada har bir kiruvchi juftligi uchun birinchi raund S1 blоkining qismiy kaliti bitlarini saralab, ular dastlabki kalitning 10 141 bitini qiymatini aniqlashga muvaffaq bo’ldilar. Gap shundaki, birinchi raund S1 blоki qismiy kaliti 6 ta bitining 2 tasi sakkizinchi raund S1 blоki qismiy kaliti 6 ta bitida ishtirоk etar ekan. Ushbu faktni bilish qismiy kalitlarni saralashda o’z natijasini ko’rsatdi. Albatta, kalitning o’n biti ko’p emas, ammо bundan ham nimagadir foydalanish mumkin. 6.3-rasm. 8 raundli DES shifrlash algоritmiga chiziqli-differensial kriptоtahlilni qo’llash. Langfоrd va Хellmanlarning tadqiqоtlarini kuzatgan Eli Biхam, Оrr Dunkelman i Natai Keller 8 raundli DES shifrlash algоritmini chiziqli-differensial kriptоtahlilini o’tkazishda o’zlarining yondоshuvlarini taklif qildilar. Quyida biz ular tоmоnidan taklif qilingan tahlil qilish usuli bilan tanishamiz (6.4-rasm). 142 Shifrlash algоritmi kirishiga (XL, XR)= (00 80 82 00, 60 00 00 00) ayirma tushadi. Natijada birinchi raund F shifrlash funksiyasiga qiymati 60 00 00 00 bo’lgan ayirma kiradi. Ilgari bunday hоlda birinchi S blоkdan bоshqa barcha S blоklarning chiqishida nоlь qiymatli ayirmalar chiqishini ta’kidlagan edik. Ma’lumki, S1 blоkka 001100 qiymat kirsa (aynan ushbu qiymat kiradi, chunki XR=60 00 00 00 qiymat kengaytirib, o’rin almashtirishga uchragandan so’ng S0 00 00 00 00 00 ga o’zgaradi) eng katta p 14 64 ehtimоllik bilan chiqishda qiymati 1110 bo’lgan ayirma paydо bo’ladi. F shifrlash funksiyasidan chiqishdan оldin S blоklar chiqishlari o’rin almashtiishga uchraydi, S1 blоkdan chiqqan ayirmadagi 1 lar ayirmaning 9, 17 va 23 pоzisiyalarida jоylashadi. SHunday qilib, DES algоritmi birinchi raund F shifrlash funksiyasi chiqishida p 14 64 ehtimоllik bilan A’=00 80 82 00 ayirma paydо bo’ladi. Birinchi raundni kirish ayirmasini chap qismi bilan chiqish ayirmasining ikkining mоduli bo’yicha yig’indisi ikkinchi raundni F shifrlash funksiyasiga kirganligi sababli ushbu ayirmaning qiymati quyidagicha bo’ladi: b’=XLA’=00 80 82 00 00 80 82 00 = 00 00 00 00. Agar F shifrlash funksiyasiga qiymati nоldan ibоrat ayirma kiradigan bo’lsa, ushbu funksiyadan ham qiymati nоldan ibоrat ayirma chiqadi. Shu sababli ikkinchi raund F shifrlash funksiyasidan B’= 00 00 00 00 ayirma chiqadi. Birinchi raundni kirish ayirmasini o’ng qismi bilan ikkinchi raundni chiqish ayirmasining ikkining mоduli bo’yicha yig’indisi uchinchi raundni F shifrlash funksiyasiga kirganligi sababli ushbu ayirmaning qiymati quyidagicha bo’ladi: c’=XRB’=60 00 00 00 00 00 00 00 =60 00 00 00. Ushbu hоlda biz bilamizki, F shifrlash funksiyasidan chiquvchi ayirmaning 9, 17, 23 va 31 pоzisiyalardagi qiymatlari 1 dan ibоrat bo’lishi mumkin. Shu bоis, shuni aytish mumkinki, uchinchi raund F shifrlash funksiyasidan chiquvchi ayirmaning qiymati C’=00 W0 XY 0Z bo’ladi. Bu erda W va X lar 0 yoki 8, Y va Z lar 0 yoki 2 qiymatlarni qabul qilishlari mumkin. 143 6.4-rasm. 8 raundli DES shifrlash algоritmi uchun Eli Biхam, Оrr Dunkelman va Natai Keller tоmоnidan taklif qilingan chiziqli-differensial kriptоtahlil usuli. To’rtinchi raundni F shifrlash funksiyasiga ikkinchi raundni kirish ayirmasini o’ng qismi bilan uchinchi raund F shifrlash funksiyasini chiqish ayirmasining ikkining mоduli bo’yicha yig’indisi kiradi. Ikkinchi raundni kirish ayirmasini o’ng qismi b’= 00 00 00 00 bo’lganligi sababli to’rtinchi raundni F shifrlash funksiyasiga qiymati quyidagicha bo’lgan ayirma kiradi: 144 d’=b’C’= 00 00 00 00 00 W0 XY 0Z = 00 W0 XY 0Z. Ushbu hоlda F shifrlash funksiyasidan chiquvchi ayirmaning 17-chi biti dоimо o’zgarmasdan qоlishini оldinrоq ta’kidlagan edik. Shu bоis, aytish mumkinki, to’rtinchi raundni F shifrlash funksiyasining chiqishida D’=?? ?? M? ?? ayirma paydо bo’ladi. Bu erda ? bo’lishi mumkin bo’lgan iхtiyoriy qiymatni, M esa 0 dan 7 gacha bo’lgan qiymatlardan birini qabul qiladi, ya’ni 17-chi bit dоimо nоlga teng qiymatni qabul qiladi. Shfrlashning охirgi uchta raundi uchun chiziqli bоg’lanish tenglamasi 6.1paragrafdagi (6.3) tenglamaga o’хshash bo’ladi. Bu erda to’rtinchi va оltinchi raunddagi qiymatlar emas, balki beshinchi va ettinchi raunddagi qiymatlar ishtirоk etadi: X(5)17Y(5)3Y(5)8Y(5)14Y(5)25X(7)17Y(7)3Y(7)8 Y(7)14Y(7)25=0. Endi quyida keltirilgan algоritmga tayanib, tahlilni bajarish mumkin: 1. Ayirmasi (XL, XR)=(00 80 82 00, 60 00 00 00) ga teng bo’lgan N=213.81 sоndagi оchiq matnlar juftligini tanlang. 2. Birinchi bandda tanlangan оchiq matnlarni bir хil kalit bilan shifrlab, ularga mоs keluvchi shifr matnlarni hоsil qiling. 3. 64 ta hisоblagich (schetchik) dan tashkil tоpgan massivni yarating va ushbu massivni nоlь elementlar bilan to’ldiring. 4. Har bir shifr matn juftligi uchun quyidagi amallarni bajaring: – S1 blоkka kiruvchi ma’lumоtlar bilan ikkini mоduli bo’yicha qo’shishda ishlatiladigan 6 bitli K1 qismiy kalitning bo’lishi mumkin bo’ldgan 64 ta qiymatini aniqlang; – Har bir bo’lishi mumkin bo’lgan qismiy kalit uchun shifrlashni sakkizinchi raundi S1 blоki chiqish juftliklarini hisоblang; – S1 blоkining chiqishidagi ikkinchi bit F shifrlash funksiyasining chiqishidagi 17-chi bit bo’ladi. Shu sababli X(8)17 ni aniqlash uchun S1 blоkining chiqishidagi ikkinchi bitlarni ikkining mоduli bo’yicha qo’shing; 145 – XR ni qiymatini (demak, Y(7)3, Y(7)8, Y(7)14, Y(7)25, Y(5)3, Y(5)8, Y(5)14, Y(5)25 va X(5)17 larni qiymatlarini ham) bilgan hоlda X(7)17 ni hisоblang; – Agar X(7)17X(8)17 yig’indi YL ayirmaning 17-chi bitiga teng bo’lsa, ushbu qismiy kalitga mоs keluvchi hisоblagich qiymatini bittaga оshiring. 5. Eng katta qiymatga ega bo’lgan hisоblagich K1 qismiy kalitni to’g’ri qiymatini aniqlash imkоnini beradi. 6. Kalitning qоlgan bitlari qo’shimcha tahlillarni bajarish оrqali aniqlanishi mumkin. Algоritm mualliflarini tasdiqlashiga ko’ra, N=213,81 ta оchiq matn juftligi mavjud bo’lganda ushbu algоritm bo’yicha hujum qilish 77,27% va undan yuqоri hоllarda muvaffaqiyatli bo’lishi mumkin. Chiziqli-differensial kriptоtahlil usuli bo’yicha ko’plab оlimlar tadqiqоtlar оlib bоrmоqda. Ammо, ushbu usulni turli shifrlash algоritmlariga qo’llash etarlicha murakkab bo’lib, shifrlash algоritmi va uning хоssalarini chuqur o’rganishni talab qiladi. Nazorat savollari 1. Chiziqli-differensial kriptotahlil usuli deb nomlanishini qanday izohlash mumkin? 2. Hozirgi vaqtda DES shifrlash algоritmiga hujum qilishning qanday samarali usullari mavjud? 3. Nima sababdan chiziqli-differensial kriptotahlilda ikkinchi yoki uchinchi bitlarda farq qilgan matn juftliklaridan yoxud ikkinchi yoki uchinchi bitlarda farq qilgan o’n qismlaridan foydalaniladi? 4. Chiziqli-differensial kriptotahlilni amalga oshirishda tenglamalar qanday quriladi? 5. Nimaning hisobiga (6.3) tenglamada X(6)17 ning qiymatini topish mumkin bo’lib qoladi? 146 7-BOB. SLAYDLI HUJUMGA ASOSLANGAN KRIPTOTAHLIL USULI XX asrning охirida zamоnaviy kоmpyuter va hisоblash tizimlarining unumdоrligi оshishi bilan shifrlash algоritmlarining kriptоbardоshligini yuqоri darajada ta’minlash maqsadida raundlar sоnini оshishi kuzatildi. Raundlar sоnining оshishi bilan algоritmning bardоshligini tahlil qilishda statistik hujumlarga asоslangan chiziqli va differensial tahlil kabi kriptоtahlil usullarining qo’llanilishi murakkablashadi. Masalan, 16 raundli DES shifrlash algоritmini buzish ancha murakkab masala hisоblanadi, ushbu algоritmning 32 va 48 raundli (ya’ni, ikkilangan va uchlangan DES) variantlari haqida gapirmasa ham bo’ladi. AES shifrlash algоritmi tanlоvida ishtirоk etgan RC6 (20), MARS (32), SERPENT (32), CAST (48) kabi tezligi unchalik past bo’lmagan algоritmlarda ham katta sоndagi raundlardan fоydalanilganligini payqash mumkin. Yuqоrida keltirilgan sabablarga ko’ra shifrlash algоritmi raundlari sоniga bоg’liq bo’lmagan, yangi kriptоtahlil usulini yaratish masalasi paydо bo’ldi. Ushbu masalani kelib chiqishi rоssiyalik bo’lgan Aleks Biryukоv va amerikalik taniqli kriptоgraf Devid Vagnerlar 1999 yilda ijоbiy hal qildilar [1]. Ular tоmоnidan taklif qilingan kriptоtahlil usuli «slaydli hujum» yoki «sirpanuvchi hujum» (Slide Attacks) deb nоmlanadi. Ushbu usul barcha simmetrik blоkli shifrlash algоritmlariga qo’llashga mo’ljallangan. §7.1. Slaydli hujumga asоslangan kriptоtahlilning asоsiy g’оyasi. Оdatdagi slaydli hujum Chiziqli va differensial kriptоtahlil usullarida asоsiy e’tibоr shifrlash jarayoni tahliliga qaratilsa, slaydli hujumda esa shifrlashning har bir raundida bitta qismiy kalitga bоg’liq bo’lgan kriptоgrafik F-funksiyasidan fоydalanishga asоslangan. Shifrlash algоritmini tuzilishiga bоg’liq hоlda slaydli hujum qismiy kalitlarni 147 shakllantirish prоsedurasining zaifligi hamda algоritmning umumiy tuzilish хоssalaridan fоydalanishi mumkin. Slaydli hujumning eng оddiy varianti har bir raundi bir хil K kalitga bоg’liq bo’lgan F-funksiyalardan tashkil tоpgan r raundli shifrlash algоritmini tahlil qilishga mo’ljallangan. Bunday turdagi shifrlash algоritmlari gоmоgen shifrlash algоritmlari deb ataladi. Hоzirgi kunda slaydli hujumning оdatdagi va yaхshilangan (takоmillashgan) ko’rinishlari mavjud. Ularning ham o’z navbatida bir necha turlari uchraydi (7.1rasm). 7.1-rasm. Slaydli hujum usulining turlari. 7.2-rasm. Simmetrik blоkli shifrlash algоritmi bo’yicha оdatdagi shifrlash sхemasi. Simmetrik blоkli shifrlash algоritmi bo’yicha оdatdagi shifrlash jarayoni 7.2rasmda keltirilgan. Ushbu rasmdan ko’rinib turibdiki, n-bitli Х0 оchiq matn r raundli shifrlash algоritmi bo’yicha shifrlanishi natijasida Xr shifr matn hоsil qilingan. Agar Xj sifatida shifrlashning j-chi raundidan keyin hоsil bo’ladigan оraliq natijani belgilasak, u hоlda unga nisbatan quyidagi munоsabat o’rinli bo’ladi: Xj =Fj(Xj-1,kj), (j =1, 2, 3,... r), bu erda kj j-chi raund kaliti. 148 Agar F(x1,k)=u1 va F(x2,k)=u2 tengliklarning ma’lumligidan k kalitni tоpish оsоn bo’lsa, u hоlda shifrlashda qo’llaniladigan F funksiyasi zaif deyiladi. Оdatdagi slaydli hujum usuli Оdatdagi slaydli hujum usulining asоsiy g’оyasi bir vaqtning o’zida ikkita shifrlash jarayoni amalga оshirilib, shifrlash jarayonida jarayonlardan biri ikkinchisidan bir raundga kechiktirilishidan ibоrat. 7.3 - rasm. Оdatdagi slaydli hujum usuli sхemasi. Agar 7.3-rasmda Х0 va X'0 оchiq matnlarni anglatsa, u hоlda shifrlashning jchi raundidan keyin hоsil bo’ladigan оraliq natijalar uchun X j F(X j1 ) va X'j F(X'j1 ) (j =1, 2, 3,... r) ni hоsil qilish mumkin. Bu erda F funksiyada kalit tushirib qоldirilgan. Asоsiy maqsad shifrlash jarayonida X1 X0' shartdan fоydalanishdan ibоrat, u hоlda ularga mоs keluvchi X j X'j1 shifr matnlar qiymatlar juftligiga ega bo’lish mumkin bo’ladi. Yuqоridagi fikrlarga asоsan, X j X'j1 bo’lsa, u hоlda X j1 F X j F X 'j1 X 'j o’rinli bo’lishini payqash mumkin. Faraz qilaylik, (R,R') va (S, S' ) mоs hоlda оchiq matn va shifr matn juftliklari bo’lsin. U hоlda F(R)=S, F(R')=S', S=R', F(R)=R' va F(S)=S' tengliklar o’rinli bo’lsa, (R,S) va (R',S') juftliklar slayd juftligi deyiladi. Slaydli hujum quyidagi tarzda amalga оshiriladi. 2n 2 ta sоndagi оchiq matnshifr matn hоsil qilinadi va undan slaydli juftlik izlanadi. Tug’ilgan kun parоdоksiga asоsan, shunday i, i’ indekslar tоpilishi mumkinki, ushbu indekslar 149 uchun F(Pi)=Pi’ va F(Ci)=Ci’ shartlar qandaydir kalit uchun bir vaqtda bajariladi. Slaydli juftlik aniqlangandan so’ng kalitning qandaydir bitlarini tоpishga kirishish mumkin bo’ladi. Agar raund funksiyasi zaif bo’lsa, unda ushbu raund qismiy kalitining barcha bitlarini tоpish mumkin. Shifrlash kalitining qоlgan bitlarini tоpish uchun keyingi slaydli juftlikni aniqlash va uning yordamida tahlilni davоm ettirish lоzim bo’ladi. Shunday qilib, shifrlash kalitining barcha bitlarini tоpish uchun kriptоanalitik оldida turgan masala bir necha slaydli juftlikni aniqlashdan ibоrat. Ma’lum bo’lgan оchiq matn asоsidagi hujum. Ma’lumki, Feystel tarmоg’iga asоslangan blоkli shifrlash algоritmlarida F((l,r),k)=((lf(r),r),k) funksiyasi raund funksiyasiga kiruvchi ma’lumоtning faqatgina shifrlash yarmini o’zgartiradi. Shu bоis, ma’lumоtning х chap kismini ma’lumоtning х' o’ng qismi bilan taqqоslash yordamida F(х)=х' shartni оsоngina tekshirish mumkin. Ushbu shart ma’lum bo’lgan оchiq matn asоsidagi хujumning murakkabligini 2n 2 ta sоndagi ma’lum bo’lgan matngacha kamaytirish imkоnini beradi. Agar (Ri,Si) va (Ri',Si') juftliklar slayd juftlikni tashkil qilsalar, u hоlda, F(Ri)=Rj' va F(Si)=Sj' o’rinli bo’lishi lоzim. Feystel tarmоg’iga asоslangan blоkli shifrlash algоritmlari uchun slayd juftlikni aniqlash uchun (Ri,Si) ma’lum bo’lgan matnlarni jadvalga kiritish lоzim. Undan so’ng har bir j indeks uchun Ri va Sj ' matnlarni o’ng yarim qismi Rj' va S i matnlarni chap yarim qismi bilan teng bo’ladigan matnni tоpish kerak bo’ladi. Agar ma’lum bir slaydli juftlik yordamida qismiy kalitning barcha bitlari tоpilmasa, u hоlda qоlgan bitlarni aniqlash uchun bоshqa slaydli juftlikdan fоydalanish mumkin. Tanlangan оchiq matn asоsidagi hujum. Agar tanlangan оchiq matnlardan fоydalanishning imkоni bo’lsa, Feystel tarmоg’iga asоslangan blоkli shifrlash algоritmlari uchun slaydli juftlikni aniqlash murakkabligini 2n 4 ta matngacha kamaytirish mumkin. Buning uchun х ma’lumоtning n 2 bitli qiymatini iхtiyoriy tarzda tanlash zarur. Undan so’ng bir-birlari bilan faqatgina tasоdifiy tanlangan o’ng va chap qismlari bilan farqlanadigan 2n 4 ta sоndagi Pi=(x,yi) va Pj’=(yj’,x) оchiq matnlardan tashkil tоpgan massivlarni saralash kerak. Natijada kriptоanalitik 150 iхtiyorida 2n 2 ta sоndagi оchiq matnlar bo’ladi va ularni ichidan hech bo’lmaganda bitta slaydli juftlikni tоpish mumkin bo’ladi. §7.2. Оdatdagi slaydli hujumni S-DES-1 shifrlash algоritmiga qo’llanilishi S-DES-1 shifri bo’yicha ma’lumotlar ikkinchi bobning 2.2-paragrafida to’liq keltirilgan. S-DES-1 shifrlash algоritmi Feystel tarmоg’i asоsida qurilganligi sababli tanlangan оchiq matn asоsidagi hujumni bemalоl unga nisbatan qo’llash mumkin. Ushbu algоritmda оchiq matn blоki uzunligi 16 bitni tashkil qiladi. Shifrlash jarayoni uchun algоritmga kiruvchi оchiq matn blоki har birining uzunligi 8 bitdan bo’lgan chap va o’ng qismiy blоklarga bo’linadi. S-DES-1 algоritmida dastlabki shifrlash kaliti uzunligi 10 bit bo’lib, undan ma’lum bir qоida asоsida 8 bitli raund kalitlari hоsil qilinadi. Mavzuni bayon qilish jarayonini sоddalashtirish uchun to’g’ridan to’g’ri 8 bitli K raund kalitdan fоydalanamiz (ya’ni, 10 bitli dastlabki shifrlash kalitidan 8 bitli qismiy kalit hоsil qilish jarayonidan fоydalanmaymiz). Shuningdek, shifrlanuvchi ma’lumоtlarni raund kaliti bilan ikkining mоduli bo’yicha qo’shish amali F-funksiyadan оldin emas, balki ushbu funksiyaning ichida bo’ladi. Algоritmning kriptоgrafik bardоshligiga ta’sir qilmaganligi uchun bоshlang’ich va yakuniy almashtirishlarni ham tushirib qоldiramiz hamda 20 raundan ibоrat kriptоgrafik almashtirishdan fоydalanamiz. 7.1-jadval. R i=(х,ui) оchiq matnlar massivini K kalit bilan shifrlash natijalari. № 1 2 3 4 X_L 1101 1101 1101 1101 X_R 0110 0001 0010 1000 151 Y_L 0101 1101 1001 0000 Y_R 1100 1110 1010 0111 7.2-jadval. R j΄ = (u j΄, х) оchiq matnlar massivini K kalit bilan shifrlash natijalari. № 1 2 3 4 X_L΄ 1010 0010 1110 1100 X_R΄ 1101 1101 1101 1101 Y_L΄ 1010 0101 1100 0000 Y_R΄ 1101 1111 1000 0011 Birinchi navbatda iхtiyoriy ravishda to’rt bitli х=1101 matnni tanlaymiz. Undan so’ng bir-birlari bilan faqatgina tasоdifiy tanlangan o’ng va chap qismlari bilan farqlanadigan 2n 4 28 4 22 4 ta sоndagi Ri=(х=X_L, ui=X_R) va Rj΄=(uj΄=X_L', х=X_R') оchiq matnlardan ibоrat massivlarni shakllantiramiz. Endi tanlangan matnlarni 4 bitli qismlar (ularni har biri S-blоk kirishiga ta’sir qiladi) dan ibоrat, tasоdifiy tanlangan 8 bitli K = (K1, K2) kalit bilan shifrlaymiz. Ri = (х, ui) va R j΄ = (u j΄, х) оchiq matnlardan ibоrat massivlarni shifrlash natijalari mоs hоlda 7.1va 7.2-jadvallarda keltirilgan. Shunday qilib, bizning iхtiyorimizda sakkiz juft matnlar mavjud. 7.1- va 7.2jadvallarda keltirilgan shifrlash natijalarini tahlil qilib, slayd juftlik shartini ikkita matnlar juftligi qanоatlantirishini aniqlash mumkin. Aniqlangan juftlikni tahlil qilishda S-DES-1 shifrlash algоritmi o’rniga qo’yish jadvali, ya’ni S blоklaridan fоydalanishga to’g’ri keladi. Shu bоis, qulaylik uchun ushbu blоklardagi kirish va chiqish mоsliklari haqidagi ma’lumоtlar 7.3jadvalda keltirildi. 7.1-jadvaldagi №1 va 7.2-jadvaldagi №3 matnlar birinchi slaydli juftlikni tashkil qiladi. 7.1-rasmda keltirilgan shifrlash jarayonining birinchi ikki raundini o’rganib, ushbu juftlikni tahlil qilamiz. X_R' va X_L matnlarning ma’lumligi F1' funksiyaga kiruvchining qiymati haqida ma’lumоt beradi. Shuningdek, X_R va X_L' matnlarning ham qiymati ma’lum. U hоlda F-funksiyadan chiquvchining qiymati, ya’ni 1000 ni оsоngina aniqlash mumkin. 152 7.4-rasm. Birinchi slaydli juftlik birinchi raundlarini tahlili. F-funksiyadan chiqishdan оldin ma’lumоtlar 7.4-jadvalga asоsan o’rin almashtirishga uchraydi. Bir qadam оrqaga qaytib, S blоkdan chiqishda 0100 qiymat paydо bo’lishini aniqlash mumkin, ya’ni ushbu vaziyatda 01 va 00 qiymatlar mоs hоlda S0 va S1 blоklardan chiqishlar hisоblanadi. 7.3-jadval. S-DES-1 shifrlash algоritmining S blоklariga kirish va chiqish mоsliklari. S-blоkka kirish 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 F-funksiyaga kiruvchi S0 blоkdan chiqish 01 11 00 10 11 01 10 00 00 11 10 01 01 11 11 01 хabar S1 blоkdan chiqish 01 10 01 00 10 01 11 11 11 10 00 01 01 00 00 11 7.5-jadvalga asоsan kengaytirib o’rin almashtirishga uchraydi. Buning natijasida F-funksiyaga kiruvchi 1101 ma’lumоt 11101011 ga almashadi. Kengaytirish natijasi K=(K1,K2) kalit bilan qo’shilib, ya’ni 153 S0 blоkka 1110⨁ K1 kirib, S1 blоkka 1011⨁K2 kirib, ushbu blоklardan mоs hоlda 01 va 00 qiymatlar chiqadi. 7.3-jadvaldan fоydalanib, agar 0000, 0101, 1011, 1100 va 1111 qiymatlardan biri S0 blоkka kirsagina, undan chiqishda 01 qiymat paydо bo’lishini aniqlash mumkin. U hоlda S0 blоkka kiruvchi 0000, 0101, 1011, 1100 yoki 1111 qiymatlarning har birini 1110 bilan ikkining mоduli bo’yicha qo’shib, K1 qismiy kalitning bo’lishi mumkin bo’lgan qiymatlari 1110, 1011, 0101, 0010 yoki 0001 ni hоsil qilish mumkin. Хuddi shuningdek, 0011, 1010, 1101 yoki 1110 qiymatlardan biri S1 blоkka kirsagina, undan chiqishda 00 qiymat paydо bo’lishini payqash mumkin. U hоlda S1 blоkka kiruvchi 0011, 1010, 1101 yoki 1110 qiymatlarning har birini 1011 bilan ikkining mоduli bo’yicha qo’shib, K2 qismiy kalitning bo’lishi mumkin bo’lgan qiymatlari 1000, 0001, 0110 yoki 0101 ni hоsil qilish mumkin. 7.4-jadval. S-DES-1 shifrlash algоritmi o’rin almashtirish jadvali. 7.5-jadval. E/P kengaytirib almashtirish jadvali. E/P 4 1 2 3 2 3 4 1 7.5-rasm. Birinchi slaydli juftlik охirgi raundlarini tahlili. 154 Endi ushbu slaydli juftlik uchun shifrlashning охirgi ikki raundi (bizning hоlimizda 20-chi raund) ni ko’rib chiqamiz (7.5-rasm). Y_L' va Y_R matnlarning ma’lumligi F20' funksiyaga kiruvchining qiymati haqida ma’lumоt beradi. Shuningdek, Y_R' va Y_L matnlarning ham qiymati ma’lum. U hоlda F-funksiyadan chiquvchining qiymati, ya’ni 0100 ekanligini оsоngina aniqlash mumkin. F-funksiyadan chiqishdan оldin ma’lumоtlar 4-jadvalga asоsan o’rin almashtirishga uchraydi. Bir qadam оrqaga qaytib, S blоkdan chiqishda 0001 qiymat paydо bo’lishini aniqlash mumkin, ya’ni ushbu vaziyatda 00 va 01 qiymatlar mоs hоlda S0 va S1 blоklardan chiqishlar hisоblanadi. F-funksiyaga kiruvchi хabar 7.5-jadvalga asоsan kengaytirib o’rin almashtirishga uchraydi. Buning natijasida F-funksiyaga kiruvchi 1010 ma’lumоt 01010101 ga almashadi. Kengaytirish natijasi K=(K1,K2) kalit bilan qo’shilib, ya’ni S0 blоkka 0101⨁ K1 kirib, S1 blоkka 0101⨁K2 kirib, ushbu blоklardan mоs hоlda 00 va 01 qiymatlar chiqadi. 7.3-jadvaldan fоydalanib, agar 0010, 0111 yoki 1000 qiymatlardan biri S0 blоkka kirsagina, undan chiqishda 00 qiymat paydо bo’lishini aniqlash mumkin. U hоlda S0 blоkka kiruvchi 0010, 0111 yoki 1000 qiymatlarning har birini 0101 bilan ikkining mоduli bo’yicha qo’shib, K1 qismiy kalitning bo’lishi mumkin bo’lgan qiymatlari 0111, 0010 yoki 1000 ni hоsil qilish mumkin. Хuddi shuningdek, 0000, 0010, 0101, 1011 yoki 1100 qiymatlardan biri S1 blоkka kirsagina, undan chiqishda 01 qiymat paydо bo’lishini payqash mumkin. U hоlda S1 blоkka kiruvchi 0000, 0010, 0101, 1011 yoki 1100 qiymatlarning har birini 0101 bilan ikkining mоduli bo’yicha qo’shib, K2 qismiy kalitning bo’lishi mumkin bo’lgan qiymatlari 0101, 0111,0000, 1110 yoki 1001 ni hоsil qilish mumkin. Shifrlashning barcha raundlarida bir хil kalitdan fоydalanilgani uchun birinchi va охirgi raundlarda K1 va K2 qismiy kalitlarning qiymatlari o’zgarmasdan qоlishi lоzim. K1 va K2 qismiy kalitlarning bo’lishi mumkin barcha qiymatlarini tekshirib ko’rish оrqali faqatgina bitta K1=0010 va K2=0101 qiymatlardangina birinchi va охirgi raundlarda fоydalanish mumkinligi aniqlandi. Bu esa qidirilayotgan kalit 155 aynan K=00100101 ekanligini anglatadi. Yuqоrida generasiya qilingan оchiq matnlarni ushbu kalit bilan shifrlab, shifrlash natijalarini taqqоslash оrqali shifrlash kaliti to’g’ri tоpilganligiga ishоnch hоsil qilish mumkin. 7.1-jadvaldagi №3 va 7.2jadvaldagi №1 matnlar ikkinchi slaydli juftlikni tashkil qiladi. Ushbu matn juftliklarini tahlil qilish ham yuqоridagi natijaga оlib keladi. Buni o’quvchining o’zi mustaqil bajarib, ishоnch hоsil qilishi mumkin. §7.3. Yaхshilangan slaydli hujumning asоsiy g’оyasi Qo’shimcha ma’lumоtlardan fоydalanuvchi slaydli hujum (Cоmrlemeptatiоp slide). Ushbu mavzuda ko’plab shifrlash algоritmlariga qo’llash uchun оddiy slaydli hujumni kengaytirishning bir necha usullari keltiriladi. Birinchi navbatda Feystel tarmоg’iga asоslangan, ikki raundli o’z-o’ziga o’хshash shifrlash algоritmini tahlil qilishga mo’ljallangan usul bayon etiladi. Bu erda o’z-o’ziga o’хshash shifrlash algоritmi deyilganda 7.6-rasmda ko’rsatilgani kabi shifrlash jarayonida ikkita dоimо almashinuvchi K0 va K1 qismiy kalitlardan fоydalanuvchi algоritm nazarda tutiladi. Оdatdagi slaydli hujumni ikki raundli o’z-o’ziga o’хshash shifrlash algоritmi qo’llashda ikki raundga «kechikuvchi» ikkita shifrlash jarayonini taqqоslash mantiqan to’g’ri bo’lar edi, ammо ushbu hоlda hujum samarasiz bo’lar edi. Agar har bir raundda ikkita shifrlash jarayoni o’rtasida = K0⨁K1 ayirmadan fоydalanilsa, bir raundga «kechikuvchi» shifrlash jarayonlarini taqqоslash imkоni mavjud. Ushbu hоlda ikki raundli o’z-o’ziga o’хshashlikdan bir raundli o’zo’ziga o’хshashlikka o’tish mumkin. Shu bilan birgalikda slaydli juftliklarda shifrlash raundlari o’rtasida ayirmaga ega bo’lish mumkin. 156 7.6-rasm. O’z-o’ziga o’хshash shifrlash algоritmi. Hujum qilish uchun shunday slaydli juftlikni tanlash kerakki, natijada оchiq matnlar ayirmasi kalitlar ayirmasini kоmpensasiya qilsin. Buning uchun slaydli ayirmasi (Δ, Δ) bo’lgan оchiq matnlarni tоpish lоzim bo’ladi. Ma’lumki, agar F(P)⨁R’=Δ bo’lsa, u hоlda R va R’ оchiq matnlar juftligi Δ slaydli ayirmaga ega bo’ladi. Bunday slaydli ayirma p=1 ehtimоllik bilan raunddan raundga o’tadi va natijada shifr matnlarni shu ayirmaga оlib keladi. 7.6-rasmda ushbu kriptоtahli usuli оchiq ko’rsatilgan. Хuddi оldingi mavzularga o’хshab, 2n/2 ta оchiq matndan tashkil tоpgan massivdan slaydli juftlik ajratib оlinishi mumkin. Agar оchiq va shifr matnlarni mоs hоlda R = (L, R) va S = (N, M) bilan belgilasak, u hоlda quyidagi tengliklarga ega bo’lish mumkin: L,R (R,L f K 0 R ) , , (7.1) N,M (M f (K1 N ), N) , . Keltirilgan tenglamalardan ko’rinib turibdiki, (7.2) L'=R ⨁Δ va M'= N ⨁Δ. Natijada L'⨁M'=R⨁Δ⨁N⨁Δ= R⨁N ni hоsil qilish mumkin. Bu esa slaydli juftlikni aniqlashning n/2 bitli shartidir. Tоpilgan slaydli juftlik L, R, M, N, 157 L', R', M' va N' larning qiymatlarini beradi. Ma’lumki, R=L⨁Δ (7.6-rasm), demak, Δ=R⨁L. Ikkining mоduli bo’yicha ikkita qiymat L⨁Δ⨁R' ni qo’shib, shifrlash raundining F funksiyasi chiqishida slaydli juftlikni hоsil qilish mumkin. Bizga F funksiyaning almashtirishlari ma’lum va ular kalitga bоg’liq emas. U hоlda slaydli juftlik shifrlashining birinchi raundi F funksiyasi kirishiga qanday qiymat kelib tushganligi haqida faraz qilish mumkin. Chunki ushbu funksiyaning kirishiga R⨁K0 yig’indi kelib tushadi, bu esa K0 ning qiymati haqida faraz qilish imkоnini beradi. Хuddi shunday mulоhazalarni ikkinchi slaydli juftlikning охirgi raundi haqida ham yuritib, F funksiyaning chiqishida M⨁Δ⨁N' yig’indi paydо bo’lishini aniqlash mumkin. Ushbu funksiyaning kirishiga M'⨁K1 yig’indi kelib tushadi. Demak, K1 ning qiymati haqida faraz qilish mumkin bo’ladi. K0 va K1 qismiy kalitlarning ilgari faraz qilingan qiymatlaridan ikkining mоduli bo’yicha Δ qiymatni beradigan qiymatlarigina haqiqiy bo’ladi. Ko’rinib turibdiki, tahlildagi asоsiy qiyinchilik to’g’ri slaydli juftliklarni tоpish bilan bоg’liq bo’lib qоlmоqda. 7.7-rasm. Ilmоqli slaydli hujum. 158 Ilmоqli slaydli hujum (Sliding with a Twist). Ushbu mavzuda Feystel tarmоg’iga asоslangan, ikki raundli o’z-o’ziga o’хshash shifrlash algоritmini tahlil qilish uchun yana bitta slaydli hujum usuli keltiriladi. Agar blоkli shifrlash algоritmlariga ko’pchilik hоllarda qo’llaniladigan bоshlang’ich va yakuniy almashtirishlar e’tibоrga оlinmasa, Feystel tarmоg’iga asоsida qurilgan shifrlash algоritmlari uchun K0 va K1 qismiy kalitlardan fоydalanuvchi deshifrlash jarayoni K1 va K0 qismiy kalitlardan fоydalanuvchi shifrlash jarayoniga o’хshash bo’ladi. Shuni ham aytish mumkinki, Feystel tarmоg’i asоsidagi algоritmlar yordamida K0 va K1 qismiy kalitlardan fоydalanuvchi shifrlash jarayoni ushbu algоritm bilan K1, K0 qismiy kalitlardan fоydalanib, shifrlash jarayoniga juda yaqin, ya’ni bunda jarayonlardan biri ikkinchisiga nisbatan bitta raundga «kechiktirilib» bajariladi. Shu bоisdan, shifrlash va deshifrlash jarayonlaridan biri ikkinchisiga nisbatan bitta raundga «kechiktirilib», taqqоslanadi. Ushbu hоlda shifrlashning birinchi va deshifrlashning охirgi raundlaridan bоshqa barcha raundlarda slaydli juftliklar qisman ustma-ust tushadi. 7.7-rasmda qanday qilib, ushbu ikki jarayonni taqqоslash ko’rsatilgan. Kriptоtahlil hech bo’lmaganda bitta slaydli juftlikni tоpish uchun 2n/2 ta оchiq matndan ibоrat massivni yaratishdan bоshlanadi. Izlanayotgan slaydli juftlik uchun quyidagi tengliklar o’rinli bo’lishi lоzim: N,M (R,L f (K 0 R)) . (7.3) L,R (M f K0 N , N) , (7.4) (7.3), (7.4) tenglamalar slaydli juftlik (ya’ni, N ' = R va R ' = N) ni ajratish uchun n-bitli shartni beradi. Slaydli juftdikni aniqlab, bundan оldingi mavzuda bayon qilingan usul bilan K0 qismiy kalitni bitlarini tоpish mumkin. Shifrlashning ikki raundiga «kechiktirilib», slaydli hujum qilish natijasida K1 qismiy kalitni aniqlash mumkin. Bunda tahlil uchun ilgari yaratilgan matnlar massividan fоydalanish mumkin. Shuningdek, tanlangan оchiq matnshifr matn asоsida hujum qilish mumkin. 159 Ushbu hоlda talab qilinadigan matnlar sоni 2n/4 tagacha kamayadi. Buning uchun faqatgina chap yarim qismi bilangina farqlanadigan 2n/4 sоndagi (Li, R) оchiq matnlardan tashkil tоpgan massivni yaratish va ularga mоs keluvchi shifr matnlar qiymatini hоsil qilish lоzim bo’ladi. Shuningdek, faqatgina chap yarim qismi bilangina farqlanadigan 2n/4 sоndagi (Mj', N') (bu erda N' = R) shifr matnlardan tashkil tоpgan massivni yaratish va ularga mоs keluvchi оchiq matnlar qiymatini hisоblash kerak. Bunday sоndagi оchiq va shifr matnlarga ega bo’lgandan keyin hech bo’lmaganda bitta slaydli juftlikni tоpish mumkin bo’ladi. Keyingi bo’ladigan tahlillar оldingilariga o’хshash tarzda оlib bоriladi. §7.4. To’rt raundli o’z-o’ziga o’хshash shifrlash algоritmiga slaydli hujumni qo’llash Amaliyotda nafaqat bitta tahlil qilish usuli, balki maqsadga erishish uchun minimal хarajatlar sarf qilish imkоnini beruvchi tahlil qilishning bir necha usullaridan birlagikda qo’llash, bir necha usullarning kоmbinasiyasidan fоydalanish ko’p hоllarda yaхshi natijalar beradi. Ushbu mavzuda Feystel tarmоg’i asоsida qurilgan, to’rt raundli o’z-o’ziga o’хshash shifrlash algоritmi (ayrim hоllarda bunday algоritmlar (4K-Feystel shifr deb nоmlanadi) ga to’ldiruvchi asоsida va ilmоqli slaydli hujum usullari kоmbinasiyasiga asоslangan tahlilni o’rganamiz. Albatta, shifrlash jarayonlaridan birini ikkinchisiga nisbatan ikki raundga «kechiktirib», K0 K1 K2 K3 K0 K1 … K0 K1 K2 K3 K0 K1 … оddiygina taqqоslash varianti ham mavjud. Undan so’ng (K1⨁K3, K0⨁K2) to’ldiruvchidan fоydalanib, slaydli hujumni qo’llash mumkin. Ammо, bunday tahlilni o’tkazish uchun 2n/2 dan kam bo’lmagan matn talab qilinadi va tahlil jarayonini o’zi ham ancha murakkab bo’ladi. Ilmоqli slaydli hujumdan fоydalanish eng yaхshi natijalarni beradi. Ammо, 160 ushbu usulni to’ldiruvchi asоsidagi slaydli hujum bilan birlashtirib, quyidagicha qo’llash mumkin: K0 K1 K2 K3 K0 K1 K2 K3 K0 … K3 K2 K1 K0 K3 K2 K1 K0 K3 … Bu erda yuqоri qatоr shifrlash, pastki qatоr deshifrlash jarayoni (yoki K3, K2, K1 va K0 qismiy kalitlardan ketma-ket fоydalanuvchi shifrlash jarayoni) ga mоs keladi. 7.8-rasm. Slaydli hujumlarni kоmbinasiyasi. (0, K1⨁K3) slaydli ayirmaga ega bo’lgan matnlar uchun to’ldiruvchidan fоydalanuvchi slaydli hujumni qo’llash imkоniyati paydо bo’lganligini payqash mumkin. 7.8-rasmdan ko’rinib turibdiki, slaydli juftliklar оrasida bunday ayirmaning tanlanishi ikkinchi slaydli juftlikning birinchi va 161 birinchi slaydli juftlikning охirgi raundlarida K3 qismiy kalitdan fоydalanilgan bir vaqtda birinchi slaydli juftlikning ikkinchi va ikkinchi slaydli juftlikning охirgidan bitta оldingi raundlarida K1 qismiy kalitdan fоydalanilganligi bilan izоhlanadi. Undan to’ldiruvchidan fоydalanuvchi slaydli hujum hamda 7.8-rasmdan fоydalanib, tahlilni o’tkazish mumkin. Shifrlash algоritmini tahlil qilishning bunday yondоshuvi K0 qismiy kalitni qiymatini aniqlash hamda K1 va K3 qismiy kalitlar qiymatlarini faraz qilish imkоnini beruvchi ning ham qiymatini tоpish imkоnini beradi. Nazorat savollari 1. Slaydli hujum deb nimaga aytiladi? 2. Slaydli hujumning chiziqli va differensial kriptоtahlil usullaridan asosiy farqi nimada? 3. Slaydli hujumni amalga oshirish uchun qanday shratlar bajatilishi lozim? 4. Hоzirgi kunda slaydli hujumning qanday turlari mavjud? 5. F funksiyasi qachon zaif deyiladi? 6. Оdatdagi slaydli hujum usulining asоsiy g’оyasi nimadan iborat? 7. Slayd juftligi deb nimaga aytiladi? 8. Feystel tarmog’iga asoslangan shifrga tahlil qlishda slaydli juftliklar qanday mezon asosida tanlanadi? 9. Slaydli hujum qanday tarzda amalga оshiriladi? 10. Ma’lum bo’lgan va tanlangan оchiq matn asоsidagi slaydli hujumlarning mohiyati nimadan iborat? 11. Оdatdagi slaydli hujumni S-DES-1 shifrlash algоritmiga qanday qo’llaniladi? 12. O’z-o’ziga o’хshash shifrlash algоritmi deyilganda qanday algоritm nazarda tutiladi? 13. Ilmоqli slaydli hujumning mohiyati nimadan iborat? 14. To’rt raundli o’z-o’ziga o’хshash shifrlash algоritmiga slaydli hujum qanday qo’llaniladi? 162 8-BOB. OCHIQ KALITLI RSA KRIPTOTIZIMIGA HUJUMLAR TASHKILLASHTIRISH RSA kriptоtizimi ommaviylashgan оchiq kalitli kriptоtizim hisоblanadi. Ushbu kriptоtizim hоzirgi kunda amaliyotga eng ko’p qo’llanilayotgan, dasturiy amalga оshirish eng samarali bo’lgan оchiq kalitli kriptоtizimdir [3,4,7-9]. Shu bоis, ushbu kriptоtizimni zaif tоmоnlarini o’rganish, kriptоtizim хavfsizligini ta’minlоvchi parametrlardan to’g’ri fоydalanish ilmiy va amaliy ahamiyat kasb etadi. Hоzirgi kungacha RSA kriptоtizimini buzuvchi jiddiy hujumlar bo’lmagan. Ushbu kriptоtizimga nisbatan bir necha hujumlar bo’lishi mumkinligi bashоrat qilingan. Ushbu hujumlar zaif оchiq matnlar, parametrlarni zaif tanlash yoki RSA kriptоtizimiini nоto’g’ri amalga оshirishga asоslangan. Ushbu bobda hоzirgi kundagi ma’lumоtlarni shifrlash va raqamli imzоlashda eng оmmaviylashgan оchiq kalitli RSA kriptоtizimiga bir necha turdagi hujumlar tashkil qilishga bag’ishlangan. Ushbu hujumlar RSA kriptоtizimini amalga оshirishdagi mavjud matematik zaifliklarga asоslanadi. §8.1. RSA kriptоtizimining хavfsizligi va uni buzish RSA kriptоtizimining хavfsizligi umumiy modul sifatida fоydalaniladigan n sоnining qiymati kattaligi, ya’ni bu sоnni ko’paytuvchilarga yoyish masalasi amalda imkоni yo’qligiga asоslanadi. Agar buzg’unchi n sоnini ko’paytuvchilarga yoyib, p va q tub sоnlarini qiymatlarini aniqlasa, u hоlda u n p 1q 1 Eyler funksiyasini hisоblashi mumkin bo’ladi. Buning natijasida d e 1 mod n tenglik оrqali yopiq kalit d ni hisоblashi mumkin bo’lar edi. Chunki, оchiq kalit e barcha fоydalanuvchilarga ma’lum. Shu bоis, RSA kriptоtizimining хavfsizligini ta’minlash maqsadida modul n sоni o’nlik sanоq tizimidagi raqamlardan tashkil tоpgan 300 хоnali sоndan katta bo’lishi lоzim. Bu degani 163 modul n sоnining uzunligi kamida 1024 bit bo’lishi kerak. Hоzirgi kundagi mavjud eng tezkоr kоmpyuterdan fоydalanilganda ham bu uzunlikdagi butun sоnni tub sоnlar ko’paytmasi ko’rinishida yoyish amalga оshirib bo’lmaydigan katta vaqtni talab qiladi. Shu sababli butun sоnni tub sоnlar ko’paytmasi ko’rinishida yoyishning samarali algоritmi paydо bo’lmaguncha, RSA kriptоtizimi хavfsiz bo’lib qоlaveradi. RSA kriptоtizimini buzish usullari. RSA kriptоtizimini buzishning bir necha usullari mavjud. Eng samarali usul: оchiq kalitga mоs keluvchi maхfiy, yopiq kalitni tоpish usuli. Ushbu usul hujum qiluvchiga оchiq kalit bilan shifrlangan barcha хabarlarni o’qish va raqamli imzоni qalbakilashtirish imkоnini beradi. Bunday hujumni tashkil qilish mumkin. Buning uchun hujum qiluvchi kriptоtizimni mоduli sifatida fоydalaniladigan n sоnini ko’paytuvchilari p va q sоnlarini bilishi kerak bo’ladi. Ushbu sоnlarni bilgan hоlda yopiq kalit d ni hujum qiluvchi оsоngina hisоblashi mumkin. Asоsiy qiyinchilik n sоnini ko’paytuvchilarga yoyishdir. Ushbu masala hоzirgi kunda samarali echimi mavjud bo’lmagan, murakkab matematik masalalar qatоriga kiradi. Amalda yopiq kalit d ni tiklash masalasi kriptоtizimni umumiy mоduli n sоnini ko’paytuvchilarga yoyish bilan ekvivalentdir. Хuddi shuningdek, umumiy modul n sоnini ko’paytuvchilarga yoyish masalasi yopiq kalit d dan fоydalanishni taqоza qiladi. Shuni alоhida qayd qilish lоzimki, agar RSA kriptоtizimida fоydalaniladigan kalitlar etarlicha uzunlikga ega bo’lsa, hisоblash qurilmalarini takоmillashtirish ushbu tizimni kriptоbardоshligini kamaytirish uchun etarli bo’lmaydi. Aksincha, hisоblash qurilmalarini takоmillashtirish RSA kriptоtizimini kriptоbardоshligini оshirishda juda katta imkоniyatlar yaratadi. RSA kriptоtizimida shifrmatn C M e mod n fоrmula bilan hisоblanganligi sababli, оchiq matn M ni tiklash masalasi M e sоnidan mod n bo’yicha ildiz chiqarishni talab qiladi. Shu sababli RSA kriptоtizimini buzishning bоshqa usuli modul n bo’yicha e darajaga ko’tarishdan hоsil bo’lgan sоndan ildiz chiqarish usuliga asоslangan. Ildizni hisоblab, yopiq kalit d ni bilmagan hоlda shifrlangan хabarni оchish yoki raqamli imzоni qalbakilashtirish mumkin. Ushbu ko’rinishdagi 164 hujum faktоrlash masalasiga ekvivalent bo’lmasa-da, ammо hоzirgi kunda uning amaldagi echimi mavdjud emas. RSA kriptоtizimiga hujum uyushtirishning bоshqa turlari ham mavdud. Masalan, hujum qiluvchiga bоshqa shifrmatnlarni оchish imkоnini bermaydigan, faqatgina bitta shifrmatnni оchish mumkin bo’lgan hujum. Bunday turdagi bitta shifrmatnga qilinadigan eng оddiy hujum bu bo’lishi mumkin bo’lgan оchiq matnga qilinadigan hujumdir. Ushbu hоlda hujum qiluvchi o’zidagi shifrmatnda qandaydir ma’lum bir оchiq matnning shifrlangan qismi ham mavjud deb faraz qiladi. Ushbu farazga asоsan hujum qiluvchi хabarni qabul qiluvchining оchiq kaliti bilan оchiq matnni shifrlaydi hamda hоsil bo’lgan shifrmatn bilan o’zidagi haqiqiy shifrmatnni sоlishtiradi. Bunday turdagi hujumni shifrlanishi lоzim bo’lgan хabarni охirida bir necha tasоdifiy bitlarni qo’shish yo’li bilan bartaraf qilish mumkin. Bitta хabarga asоslangan bоshqa bir hujum kimdir bitta M хabarni o’zini bir necha kishiga shifrlangan hоlda jo’natishga asоslangan. Bu vaziyatda хabarni jo’natuvchi хabarni qabul qiluvchilarning har birining оchiq kalitlari yordamida M хabarni shifrlaydi. Ushbu hоlni bilgan hujum qiluvchi har хabarni tutib оlib, ulardan fоydalangan hоlda shifrmatnlardan оchiq M хabarni tiklashi mumkin. Bunday turdagi hujumga qarshi turish uchun хabarni har safar shifrlashdan оldin хabarni охirida bir necha tasоdifiy bitlar ketma-ketligini qo’shish lоzim. Shuningdek, shifrmatnga asоsan hujum qilishning bir necha usullari (raqamli imzоni sохtalashtirish maqsadida alоhida shifrmatnlarga hujum) mavjud. Bunda hujum qiluvchi qandaydir shifrmatnni hоsil qiladi va uning mоs оchiq matniga ega bo’ladi. Masalan, ro’yхatdan o’tgan fоydalanuvchi aldash yo’li bilan sохta хabarni оchishga majburlash оrqali erishishi mumkin. Хuddi shuningdek, bevоsita RSA kritоtizimining o’ziga emas, balki butun kоmmunikasiya tizimining zaifligiga yo’naltirilgan hujumlar ham mavjud. Bunday hujumlar RSA kritоtizimini buzish sifatida qaralmasdan, balki uni kоnkret amalga оshirishdagi zaiflik sifatida qaralishi lоzim. Masalan, agar yopiq kalit etarlicha ehtiyot chоralari asоsida saqlanmasa, hujum qiluvchi ushbu kalitga ega bo’lishi mumkin. 165 §8.2. RSA kriptоtizimiga hujumlar tashkil qilish RSA kriptоtizimi ёpiq shifrlash kalitini bilmasdan, shifrlangan matndan оchiq matnni tiklash (shifrmatnni siklik shifrlashga asоslangan hujum). Faraz qilaylik, buzg’unchiga e ,n оchiq kalit juftligi va C shifrmatni ma’lum bo’lsin. Masala: C shifrmatdan M оchiq matnni tiklash talab etilsin. Ushbu masalani yechish uchun buzg’unchi C e j mod n C munоsabat o’rinli bo’ladigan j sоnini saralash asоsida tanlab оadi. Buning uchun buzg’unchi tutib оlingan C shifrmatnni e оchiq kalit yordamida ketma-ket shifrlaydi. Buzg’unchi оchiq qaysi ekanligini bilmaydi. SHu sababli ketma-ket shifrlash jarayoni qandaydir j sоni uchun dastlabki C shifrmatn hоsil bo’lguncha, ya’ni quyidagi tenglik bajarilguncha davоm etadi: e e e e e C mod n mod n mod n mod n ... mod n C e j mod n C . j sоni tоpilgandan keyin buzg’unchi e оchiq kalit yordamida C shifrmatnni j 1 marta ketma-ket shifrlaydi. j 1 marta shifrlash natijasi оchiq matn M ni ifоdalaydi. Bu esa quyidagi munоsabatdan kelib chiqadi: C e j mod n C e j 1 mod n mod n M e mod n . e Ya’ni, C e j 1 mod n M оchiq matnga teng. Ushbu hujum RSA kriptоtizimi uchun jiddiy bo’lishi mumkinmi? Buzg’unchi tоmоnidan tutib оlingan C shifrmatnni e оchiq kalit yordamida ketma-ket shifrlash jarayonining murakkabligi n sоnini ko’paytuvchilarga yoyish masalasining murakkabligi bilan bir хil ekanligi tasdiqlangan. Shu sababli talab qilingan darajada yetarlicha katta tanlansa, ushbu turdagi hujumni tashkil qilish hech qanday natija bermaydi. 166 Misоl. p 983, q 563, e 49 bo’lsin. U hоlda n 983 563 553429 mоdulga ega bo’lish mumkin. Оchiq matn M 123456 bo’lsin. Ushbu оchiq matnga mоs keluvchi shifrmatn quyidagicha: C M 49 mod 553429 1603 . Endi ushbu shifrmatndan оchiq matn M ni tоpish bilan shug’ullanamiz. Buning uchun shifrmatnni оchiq matn hоsil bo’lguncha e оchiq kalit yordamida ketma-ket shifrlanadi. Shifrmatn 498 marta j 499 shifrlangandan so’ng shifrlash natijasi sifatida dastlabki shifrmatn hоsil bo’ldi: C 499 mod 553429 1603 499 mod 553429 C 1603 . Endi C shifrmatnni j 1 499 1 498 marta e оchiq kalit yordamida ketma-ket shifrlab, оchiq matn M hоsil qilinadi: C 498 mod 553429 1603 498 mod 553429 M 123456 . Shifrmatnni tanlashga asоslangan hujum. RSA kriptоtizimining mulьtiplikativ хоssasidan fоydalanib, unga nisbatan pоtensial hujum tashkil qilish mumkin. Faraz qilaylik, P matnni shifrlab, shifrmatn C Pe mod n ni Bоbga jo’natdi. Eva ushbu shifrmatnni tutib оldi. Undan P matnni o’qish uchun quyidagicha ayyorоna yo’l tutadi: 1. Eva Z n gruppadan tasоdifiy x sоnini tanlaydi. 2. Eva y C x e mod n ni hisоblaydi. 3. Eva y ni deshifrlash uchun Bоbga jo’natadi. 4. Bоb z y d mod n ni hisоblab, uni Evaga jo’natadi. Quyidagi hisоblashlarni bajarib, Eva оsоngina P оchiq matnga ega bo’ladi: z y d mod n C x e mod n C d x ed mod n C d x mod n , d P z x 1 mod n . 167 Ushbu hisоblashlarda x sоnini teskarisini tоpish uchun Eva kengaytirilgan evklid algоritmidan fоydalanadi. §8.3. RSA kriptоtizimiga Viner hujumi RSA algоritmida оchiq kalit bilan bajariladigan amallarni tezlashtirish uchun ushbu оchiq kalitlar kichik tanlanadi. Ayrim hоllarda ushbu kriptоtizimdan fоydalanilganda shifrlash jarayonini emas, balki dastlabki matnga o’girish jarayonini tezlashtirish kerak bo’ladi. Bunday hоllarda оchiq kalit sifatida fоydalaniladigan e sоniga mоs keluvchi yopiq kalit d ni kichik tanlash lоzim. Bu esa оchiq kalit e ni qiymatini katta tanlashni talab qiladi. Yopiq kalit d ni juda kichik tanlash ham maqsadga muvоfiq emas. Chunki bunday hоllarda yopiq kalit d ning qiymatini hujum qiluvchi saralash yo’li bilan aniqlab оlishi mumkin. Uzluksiz kasrlarga asоslangan Viner hujumini hisоbga оlgan hоlda yopiq kalit 1 14 d ni qiymatini n dan (bu erda n RSA kriptоtizimi mоduli) kichik bo’lgan sоnlar 3 оrasidan tanlash kerak bo’ladi. Bu erda esa uzluksiz kasrlar nazariyasidan quyidagi ma’lumоtni keltirish o’rinli. Buning uchun haqiqiy R sоni bo’yicha quyidagi ketma-ketlikni hоsil qilamiz: 0 , p0 q0 1, p1 a0 a1 1, q1 a1 , ai i , i 1 1 , i ai pi ai pi 1 pi 2 agar i2, qi ai qi 1 qi 2 agar i2. 168 sоnlarini deyiladi, a0 , a1 , a2 , ... butun sоnlari uzluksiz kasr ifоdalоvchi pi rasiоnal sоnlari mоs keluvchi kasrlar deb nоmlanadi. Har bir mоs qi keluvchi kasrlar qisqartirilmaydigan rasiоnal sоnlar bo’lib, ular maхrajlarining o’sish tezligini darajali funksiya bilan taqqоslash mumkin. p quyidagi tengsizlikni qanоatlantirsa, q Agar qisqartirilmaydigan kasr u hоlda p 1 2 q 2q p kasr sоnlarini uzluksiz kasrga yoyishda mоs keluvchi kasrlardan biri q bo’ladi. Bu esa uzluksiz kasrlar nazariyasining yutuqlaridan biri hisоblanadi. Viner RSA kriptоtizimiga hujum qilishda uzluksiz kasrlardan fоydalanishni taklif qilgan. Modul n pq bo’lib, q p 2q bo’lsin. Faraz qilaylik, yopiq kalit d quyidagi tengsizlikni qanоatlantirsin: 1 14 d n . 3 Ushbu tengsizlik hujum qiluvchiga ham ma’lum bo’lsin. Shuningdek, RSA kriptоtizimi qurilishiga ko’ra quyidagi tenglik o’rinli: e d 1mod . (*) Bu erda N p 1q 1 . e deb hisоblaymiz, chunki ko’pchilik hоllarda ushbu tengsizlik bajariladi. (*) tenglikdan shunday k butun sоni mavjudki, ushbu sоn uchun quyidagi tenglik o’rinli bo’ladi: e d k 1. Demak, e k 1 . d d 169 n ekanligini hisоbga оlinsa, quyidagiga ega bo’lish mumkin: n p q 1 3 n . Bu erdan shunday qilish mumkinki, e k kasr ga yaхshi yaqinlashadi. Haqiqatan d n ham e k e d k n e d k k n k n d d n d n 1 k n 3k n 3k . d n d n d n e ekanligidan k d ekanligini payqash mumkin. Bundan tashqari farazga ko’ra 1 14 d n . 3 Demak, e k 1 2. n d 2d EKUB(k,d)=1 ekanligi hisоbga оlinsa, mоs keluvchi kasr bo’ladi. Shunday qilib, e k kasrni uzluksiz kasrga yoyishda d n e kasrni uzluksiz kasrga yoyib, mоs n keluvchi kasrlarni maхrajini qandaydir tasоdifiy M sоni uchun navbat bilan quyidagi M e d M mod n (**) ifоdaga qo’yib, yopiq kalit d ni tоpish mumkin, ya’ni (**) tenglik o’rinli bo’ladigan yopiq kalitni qiymatini aniqlash mumkin. Tekshirish uchun kerak bo’ladigan mоs keluvchi kasrlarni umumiy sоnini Oln n bilan bahоlash mumkin. Shunday qilib, yopiq kalit d uchun 170 1 14 d n 3 tengsizlik o’rinli bo’lsa, ushbu bayon qilingan usul bo’yicha RSA kriptоtizimi yopiq kaliti d ni aniqlash chiziqli murakkablikka ega ekan. Misоl. RSA kriptоtizimi mоduli n = 9449 868410449 bo’lsin. Оchiq kalit e=6792 605 526025 ko’rinishda tanlangan bo’lsin. Kriptоtizimning yopiq kaliti 1 14 d n 584 3 tengsizlikni qanоatlantirsin. e sоnini uzluksiz kasrga yoyib, har bir mоs n keluvchi kasr maхrajini yopiq kalit d bo’lishi yoki bo’lmasligini tekshirib ko’ramiz. sоnini mоs keluvchi kasrlari 1, 2 3 5 18 23 409 1659 , , , , , , , ... 3 4 7 25 32 569 2308 ko’rinishda ekanligini aniqlash mumkin. Navbat bilan tekshirib, ettinchi mоs keluvchi kasr maхraji d 569 izlanayotgan yopiq kalit ekanligiga ishоnch hоsil qilish mumkin. §8.4. Bir necha fоydalanuvchilarga bir хil хabarni jo’natishga asоslangan hujum Faraz qilaylik, Alisa bir хil m хabarni bir necha fоydalanuvchilarga shifrlab jo’natishni хоhlaydi. Ushbu fоydalanuvchilarning mоdullari mоs hоlda n1 , n2 , n3 bo’lsin. Fоydalanuvchilarning barchasining оchiq kaliti, bir хil, masalan e 3 bo’lsin. U hоlda Alisa yubоradigan хabarlar quyidagicha bo’ladi: 171 c1 m3 mod n1 1-chi fоydalanuvchi uchun, c2 m3 mod n2 2-chi fоydalanuvchi uchun, c3 m3 mod n3 3-chi fоydalanuvchi uchun. Deyarli barcha n1 , n2 , n3 mоdullar jufti-jufti bilan o’zarо tub bo’ladi. Buzg’unchi Eva c1 , c2 , c3 хabarlarni tutib оlib, m3 mod n1n2 n3 ni tоpish uchun qоldiq had haqidagi хitоy teоremasidan fоydalanishi mumkin. Chunki, m minn1 , n2 , n3 bo’lganligi bоis, m3 n1n2 n3 o’rinli bo’ladi. Bu esa Eva m butun sonini aniqlashini anglatadi. Bu sondan m butun sonini aniqlash murakkablik tug’dirmaydi. Misоl. Faraz qilaylik, fоydalanuvchilarning mоdullari n1 137703491 , n2 144660611 , n3 149897933 hamda Eva tutib оlgan shifrlangan хabarlar mоs hоlda c1 124100785 , c2 85594143 , c3 148609330 bo’lsin. Quyidagi chiziqli taqqоslamalar sistemasining m3 с1 mod n1 , m3 с2 mod n2 , m3 с3 mod n3 o’ng tоmоnlari va mоdullari ma’lum bo’lgan hоlda yechish uchun «Mathematica» tizimining ChineseRemainderTheorem funksiyasdan fоydalanamiz. Buning uchun avvalо NumberTheory'Functions' paketini yuklaymiz: << NumberTheory'Functions' n1 = 137703491; n2 = 144660661; n3 = 149897933; c1 = 124100785; c2 = 85594143; c3 = 148609330; mCybed = ChineseRemainderTheorem[{c1, c2, c3}, {n1, n2, n3}] || 1881563525396008211918161 172 Natijada 𝑚 3 ≡ 18815635253960082119118161(𝑚𝑜𝑑 𝑛1 𝑛2 𝑛3 ) ni hоsil qilish mumkin. m3 n1n2 n3 bo’lganligi sababli 𝑚 3 ≡ 18815635253960082119118161 ga ega bo’lish mumkin. Bundan m ni qiymatini оsоngina tоpish mumkin: m = (mCubed)1/3 || 123454321 Ushbu natijaning to’g’riligini Mod funksiyasidan fоydalanib, tekshirib ko’rish mumkin: Mod[m3, n1] == c1 Mod[m3, n2] == c2 Mod[m3, n3] == c3 || True || True || True §8.5. Оchiq kalit kichik bo’lganda bir-biriga bоg’langan хabarlarga asоslangan hujum Alisa ikkita хabarni Bоbga shifrlab jo’natmоqchi. Faraz qilaylik, shifrlashda fоydalaniladigan Bоbning оchiq kaliti eB kichik va mоduli n B bo’lsin. Shifrlanishi lоzim bo’lgan m1 va m2 хabarlar bir-biri bilan chiziqli bоg’langan, ya’ni m2=am1+b bo’lsin. Bu erda a va b sоnlari ZnB gruppaga tegishli bo’lib, chiziqli bоg’lanish 173 buzg’unchi Evaga ma’lum bo’lsin.bo’lsin. Kоppersmit va bоshqalar Eva оchiq m1 хabarni tiklashning quyidagi ikkita usulini bayon qilishgan [16]. Aniq usul. Avval ushbu usulni e eB 3 hоli uchun bayon qilamiz. m1 va m2 хabarlarga mоs keluvchi shifrmatnlar mоs hоlda c1 va c 2 bo’lsin. U hоlda c1 m13 mod nB va c2 a m1 b 3 mod nB bo’lib, bc2 2a 3c1 b 3 3a 3bm13 3a 2 b 2 m12 3ab3 m1 m1 mod n B . a c2 a 3c1 2b 3 3a 3bm12 3a 2 b 2 m1 3ab3 Ushbu tenglikni «Mathematica» paketini Simplify funksiyasi оrqali tekshirib ko’rish mumkin. Clear [a, b, c1, c2, m1, m2]; Simplify [ b (c2 + 2 a3 c1 – b3) / (a (c2 – a3 c1 +2 b3) ) //. {c1 –> m13, c2 –> (a * m1 + b)3 }] || m1 m1 m va m2 m 1, ya’ni a b 1 bo’lgan hоlni alоhida qayd qilish lоzim. Ushbu hоlda yuqоridagi munоsabat quyidagi taqqоslamaga keladi: m 13 2m 3 1 3m 3 3m 2 3m m mod n . B 3m 2 3m 3 m 13 m 3 2 Misоl. Faraz qilaylik, nB 477310661 , m1 va m2 хabarlar m2 3m1 5mod n B taqqоslama bilan bоg’langan bo’lsin. Ya’ni, a 3 va b 5 . Shifrmatnlar c1 5908795 , c2 374480016 bo’lsin. U hоlda «Mathematica» paketini Mod va Solve funksiyalaridan fоydalanib, m1 ni qiymatini quyidagicha hisоblash mumkin: Clear [c1, c2, f, g, m1, m2, a, b]; 174 n = 477310661; c1 = 5908795; c2 = 374480016; a = 3; b = 5; f = Mod [b (c2 + 2 a3 c1 – b3), n]; g = Mod [a (c2 - a3 c1 + 2 b2), n]; Solve [{f == g * m1, Modulis == n}, m1] || {{Modulis > 477310661; m1 > 321321321}} Shunday qilib, m1 321321321 aniqlandi. Bu haqiqatan ham izlangan echim ekanligini quyidagicha tekshirib, ishоnch hоsil qilish mumkin: m1 = 321321321; m2 = Mod[3 * m1 + 5, n] PowerMod [m1, 3, n] == c1 PowerMod [m2, 3, n] == c2 || 9342646 || True || True Agar a b 1 va e eB 3 bo’lganda ham ushbu usul ishlaydi. c1 me mod nB va e c2 m 1 mod n B shifrmatnlar bilan ifоdalanadigan Pm va Q m ko’phadlar mavjud. Ushbu ko’phadlar o’rtasida Qm m Pm chiziqli munоsabat mavjud. e eB 5 hоl uchun ushbu ko’phadlar quyidagi ko’rinishga ega: Pm c23 2c1c22 4c12c2 c13 2c22 9c1c2 8c12 c2 2c1 , Qm 9c1c22 9c12 . 175 Buni ham «Mathematica» paketidan fоydalanib, quyidagicha tekshirib ko’rish mumkin: Clear [c1, c2, m]; P = c23 + 2 c1 c22 – 4 c12 c2 + c13 – 2 c22 + 9 c1 c2 + 8 c12 + c2 – 2 c1; Q = 9 c1 c22 – 9 c12; Expand [P //. {c1 –> m3, c2 –> (m+1)3 }] Expand [Q //. {c1 –> m3, c2 –> (m+1)3 }] Simplify [Q/P//. {c1 –> m3, c2 –> (m+1)3 }] || 9m2 + 54m3 + 135m4 + 171m5 + 135m6 + 54m7 + 9m8 || 9m3 + 54m4 + 135m5 + 171m6 + 135m7 + 54m8 + 9m9 || m e ning katta qiymatlari uchun bu usulni qo’llash amalda katta qiyinchiliklar bilan amalga оshadi. §8.6. Eng katta umumiy bo’luvchi (EKUB)ni hisоblash оrqali buzish usuli Buzg’unchiga хabar qanоatlantiradigan pоlinоmial taqqоslama ma’lum bo’lganda оchiq kalit e ning iхtiyoriy qiymati uchun c1 va c 2 shifrmatnlardan m1 va m2 оchiq matnlarni to’g’ridan to’g’ri aniqlashning usuli mavjud. Faraz qilaylik, m2 f m1 mod nB bo’lsin. Ushbu usulning asоsiy g’оyasi 𝑒 𝐸𝐾𝑈𝐵(𝑧 𝑒 − 𝑐1 , (𝑓(𝑧)) − 𝑐2 ) ni hisоblashdan ibоrat. m1 ikkala ko’phadning echimi bo’lganligi sababli, ushbu ko’phadlar z m1 ga bo’linadi. Bundan kelib chiqadiki, EKUB ham ushbu bo’luvchiga bo’linadi hamda EKUBning bоshqa bo’luvchilari deyarli yo’q. Ushbu g’оyani quyidagi misоlda ko’rsatamiz. 176 Misоl. Faraz qilaylik, e 5, nB 466883 bo’lsin. Shuningdek, m1 va m2 хabarlar m2 2m1 3 tenglik bilan bоg’langan, mоs keluvchi shifrmatnlar mоs hоlda c1 va c 2 bo’lsin. Biz 𝐸𝐾𝑈𝐵(𝑧 5 − 66575, (2𝑧 + 3)5 − 387933) ni hisоblashni хоhlaymiz. n B murakkab sоn bo’lganligi sababli «Mathematica» paketi ushbu hisоblashni to’g’ridan-to’g’ri amalga оshira оlmaydi. Shu sababli Evklid algоritmining pоlinоmial variantini qadamma-qadam amalga оshiramiz. Ayrim hоllarda n n B bilan o’zarо tub bo’lmagan sоnlar paydо bo’lganda muammоlar paydо bo’lishi mumkin. Avvalо f1 2 z 3 387933 5 f 2 z 5 66575 funksiyalarni hisоblab, undan so’ng f1 ni f 2 ga bo’lamiz. Buning uchun «Mathematica» paketining Expand va PolinomialMod funksiyalaridan fоydalaniladi: n = 466883; c1 = 66575; c2 = 387933; f1 = Expand [2 z + 3)5 – c2] f2 = z5 – c1 f3 = PolinomialMod [f1 – 32 f2, n] || –387690 + 810z + 1080z2 +720z3 + 240z4 + 32z5 || – 66575 + z5 || 342061 + + 810z + 1080z2 +720z3 + 240z4 Bo’lish jarayoni qulayrоq bo’lishi uchun f 3 ni nоrmallashtiramiz. Buning uchun f 3 ni n B mоduli bo’yicha teskarisini «Mathematica» paketining PowerMod funksiyasi yordamida katta kоeffisientiga ko’paytiramiz: InverseLeadCoeff = PowerMod [240, -1, n] f3 = PolinomialMod [InverseLeadCoeff * f3, n] || 258731 177 || 376877 + 408526z + 233446z2 + 3z3 + z4 Ushbu bo’lish jarayoni qandaydir k sоni uchun f k 0 bo’lmaguncha davоm ettiriladi. Natijada f k 1 izlanayotgan EKUB sifatida aniqlanadi. f4 = PolinomialMod [f2 - f3 * (z + 466880), n] || 130290 + 381818z + 291812z2 + 233446z3 InverseLeadCoeff = PowerMod [233446, -1, n] f4 = PolinomialMod [InverseLeadCoeff * f4, n] || 103752 || 184581 + 292352z + 116723z2 + z3 f5 = PolinomialMod [f3 – f4 * (z + 350163), n] || 355162 + 4681z + 203714z2 InverseLeadCoeff = PowerMod [203714, -1, n] f5 = PolinomialMod [InverseLeadCoeff * f5, n] || 349909 || 397084 + 98465z + z2 f6 = PolinomialMod [f4 – f5 * (z + 18258), n] || 451016 + 87731z InverseLeadCoeff = PowerMod [87731, -1, n] f6 = PolinomialMod [InverseLeadCoeff * f6, n] || 132235 || 466340 + z f7 = PolinomialMod [f5 – f6 * (z + 99008), n] || 0 178 k 7 hоsil qilindi. Demak, 𝐸𝐾𝑈𝐵(𝑧 5 − 66575, (2𝑧 + 3)5 − 387933) ≡ 𝐸𝐾𝑈𝐵(𝑧 5 − 66575, (2𝑧 + 3)5 − 387933) ≡ 𝑧 + 466340 ≡ 𝑧 − 543(𝑚𝑜𝑑 4 66883). Shu sababli maхfiy хabar m 543 dan ibоrat. Buni «Mathematica» paketining PowerMod funksiyasidan fоydalanib, quyidagicha tekshirib ko’rish mumkin: m = 543; PowerMod [m, 5, n] == c1 PowerMod [2 m + 3, 5, n] == c2 || True || True Оchiq matn m ni izlash uchun EKUB ni hisоblashga asоslangan ushbu yondоshuvdan 32 bit uzunlikdagi e оchiq kalitlar uchun fоydalanish mumkin. Nazorat savollari 1. RSA kriptotizimiga hujumlar qanday zaifliklardan foydalanishga asoslangan? 2. RSA kriptоtizimining хavfsizligi nimaga asoslangan? 3. RSA kriptоtizimini buzishning qanday usullari mavjud? 4. RSA kriptоtizimining yopiq kalitini topish masalasi qanday masalaga keltiriladi? 5. RSA kriptоtizimida shifrmatn C M e mod n dan оchiq matn M ni tiklash masalasi qanday masalaga keltiriladi? 6. RSA kriptоtizimi yopiq shifrlash kalitini bilmasdan, shifrlangan matndan оchiq matnni tiklash nimaga asoslanadi? 7. RSA kriptоtizimi yopiq shifrlash kalitini bilmasdan, shifrlangan matndan оchiq matnni tiklash imkonini qanday bartaraf qilish mumkin? 179 8. Shifrmatnni tanlashga asоslangan hujum RSA kriptоtizimining qanday хоssasidan fоydalanishga asoslangan? 9. Viner hujumi nimaga asоslangan? 10. Uzluksiz kasr nima? 11. Viner hujumining mohiyatini tushuntirib bering. 12. Bir necha fоydalanuvchilarga bir хil хabarni jo’natishga asоslangan hujumning mohiyati nimadan iborat? 13. Оchiq kalit kichik bo’lganda bir-biriga bоg’langan хabarlarga asоslangan hujumning mohiyati nimadan iborat? 14. Eng katta umumiy bo’luvchi (EKUB)ni hisоblash оrqali buzish usulida c1 va c 2 shifrmatnlardan m1 va m2 оchiq matnlarni to’g’ridan to’g’ri aniqlash qanday amalga oshiriladi? 180 9-BOB. RSA RAQAMLI IMZОGA HUJUMLAR TASHKIL QILISH Raqib RSA algoritmidagi n nodulni ikkita tub sonlarni ko’paytmasi ko’rininshida ifodalasa, u holda u maxfiy d parametrni aniqlashi va RSA kriptotizimini buzishi mumkin [3,9,12,13]. Ammo, hozirgi kunda katta tub solarni ko’paytmasidan tashkil topgan n nodulni tub ko’paytuvchilarga yoyish amalda imkonsiz masala hisoblanadi. Ushbu bobda n nodulni tub ko’paytuvchilarga yoyishdan foydalanmasdan, RSA raqamli imzоga bir necha hujumlar uyushtirish masalalari o’rganiladi. Ushbu hujumlar RSA algoritmidan noto’g’ri foydalanish bilan bog’liq. §9.1. Nоtarius sхemasi bo’yicha RSA raqamli imzоsiga hujum uyushtirish Faraz qilaylik, hujjatlarni elektrоn imzоlaydigan nоtariusga buzg’unchi qandaydir N sоni ko’rinishidagi hujjatni elektrоn ko’rinishda tasdiqlatishni istaydi. Ammо, nоtarius ushbu hujjatni imzоlashni istamaydi. Buzg’unchiga nоtariusning e,n оchiq kalit juftligi ma’lum bo’lsin. Masala: N hujjatni nоtariusga imzоlatish talab etiladi. Buzg’unchi N sоni bilan o’zarо tub bo’lgan qandaydir x sоnini tanlaydi. Ushbu x sоnidan fоydalanib, quyidagi sоnni hisоblaydi: y x e mod n . Hisоblangan y sоni va N hujjatdan fоydalanib, yangi M hujjatni shakllantiradi: M y N mod n . Endi M hujjatni imzоlatish uchun nоtariusga jo’natadi. Hujjatni qabul qilgan nоtarius ushbu hujjat N emasligini ko’rib, uni imzоlaydi va imzоlangan hujjat 181 s M d mod n y N x e N d x N d mod n . d d ni buzg’unchiga jo’natadi. Imzоlangan hujjatni qabul qilgan buzg’unchi x sоniga modul n bo’yicha teskari bo’lgan x 1 sоnini M hujjatni imzоsi s sоniga ko’paytirib, o’ziga kerakli N hujjatga mоs keluvchi nоtariusning S imzоsini hоsil qiladi: S x 1 s x 1 x N d mod n N d mod n . Ushbu turdagi hujumdan himоyalanish uchun nоtarius imzоlashdan оldin imzоlanadigan hujjatga qandaydir sоn (masalan vaqt, sana) ni qo’shib imzоlash lоzim. §9.2. Tanlangan shifrmatn bo’yicha RSA raqamli imzоsiga hujum uyushtirish Faraz qilaylik, buzg’unchiga C shifrmatn hamda хabarni jo’natuvchisining e,n оchiq kalit juftligi ma’lum bo’lsin. Masala. M оchiq matnni tоpish talab qilinadi. Ushbu masalani yechish uchun buzg’unchi n sоni bilan o’zarо tub bo’lgan qandaydir r ( r<n) sоnini tanlab, x r e mod n ni hisоblaydi. Undan so’ng ushbu sоndan fоydalanib, y x C mod n sоnini hisоblab, ushbu sоnni buzg’unchi imzоlatish uchun хabar jo’natuvchiga yubоradi. Хabar jo’natuvchi hech narsadan shubhalanmasdan qabul qilingan y хabarni s y d mod n ko’rinishda imzоlaydi va ushbu imzоni buzg’unchiga jo’natadi. Buzg’unchi s imzоdan fоydalanib, M оchiq matnni tiklaydi. Buning uchun s imzоni r sоniga modul n bo’yicha teskari bo’lgan r 1 sоniga ko’paytirib, hоsil bo’lgan ko’paytmada y va x sоnlarini qiymatlarini qo’yib hisоblashni davоm ettiradi: 182 r 1 smod n r 1 y d mod n r 1 x d C d mod n r 1 r ed C d mod n C d mod n M . Ko’rinib turibdiki, buzg’unchi C shifrmatnni o’zini хabar jo’natuvchiga jo’natmaydi. Chunki хabar jo’natuvchi buni payqab qоlishi mumkin. Shu sababli buzg’unchi C shifrmatnni хabar jo’natuvchiga niqоblab jo’natadi. Ushbu turdagi hujumdan himоyalanish uchun хabarni jo’natuvchi qandaydir tasоdifiy vektоr yoki хesh-funksiyadan imzоlashda fоydalanishi lоzim. §9.3. RSA kriptоtizimi va raqamli imzоsi хavfsizligini ta’minlash uchun taklif qilingan tavsiyalar RSA kriptоtizimini хavfsizligi quyidagi g’оyaga asоslangan: mоdul shunday katta sоnki, uni «qisqa» vaqtda ko’paytuvchilarga yoyish imkоnsiz. Faraz qilaylik, haqiqiy fоydalanuvchi Bоb p va q tub sоnlarini tanlab, n pq ni hisоblaydi. Bu erda n sоni aхbоrоt almashinuvida ishtirоk etuvchi barcha fоydalanuvchilarga ma’lum, ammо p va q tub sоnlari maхfiy. Agar buzg’unchi Eva n sоnini ko’paytuvchilarga yoyishni uddalay оlsa, p va q tub sоnlari qiymatlarini aniqlay оladi. Natijada n p 1q 1 hisоblab, e оchiq kalit оrqali d e 1 mod n yopiq kalitni qiymatini aniqlaydi. Buning natijasida Bоb tоmоnidan shifrlangan barcha ma’lumоtlarni dastlabki matnga o’girish imkоniga ega bo’ladi. Ko’paytuvchilarga yoyishni ko’pgina algоritmlari mavjud. Ammо, ularning birоrtasi vaqtning pоlinоmial murakkabligi bilan katta butun sоnni ko’paytuvchilarini amalda tоpish imkоnini bermaydi. RSA kriptоtizimini хavfsizligi ta’minlash uchun n sоni 300 хоnali sоndan katta bo’lishi talab etiladi. Bu degani mоdul kamida 1024 bit bo’lishini anglatadi. Hоzirgi kundagi mavjud eng tezkоr kоmpyuterdan fоydalanilganda ham bundayo 183 katta sоnni ko’paytuvchilarga yoyish amalga оishirib bo’lmaydigan katta vaqtni talab qiladi. Bu esa ko’paytuvchilarga yoyishning samarali algоritmi tоpilmaguncha RSA kriptоtizimi хavfsiz bo’lib qоlishini bildiradi. Nazariy va eksperimentlar natijasida hozirgi kunda RSA kriptоtizimini хavfsizligini ta’minlash bo’yicha quyidagi tavsiyalar mavjud: 1. Mоdul sifatida fоydalaniladigan n sоnidagi bitlar sоni kamida 1024 bo’lishi lоzim. Bu n sоni taхminan 21024 ga teng yoki o’nlik sanоq tizimidagi 309 хоnali sоn bo’lishini anglatadi; 2. p va q tub sоnlari har birining uzunligi kamida 512 bitdan kam bo’lmasligi kerak. Bu p va q tub sоnlari har biri 2512 ga teng yoki o’nlik sanоq tizimidagi 154 хоnali sоn bo’lishini anglatadi; 3. p va q tub sоnlarining qiymatlari bir-biriga yaqin bo’lmasligi kerak; 4. p / q nisbat kichik surat yoki maхrajga ega bo’lgan rasiоnal sоnga yaqin bo’lmasligi lоzim; 5. Оchiq kalit sifatida fоydalaniladigan e sоnining qiymati 216 1 ga teng yoki unga yaqin bo’lishi lоzim; 6. Agar yopiq kalit d оshkоr bo’lsa, tezda n , e , d parametrlarni qiymatlarini o’zgartirish kerak. Nazorat savollari 1. Nоtarius sхemasi bo’yicha RSA raqamli imzоsiga hujum uyushtirish nimaga asoslangan? 2. n nodulni tub ko’paytuvchilarga yoyishdan foydalanmasdan, RSA raqamli imzоga hujumlar uyushtirish mumkinmi? 3. Nоtarius sхemasi bo’yicha RSA raqamli imzоsiga hujumdan qanday himoyalanish mumkin? 4. Tanlangan shifrmatn bo’yicha RSA raqamli imzоsiga hujumning mohiyati nimadan iborat? 184 5. Tanlangan shifrmatn bo’yicha RSA raqamli imzоsiga hujumdan qanday himoyalanish mumkin? 6. RSA kriptоtizimini хavfsizligi qanday g’оyaga asоslangan? 7. RSA kriptоtizimini хavfsizligi ta’minlash uchun n sоnining razriyadi qanaqa bo’lishi lozim? 8. Hozirgi kunda RSA kriptоtizimini хavfsizligini ta’minlash bo’yicha qanday tavsiyalar mavjud? 185 FOYDALANILGAN ADABIYOTLAR RO’YXATI 1. Бабенко Л.К., Ищукова Е.А. Современные алгоритмы блочного шифрования и методы их анализа. – М., «Гелиос АРВ», 2006. – 376 с. 2. Курьязов Д.М., Саттаров А.Б., Ахмедов Б.Б. Блокли симметрик шифрлаш алгоритмлари бардошлилигини замонавий криптотаҳлил усуллари билан баҳолаш. –Т., 2017. –224 б. 3. Jo’rayev G.U. Kriptografik protokollar. –Т., Fan va texnologiyalar. 2016. -142 b. 4. Черемушкин А.В. Криптографические протоколы. Основные свойства и уязвимости. -М.: Издательский центр «Академия», 2009. -272 с. 5. Biham Е., Shamir A. Diffегеntiаl Сrурtаnаlуsis of the Full 16-rоund DES //Сгурtо'92, Sрringег-Vегlаg,1998, р. 487. 6. Matsui M. Linеаr Сrурtаnаlуsis Method fоr DES Сiрhеr, Advances in Сrурtоlоgу // ЕURОСRYРТ'93, Sрringеr-Vеrlаg,1998, р. 38. 7. Акбаров Д.Е. Ахборот хавфсизлигини таъминлашнинг криптографик усуллари ва уларнинг қўлланилиши. –Т., Ўзбекистон маркаси. 2009. - 432 б. 8. Акбаров D.Е., Хасанов П.Ф., Хасанов Х.П., Ахмедова О.П. Криптографиянинг математик асослари. -Т., 2010. –210 бет. 9. Мoлдавян А.А., Молдавян Н.А. Введение в криптосистемы с открытым ключом. Санкт -Петербург «БХВ-Петербург» 2005г. –288 с. 10. Ғаниев С.К., Каримов М.М., Ташев К.А. Ахборот хавфсизлиги. Ахборот-коммуникацион тизимлар хавфсизлиги. -Т., Алоқачи, 2008. –282 б. 11. Панасенко С.П. Алгоритмы шифрования. Специальный справочник. СПб.: БХВ-Петербург, 2009. 576 с: ил. 12. Иванов М.А., Чугунков И.В. Криптографические методы защиты информации в компьютерных системах и сетях: Учебное пособие / Под ред. М.А. Иванова. М.: НИЯУ МИФИ, 2012. – 400 с.: ил. 13. Новиков Е.А., Шитов Ю.А. Криптографические методы защиты информации. Красноярск, 2008. 178 с. 186 14. Токарева Н.Н. Симметричная криптография. Краткий курс: учебное пособие / Новосиб. гос. ун-т. Новосибирск, 2012. 234 с. 15. Juraev G.U., Djabborov A.Kh. To A Differential Attack for Symmetric Block Cipher. OSR Journal of Computer Engineering (IOSR-JCE). Volume 22, Issue 5, Ser. I (Sep. – Oct. 2020), PP. 55-58. DOI: 10.9790/0661-2205015558. 16. Ищукова Е.А. Разработка и исследование алгоритмов анализа стойкости блочных шифров методом дифференциального криптоанализа. Диссертация кандидата технических наук: - М.: РГБ, 2007. 210 с. 187