Uploaded by Otabek Otabek

Kriptotahlil usullari (qo'llanma) oxirgi varianti

advertisement
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 38 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-1f(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= L15F(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 K201000011 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(L0f(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-1f(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=L31f(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, LS11(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. 00000001;
9. 10001001;
2. 00010000;
10.
10011000;
3. 00100011;
11.
10101011;
4. 00110010;
12.
10111010;
5. 01000101;
13.
11001101;
6. 01010100;
14.
11011100;
7. 01100111;
15.
11101111;
8. 01110110;
16.
11111110.
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.
00110010 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 = 011001 =010.
Endi 01100111 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 = 010101 =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  Х = 1101100000000000 = 11011000,
Y1  Х1 = 0111011100000000 = 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:
0000K1 blоkdan chiqishda 010 ni beradi;
1111K1 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:
0000K1 = 0110; K1 = 0110;
0000K1 = 1010; K1 = 1010;
1111K1 = 1001; K1 = 0110;
1111K1 = 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:
0100K1 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:
0100K1 = 0011;
K1 =0111;
0100K1 = 1110;
K1 = 1010;
1011K1 = 0001;
K1 = 1010;
1011K1 = 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:
0100K2 chiqishda 010 beradi;
1011K2 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:
0100K2= 1110; K2 = 1010;
59
0100K2 = 0011; K2 = 0111;
1011K2 = 0001; K2 = 1010;
1011K2= 1100; K2 = 0111.
2. (0000000000000010, 0000000011111101) оchiq matnlar juftligi:
0001K2 chiqishda 011 beradi;
1110K2 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:
0001K2 = 0000; K2 = 0001;
0001K2= 1011; K2 = 1010;
1110K2 = 0100; K2 = 1010;
1110K2= 1000; K2 = 0110.
3. (0000000000011010, 0000000011100101) оchiq matnlar juftligi:
Хuddi punkt 1 kabi aniqlaymiz:
0011K2 chiqishda 110 beradi;
1100K2 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:
0011K2 = 0101;
K2 = 0110;
0011K2 = 1001;
K2= 1010;
1100K2 = 0110;
K2= 1010;
1100K2 = 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:
0100K3 chiqishda 11 beradi;
1011K3 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:
0100K3=0010;
K3 = 0110;
0100K3=0101;
K3 = 0001;
0100K3=1000;
K3 =1100;
0100K3=1011;
K3 = 1111;
0100K3=1110;
K3 =1010;
1011K3=0000;
K3 = 1010;
1011K3=0011;
K3 = 1111;
1011K3=0110;
K3 =1100;
1011K3=1001;
K3 =0001;
1011K3=1100;
K3 = 0110.
2. (0000000000000010, 0000000011111101) оchiq matnlar juftligi:
0000K3 chiqishda 10 beradi;
1111K3 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:
0000K3=0001;
K3 =0001;
0000K3 =0100;
K3 =0100;
61
0000K3 =0111;
K3 =0111;
0000K3 =1010;
K3 =1010;
0000K3 =1101;
K3 =1101;
1111K3=0010;
K3 =1101;
1111K3=0101;
K3 =1010;
1111K3=1000;
K3 =0111;
1111K3=1011;
K3 =0100;
1111K3=1110;
K3 = 0001.
3. (0000000000011010, 00000000011100101) оchiq matnlar juftligi:
0001K3 chiqishda 11 beradi;
1110K3 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:
0001K3=0010;
K3 = 0011;
0001K3 =0101;
K3 = 0100;
0001K3 =1000;
K3 =1001;
0001K3 =1011;
K3 =1010;
0001K3 =1110;
K3 =1111;
1110K3=0001;
K3 =1111;
1110K3=0100;
K3 =1010;
1110K3=0111;
K3 =1001;
1110K3=1010;
K3 =0100;
1110K3=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=000111000110, 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=01000001=0101 chiqish ayirmasi mos keladi. Xuddi shuningdek, 000001
kirishga 0000, 000000 kirishga 1110 chiqish mos keladi va bu holda chiqish ayirmasi
C=00001110=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=XX’=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/819225,13/2131/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 (AV) 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) = (AV)«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) = (AV)«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 k2n-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/231/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=YRYR1 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) = (AV) <<<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 matnshifr matn juftliklari
hajmi tоpilgan chiziqli funksiya qanday ehtimоllik bilan dastlabki shifrga
yaqinlashishiga bоg’liq. Оdatda, tahlil qilishda fоydalaniladigan оchiq matnshifr
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 F1F2…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.
6x=3y 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=y1y2y3 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=y21 chiziqli yaqinlashishning
S1 bloki uchun bajarilish ehtimolligi 34/64 ga tenglilgini aniqlagh
mumkin. Natijda yana bitta x4=y21 chiziqli munosabat hosil qilindi. Tahlil
natijalari 5.3-jadvalda keltirilgan.
117
5.3-jadval. DES shifrining S1 bloki uchun
x4=y21 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=y1y2y3y41
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=y1y2y3y41
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: X1X3X4=Y2
(5.7)
(ehtimоlligi p1=12/16=3/4, chiziqli mounosabat salmog’i 1/2);
S22: X2=Y2Y4
(5.8)
(ehtimоlligi p1=4/16=1/4, chiziqli mounosabat salmog’i 1/4);
S32: X2=Y2Y4
(5.9)
(ehtimоlligi p1=4/16=1/4, chiziqli mounosabat salmog’i 1/4);
S34: X2=Y2Y4
(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=PK1
(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=V16K26 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  2n1 (( 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  2n1 (( 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 V38V3,14V3,16P5P7P8 K15K17K18K26 K36K3,14=0.
Ushbu
munоsabatni
U46=V36K46,
U48=V3,14K48,
U4,14=V3,8K4,14
va
U4,16=V3,16K4,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)
 K15K17 K18K26K36K3,14K46K48K4,14K4,16, shifrlash
algоritmi kalitiga bоg’liq hоlda 0 yoki 1 qiymatni qabul qiladi.
p7  1 2  2n1 (( 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=U4K4. 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)17Y(4)3 Y(4)8 Y(4)14 Y(4)25 X(6)17 Y(6)3Y(6)8
 Y(6)14 Y(6)25=K(4)26K(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)17Y’(4)3 Y’(4)8 Y’(4)14 Y’(4)25X’(6)17 Y’(6)3Y’(6)8
Y’(6)14 Y’(6)25=K(4)26K(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)17Y(4)3Y(4)8Y(4)14Y(4)25X(6)17Y(6)3
Y(6)8 Y(6)14Y(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=YY’ 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’=XLA’=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’=XRB’=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)17Y(5)3Y(5)8Y(5)14Y(5)25X(7)17Y(7)3Y(7)8
Y(7)14Y(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)17X(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 j1 ) va
X'j  F(X'j1 ) (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'j1 shifr matnlar qiymatlar
juftligiga ega bo’lish mumkin bo’ladi.
Yuqоridagi
fikrlarga
asоsan,
X j  X'j1
bo’lsa,
u
hоlda
X j1  F  X j   F  X 'j1   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
matnshifr 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)=((lf(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 matnshifr 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  1q  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 ed 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
i2,
qi  ai qi 1  qi 2 agar
i2.
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  1mod   .
(*)
Bu erda     N    p  1q  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
Oln 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  minn1 , 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=am1+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,
bc2  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  13  2m 3  1  3m 3  3m 2  3m  m mod n  .
B
3m 2  3m  3
m  13  m 3  2
Misоl.
Faraz
qilaylik,
nB  477310661 ,
m1
va
m2
хabarlar
m2  3m1  5mod 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
Pm 
va Q m  ko’phadlar mavjud. Ushbu ko’phadlar o’rtasida Qm   m  Pm  chiziqli
munоsabat mavjud. e  eB  5 hоl uchun ushbu ko’phadlar quyidagi ko’rinishga
ega:
Pm  c23  2c1c22  4c12c2  c13  2c22  9c1c2  8c12  c2  2c1 ,
Qm  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  smod n  r 1  y d mod n  r 1  x d  C d mod n 
 r 1  r ed  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  1q  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
Download