А. Ж. Асамбаев криптография негіздері



Pdf көрінісі
бет6/19
Дата15.03.2017
өлшемі2,01 Mb.
#9839
1   2   3   4   5   6   7   8   9   ...   19

Сурет 3.1. Симметриялық шифрлаудың блокты алгоритмының құрылымы 
 
Блокты  шифрлау  алгоритмдар  екілік  деректерге  қолданылады.  Жалпы  жағдайда 
блокты шифрлаудың процедурасы ашық мәтіннің n-битты блогын шифрланған мәтіннің k-
битты блогына түрлендіреді. n ұзындығы бар блоктар саны тең 2
n
. Түрлендіру қайтымды 
болу  үшін,  осындай  блоктардың  әрбіреуі  өз  бірегей  шифрланған  мәтіннің  блогына 
түрлендірілу  қажет.  Блок  ұзындығы  әрқашан  екінің  дәрежесіне  тең  болып  таңдап 
алынады, мысалы 64, 128, 256 бит.   
 
3.4 Блокты шифрлау алгоритмға қойылатын талаптар 
 
Қазіргі блокты шифрлау алгоритмға қойылатын негізгі талаптарды қарастырайық: 
1.  Алгоритм  беріктіктің  жоғары  деңгейін  қамсыздандыру  қажет  және  бұл  беріктік 
алгоритмның жасырынып сақталуына негізделмеу керек.  
2.  Бастапқы  хабардың  азын-аулақ  өзгертуі  шифрланған  хабардың  елеулі  өзгеруіне 
келтіру керек, бірдей кілтті пайдаланғанда да.  
3.  Таңдаған  мәтін  бойынша  шабуылдарға  алгоритм  ойдағыдай  қарсы  тұру  керек, 
яғни көп жұптарды (шифрланған хабар, шифрланбаған хабар) білгенде де кілтті анықтай 
алмауға. 

 
46 
4. Шифрлау алгоритмы қандай да болса түрлі  талаптарды ұсынатын платформада 
жүзеге  асырылу  болу  керек.  Ең  жылдамды  қосымшалар  үшін  арнайы  аппаратура 
пайдаланылады.  Бұған  қарамастан,  бағдарламалық  жүзеге  асыруы  да  жиі  қолданылады. 
Сондықтан,  алгоритм  әмбебап  микропроцессорларда  тиімді  бағдарламалық  жүзеге 
асыруға  да  мүмкіндік  беру  керек.  Және  де  микроконтроллер  мен  басқа  орта  мөлшерлі 
процессорларда жұмыс істеу керек. 
5.  Алгоритм  микропроцессорларда  тиімді  болатын  қарапайым  операцияларды 
пайдалану  керек,  яғни  шығарылған  немесе,  қосуды,  кестелік  орнына  қоюды,  модулі 
бойынша  көбейтуді.  Айнымалы  ұзындығы  бар  ығысулыр,  бит  бойынша  ауыстырулар 
немесе шартты тасымалдаулар пайдаланбау керек. 
6.  Алгоритм  шифрлау  мен  дешифрлауды  орындауға  арналған  мамандандырылған 
аппаратурада  тиімді  жүзеге  асырылу  керек,  яғни  электронды  құрылғылар  түрінде 
алгоритмның жүзеге асырылуы үнемді болу қажет. 
7.  Шифрлау  алгоритмы  көптеген  қосымшаларда  қолданбалу  керек.  Деректер 
файлдарын  немесе  деректердің  үлкен  ағындарын  шифрлағанда,  кездейсоқ  биттердің 
белгілі  санын  жасаған  кезде  алгоритм  тиімді  болу  керек.  Және  де  оның  бір  жақты  хеш-
функцияны құрастыру  үшін пайдалану мүмкіндігі болу қажет. Хэш-функция  – бұл  еркін 
ұзындығы  бар  жол  үшін  кейбір  бүтін  мәнді  немесе  кейбір  тұрақты  ұзындығы  бар  басқа 
жолды есептейтің математикалық немесе басқа функция. 
8.  Алгоритм  кодты  жазу  үшін  жеңіл  болу  керек,  сонда  бағдарламалық  қателіктер 
мүмкіндігі  азаяды.  Сонымен  бірге  бұл  талдауға  мүмкіндік  береді  және  алгоритмның 
жабығын азайтады.  
9.  Алгоритм  қажетті  ұзындығы  бар  кез  келген  биттер  жолын  мүмкін  кілт  ретінде 
пайдалануға  рұқсат  беру  керек  (бұл  кілттердің  жазық  кеңістігі  деп  аталады). 
Криптоталдауды оңайлататың «осал» кілттер болмау керек. 
10.  Алгоритм  түрлі  қауіпсіздік деңгейлері үшін  түрін оңай өзгерте алу керек  және 
минимал мен максимал талаптарға қанағаттандырылу болу қажет. 
 
3.5 Фейштель желісі 
 
3.1 суретте блокты шифрлау алгоритмның жалпы құрылымы келтірілген болатын. 
Деректердің  түрлендіруі  раундта  немесе  шифрлау  қадамдарында  жасалынатыны  әрине 
түсінікті.  Барлық  алгоритмды  орындаған  кезде  сенімді  шифрланған  деректерді  алу  үшін 
бір раундта қандай іс-әрекеттер жасау керек?  
Блокты шифрдың құрастыру принциптерін зерттеуге үлкен үлес американ ғалымы 
Х.Фейштель  (Horst  Feistel)  қосты.  Ол,  мысалы,  IBM  фирманың  шифрлау  жүйесін 
«Люцифер»  құрастыруына  қатысқан  болатын.  Фейштель,  қазір  Фейштель  желісі  деп 
аталатын,  құрылымды  ұсынды.  Фейштель  желілері  кең  таралған,  өйткені  бір  жағынан 
олар  симметриялық  шифрлауға  қойылатын  барлық  талаптарға  қанағаттандырылады,  ад 
екінші жағынан жеткілікті қарапайым және пайдалануда ыңғайлы.  
Фейштель желі  бойынша ұйымдастырылған  раундтың келесі  құрылымы бар. Кіру 
блогы  бірнеше  бірдей  ұзындығы  бар  бөлшектерге  бөлінеді.  Бұл  бөлшектер  бұтақ  деп 
аталады. Мысалы, блок ұзындығы 64 бит болса, 32 битты екі бұтақ пайдаланады. Бұтақтар 
жеке  өңделеді,  сосын  барлық  бұтақтарды  солға  қарай  циклдық  ығыстырады.  Екі  бұтағы 
бар жағдайда әрбір раундтың 3.2 суретте көрсетілгендей құрылымы болады.  
 

 
47 
 
Сурет 3.2. Фейштель желінің i-шы раунды 
 
F функциясы құрастырушы деп аталады. Әрбір раундта бір бұтақ үшін F функция 
есептеледі  және  F  нәтиженің  басқа  бұтақпен  бит  бойлы  «модулі  2  бойынша  қосынды» 
операциясы  орындалады.  Осыдан  кейін  бұтақтар  орындарын  айырбастайды.  Раундтар 
саны  түрлі  алгоритмы  үшін  әртүрлі  болу  мүмкін.  Кейбір  алгоритмда  8  ден  32-ге  дейін 
раунд  ұсынады,  басқаларда  –  одан  артық.  Толығымен  айтқанда,  раундтар  санның  өсуі 
алгоритмның криптоберіктігінің өсуіне әкеледі. Сол себептен Фейштель желісі кең таралу
өйткені криптоберіктікті күшейту үшін тек алгоритмды өзгертпей раундтар саның көбейту 
керек.   
Соңғы  уақытта  көбінесе  128-битты  блоғы  үшін  төрт  бұтақты  Фейштель  желісі 
пайдаланылады. Бұтақтар саның көбейтуі 32-разрядты сөздерге байланысты.   
Фейштель  желі  негізінде  құрастырылған  блокты  алгоритмда  негізгі  операция 
құрастырушы  F  функцияны  есептеу.  Бұл  функция  нәтижені  есептеу  үшін  раундтың 
қосалқы  кілтін  және  кіру  блогының  бір  бұтағын  пайдаланады.  Шифрлау  жүйелері  бір 
бірінен ерекшеленеді F функцияның анықтауымен.  
 
Негізгі ұғымдар 
 
Құрастырылған  (композициялық)  шифр  -  бірнеше  қатарынан  пайдаланған 
қарапайым  шифрлардың  комбинациясы  нәтижесінде  деректердің  криптографиялық 
түрлендіруі.  
Кілт – хабарларды шифрлауға және ашып оқуға қажетті ақпарат. 
 
Шифр  –  бастапқы  құпиялы  хабарды  қорғау  үшін  оның  алдын  ала  келіскен 
түрлендіру тәсілдерінің жиынтығы. 
 
Жабық  кілті  бар  шифрлау  (симметриялық  шифрлау)  –  деректерді  қайтымды 
түрлендіру  әдістер,  оларда  бірдей  кілт  пайдаланады.  Бұл  кілтті  ақпарат  алмасудың  екі 
жағы да қарсыластан жасырыну түрде сақтау керек.  
 
Сұрақтар 
 
1. Қандай шифр құрастырылған немесе композициялық шифр деп аталады? 
 
2. Блокты шифрлау алгоритмның беріктігіне қандай факторлар әсер етеді? 
 
3. Блокты шифрлау алгоритмда қандай қарапайым операциялар қолданылады? 
 
4. Ағымды шифрлардан блокты шифрлау алгоритмның ерекшелігі неде?  

 
48 
 
5. Шифрлау алгоритмның «раунды» дегенді қалай түсінесіз? 
 
6. Блокты шифрлау алгоритмға қойылатын талаптар қандай? 
 
7.  Неге  блокты  шифрлау  алгоритмда  қарапайым  және  түсінікті  құрылым  болу 
керек? 
 
8. Шифрлау алгоритмның «жоғары криптоберіктігі» талапты қалай түсінесіз? 
 
9. Фейштель желісі деген не? 
 
Жаттығулар 
 
1. Модулі 2 бойынша қосыңыз: 
- екілік сандарды 10101100 мен 11001010; 
- ондық сандарды 15 пен 10; 
- он алтылық сандарды 0В5 пен 37. 
Ескерту: ондық және он алтылық сандарды алдымен екілік түрге айналдыру қажет. 
2. Модулі 2
8
 бойынша қосыңыз: 
- екілік сандарды 10101100 мен 11001010; 
- ондық сандарды 155 пен 100; 
- он алтылық сандарды 0В5 пен 37. 
Ескерту: ондық сандарды алдымен екілік түрге айналдыру қажет. 
3. Циклдық ығысу операцияны орындаңыз: 
- екілік сан 10101100 үшін солға қарай 5 разрядқа; 
- он алтылық сан 9Е үшін оңға қарай 4 разрядқа; 
- он алтылық сан 55 үшін оңға қарай 2 разрядқа; 
Ескерту: он алтылық сандарды алдымен екілік түрге айналдыру қажет. 
4. Кірген хабардың әрбір үш биты келесі ауыстыру кесте арқылы ауыстырылсын:  
Кіру  Шығу 
000 
011 
001 
101 
010 
000 
011 
111 
100 
010 
101 
110 
110 
001 
111 
100 
Бастапқы  хабарды  үш  битты  блоктарға  бөліп,  блок  бойынша  цифрлық  түрде 
берілген келесі хабарларды ауыстырыңыз: 
- 1010 1100 1100
(2)
 
- 2356
(10)
 
- 0В57
(16)
 
Ескерту: ондық және он алтылық сандарды алдымен екілік түрге айналдыру қажет. 
 
 
 
 
 
 
 
 
 
 

 
49 
4 DES 
ЖӘНЕ
 AES 
ШИФРЛАУ АЛГОРИТМДАРЫ
 
 
Жабық кілті бар криптографиялық жүйелердің ең танымалы DES – Data Encryption 
Standard. Бұл жүйе деректерді шифрлау облыста мемлекеттік стандарт статусты ең бірінші 
алған  болатын.  Қәзір  американ  DES  стандарты  өзінің  ресми  статусын  жоғалтсада, 
криптографияны  оқып  үйренгенде  бұл  алгоритмға  назар  аудару  жөн.  Одан  басқа,  бұл 
бөлімде  «екі  еселі  DES»  деген  не,  «ортада  кездесу»  шабуыл  деген  не  және  оны  жою 
тәсілдері түсіндіріледі. Және де АҚШ-ң жаңа блокты шифрдың стандарты туралы Rijndael 
алгоритмы қысқа мәлімет беріледі. 
Бөлім мақсаты: DES шифрлау алгоритмы туралы негізгі мәліметтерді беру. 
 
4.1 Негізгі мәліметтер 
 
Жабық кілті бар криптографиялық жүйелердің ең танымалы DES – Data Encryption 
Standard. Бұл жүйе деректерді шифрлау облыста мемлекеттік стандарт статусты ең бірінші 
алған болатын. Оны ойлап жасаған IBM фирманың мамандары және АҚШ-а іске қосылды 
1977  жылы.  DES  алгоритмы  деректерді  сақтағанда  және  түрлі  есептеуіш  жүйелер 
арасында деректерді беру кезінде; пошталық жүйелерде; электронды сызбалар жүйелерде 
және  коммерциялық  ақпаратпен  электронды  алмасу  кезінде  кең  пайдаланатын.  DES 
стандарты бағдарламалық та аппараттық та жүзеге асырылатын.  
Соңғы  уақытта  бұл  жүйеде  мемлекеттік  стандарт  статусы  болмасада,  ол 
бұрынғыдай кең қолданылады және жабық кілті бар блокты шифрларды оқып үйренгенде 
бұл алгоритмға назар аудару жөн. 
DES алгоритмда кілт ұзындығы 56 бит. Дәл осыған байланысты негізгі проблема - 
DES әртүрлі шабуылдарға шыдай алама? Қандай да болса блокты шифрды бұзуға болады, 
егер  барлық  мүмкін  болатын  кілттер  комбинациясын  іріктеп  алатын  болсақ.  Кілт 
ұзындығы 56 бит болғанда мүмкін болатын түрлі кілттердің саны 2
56
. Егер компьютер бір 
секундта 1000000 кілтті (2
20 
жуық) іріктеп алса, онда барлық 2
56 
кілтті ірктеп алу үшін 2
36
 
секунд қажет болады немесе екі мың жылдай.   
Бірақ,  дербес  компьютерден  жылдам  және  қымбат  есептеуіш  жүйелерді  де 
пайдалануға  болады.  Мысалы,  егер  параллель  есептеуді  жүргізу  үшін  миллион 
процессорды  біріктіретің  болсақ,  онда  кілтті  іріктеп  алу  үшін  18  сағат  ғана  қажет. 
Сондықтан,  криптоталдаушының  қолында  осындай  қымбат  техника  болса,  DES  пен 
шифрланған деректерді жеткілікті уақытта ашып оқуға қиын емес. 
Сонымен,  DES  жүйесін  аса  үлкен  емес  және  аса  бағалы  емес  қосымшаларда 
деректерді  шифрлау  үшін  пайдалануға  болады.  Мемлекеттік  маңыздылығы  бар  немесе 
үлкен  коммерциялық  бағасы  бар  деректерді  шифрлау  үшін  DES  жүйесі  қазір 
пайдаланбайды.  2001  жылы  АҚШ-та  блокты  шифрдың  жаңа  стандарты  қабылданды,  ол 
AES  (Advanced  Encryption  Standard)  деп  аталады.  Оның  негізінде  бельгия  мамандары 
жасаған Rijndael шифры жатыр. 
DES-ң негізгі параметрі: блок өлшемі 64 бит, кілт ұзындығы 56 бит, раунд саны  – 
16.  DES  бұл  екі  бұтағы  бар  классикалық  Фейштель  желісі.  Алгоритм  бірнеше  раундта 
деректердің  64-битты  кіру  блогын  64-битты  шығу  блокка  түрлендіреді.  DES  стандарты 
орын  ауыстыруды,  алмастыруды  және  гаммалауды  араластырып  пайдаланады. 
Шифрланатын деректер екілік түрде болу керек.     
 
Шифрлау  
DES-ң жалпы құрылымы 4.1 суретте көрсетілген. Бастапқы мәліметтердің әрбір 64-
битты блоктын шифрлау процесін үш кезеңге бөлуге болады: 
1. деректер блогын дайындау; 
2. «негізгі циклдың» 16 раунды; 
3. деректер блогының соңғы өңдеуі. 

 
50 
Бірінші кезеңде бастапқы мәтіннің 64-битты блогының бастапқы орын ауыстыруы 
орындалады, сол кезде биттер белгілі түрде қайтала реттеледі.  
 
 
 
Сурет 4.1. DES-ң жалпы схемасы 
 
Келесі  (негізгі)  кезеңде  блок  екі  бөлшекке  (бұтаққа)  бөлінеді,  әрбіреуі  32  бит.  Оң 
жақ  бұтағы  кейбір  F  функцияны  және  сәйкес  жарым-жарты  кілтті  пайдаланып 
түрлендіріледі.  Жарым-жарты  кілт  шифрлаудың  негізгі  кілтінен  арнайы  алгоритмы 
бойынша  алынады.  Сосын  блоктың  сол  жақ  пен  оң  жақ  бұтақтарымен  деректер 
алмастырылады. Бұл циклда 16 рет қайталанады. 
Ақырында,  үшінші  кезеңде  негізгі  циклдың  он  алты  қадамынан  кейін  алынған 
нәтиженің  орыны  ауыстыралады.  Бұл  орын  ауыстыру  бастапқы  орын  ауыстыруға  кері 
болады.  
DES стандарты бойынша криптографиялық түрлендірудің барлық кезеңдерін толық 
қарап шығайық. 
Бірінші кезеңде бастапқы деректердің 64-битты блогы бастапқы орын ауыстыруға 
душар етеді. Әдебиетте осы операцияны кейде «ағарту» - whitening деп атайды. Бастапқы  
орын ауыстыруда деректер блогының биты белгілі түрде қайтала реттеледі. Бұл операция 
бастапқы  хабарға  кейбір  «ретсіздік»  береді,  сонымен  статистикалық  әдісі  арқылы 
криптоталдаудың пайдалану мүмкіндігін азайтады.  
Деректер блоктың бастапқы орын ауыстыруы мен бірге кілттің 56 битын бастапқы 
орын  ауыстыруы  орындалады.  4.1  суреттен  көрініп  тұр,  әрбір  раундта  сәйкес  48-битты 
жарым-жарты  кілт  K
i
  пайдаланады.  K
i
  кілттер  нақты  алгоритм  арқылы  бастапқы  кілттің 
әрбір битын бірнеше рет пайдалана отырып алынады. Әрбір раундта 56-битты кілт екі 28-
битты жартыға бөлінеді. Сосын жартылар солға қарай раунд нөміріне байланысты бір не 
екі битқа ығысады. Ығысудан кейін белгілі бір түрде 56 биттан 48 таңдап алынады.  Осы 

 
51 
кезде биттың бағынынқы көптігі ғана таңдап алынбай олардың реті де өзгереді, сондықтан 
бұл  операция  «сығуымен  бірге  орын  ауыстыру»  деп  аталады.  Оның  нәтижесі  48  биттен 
тұратын  жиынтық.  Орта  есеппен  бастапқы  56-битты  кілттің  әрбір  биты  16  қосалқы 
кілттерден 14-де пайдаланады.  
Онан  әрі  түрлендірудің  негізгі  циклы  орындалады.  Ол  Фейштель  желі  бойынша 
ұйымдастырылған  және  16  бірдей  раундтан  тұрады.  Бұл  кезде  әрбір  раундта  (сур.  4.2) 
аралық 64-битты мән пайда болады, ол сосын келесі раундта өңделеді.  
Әрбір  аралық  мәннің  сол  жақ  және  оң  жақ  бұтағы  жеке  32-битты  мәні  секілді 
өңделеді, олар белгіленген L және R
Алдымен,  орын  ауыстыруды  және  16  битке  кеңейтуді  анықтайтын  кестені 
пайдаланып,  R
i
  блоктың  оң  жағы  48  битке  дейін  кеңейтіледі.  XOR  операцияны  орындау 
үшін  бұл  операция  оң  жақ  бөліктің  мөлшерін  кілт  мөлшеріне  сәйкестіреді.  Одан  басқа, 
осы  операцияның  орындауынан  бастапқы  деректер  мен  кілттің  биттерінен  нәтиженің 
барлық биттерінің тәуелділігі тез күшейеді (бұл «көшкін эффектісі» деп аталады).  
 
 
 
Сурет 4.2. DES-ң бір раундтың құрылымы 
 
Алынған  48-битты  мәні  үшін  кеңейюімен  бірге  орын  ауыстыруды  орындағаннан 
кейін,  48-битты  қосалқы  кілтпен  K
i
  XOR  операциясы  орындалады.  Сосын  алынған  48-
битты  мәні  ауыстыру  блоктың  S  (ағыл.  Substitution  –  ауыстыру,  орнына  қою)  кіруіне 
беріледі,  нәтижесінде  32-битты  мән  алынады.  Ауыстыру  сегіз  ауыстыру  блокта  немесе 
сегіз  S-блокта  (S-boxes)  жасалынады.  Осы  операция  орындалғанда  деректердің  48  биты 

 
52 
сегіз  6-битты  қосалқы  блокқа  бөлінеді,  олардың  әрбіреуі  төрт  битпен  ауыстырылады.  S-
блок  көмегімен  ауыстыру  DES-ң  ең  маңызды  кезеңі  болып  табылады.  Осы  операцияға 
максимал қауіпсіздігін қамтамасыз ету үшін ауыстыру кестелері арнайы жобаланған. Бұл 
кезеңнің нәтижесінде сегіз 4-битты блок пайда болады, олар қайтадан бірыңғай 32-битты 
мәніне бірлеседі.  
Әрі  қарай  32-битты  мән  Р  орын  ауыстыру  (ағыл.  Permutation  –  орын  ауыстыру), 
көмегімен  өңделеді,  ол  пайдаланатың  кілтке  тәуелді  болмайды.  Орын  ауыстырудың 
мақсаты  -  келесі  шифрлау  раундта  әрбір  бит  басқа  S-блокпен  өңделсін  деп  биттерді 
максимал қайта реттеуі.  
Ақырында, орын ауыстыру нәтижесі  XOR операция көмегімен бастапқы 64-битты 
деректер блоктың сол жақ жартысымен бірлеседі. Сосын сол жақ және оң жақ жартылары 
орнымен алмасады, және келесі раунд басталады. 
Он алты шифрлау раундтан кейін нәтиженің соңғы орын ауыстыруы орындалады. 
Бұл орын ауыстыру бастапқы орын ауыстыруға инверсты (кері). 
Барлық  көрсетілген  қадамдарды  орындағаннан  кейін  деректер  блогы  толық 
шифрланған деп есептеледі және бастапқы хабардың келесі блогын шифрлауға болады. 
 Сонымен,  қағаздағы  DES-ң  жай  бейнелеуі  ғана  күрделі  болып  көрінеді,  ал  оның 
бағдарламалық жүзеге асыруы одан да қиын! 
 
Дешифрлау (ашып оқу) 
Криптографиялық жүйе хабарларды шифрлау мен бірге дешифрлауға да мүмкіндік 
беру  керек.  DES  бойынша  ашып  оқу  процесі  өте  шиеленген  деп  күтуге  болар  еді.  Бірақ 
құрастырушылар шифрлау мен дешифрлау үшін бірдей алгоритмды пайдаланады. Ашып 
оқу  кезінде  алгоритмның  кіруіне  шифрланған  мәтін  беріледі.  Бір  ғана  айырмашылық 
жарым-жарты кілттерді K
i
  кері  ретпен пайдалану.  K
16
  бірінші  раундта пайдаланады,  K
1
  – 
соңғы раундта. 
Ашып  оқудың  соңғы  раундынан  кейін  шығудың  екі  жартысы  орындарымен 
алмасады,  аяқтау  орын  ауыстырудың  кіруі  R
16
  мен  L
16 
құрастырған  болатындай.  Бұл 
сатының шығуы ашық мәтін. 
 
4.2 Екі еселі DES және «ортада кездесу» шабуыл 
 
Қазіргі  уақытта  DES-ң  негізгі  кемшілігі  кілттің  кішкене  ұзындығы. 
Криптоталдауды күрделендірудің ең қарапайым тәсілі әртүрлі кілттермен бірдей алгоритм 
көмегімен екі еселі шифрлауды пайдалану.  
Егер  М  –  хабар,  К
1
,  К
2
  –  кілт,  f  –  DES  бойынша  шифрлау  процесі,  ал  Е  – 
шифрланған хабар болса, онда жазуға болады 
E = f(f(M,K)), 
яғни  алдымен  блок  бір  кілтпен  шифрланады,  сосын  алынған  шифрмәтін  екінші  кілтпен 
шифрланады.  
Дешифрлау кері ретпен жүргізіледі (f 
-1
 – DES бойынша ашып оқу): 
E = f
-1
(f
-1
(E,K
2
),K
1

Бұл жағдайда кілт ұзындығы тең 56 2 = 112 бит, сондықтан блокты шифрлаған екі 
есе кілтті табу үшін жалпы 2
112 
әрекет қажет болады. 
Осы  проблеманы  зерттеп  американ  ғалымдары  Меркл  мен  Хеллман  ашық  мәтін 
арқылы шабуылдың тәсілін ойлап тапты, оған 2
112 
емес 2
57
 әрекет қажет. 
Шабуылдың  бұл  варианты  «ортада  кездесу»  деп  аталады.  Ол  алгоритмның  келесі 
қасиетіне негізделген. Бізде болсын  
E = f(f(M,K
1
),K
2

мұндағы М – хабар, К
1
К
2
 – кілт, f – DES бойынша шифрлау процесі, ал Е – шифрланған 
хабар. 
Онда  X = f(MK
1
) = f
 -1
(EK
2
). 

 
53 
Шабуылдың  маңызы  мынада.  Шабуыл  жасаушы  бірнеше  «ашық  мәтін  –  оған 
сәйкес шифрланған мәтін» жұптарды (ME) білу керек. Мұнда алдымен барлық 2
56 
мүмкін 
болатын  K

мәні  үшін  М  шифрланады.  Осы  нәтиже  ЭЕМ-ң  жадында  сақталынады. 
Сақталынған  мәліметтер  Х  мәні  бойынша  реттеледі.  Келесі  қадам  -  барлық  2
56 
мүмкін 
болатын K

мәнің қолданып Е-ны дешифрлау. Әрбір орындалған дешифрлау үшін бірінші 
кестеден оған тең мән ізделінеді. Егер осындай мән табылса, онда бұл кілттер дұрыс деп 
есептеледі, сосын олар келесі белгілі жұпта тексеріледі. Шифрлаудың максимал әрекеттер 
саны тең 2 2
n
, немесе 2
n+1
 (мұнда n – әрбір шифрлау кезеңдегі кілт ұзындығы; DES үшін n 
тең 56). 
«Ортада  кездесу»  деп  қойылған  аттың  себебі:  бір  жағынан  шифрлау  орындалады, 
екінші жағынан – дешифрлау, және ортада алынған нәтижелер салыстырылады.  
«Ортада  кездесу»  шабуылды  өткізу  үшін  жадтын  үлкен  көлемі  қажет:  2
n
  блок 
(мұнда n – кілт ұзындығы). 56-битты кілтті пайдаланатын DES үшін 2
56 
64-разрядты жад 
блогы  қажет  болады.  Бұл  2
62
  байт  немесе  2
22
  Тбайт.  Осыған  қарамастан,  екі  еселі  DES 
ешқашан пайдаланбады.  
 
4.3 Үш еселі DES 
 
«Ортада  кездесу»  шабуылға  қарсы  әрекет  жасау  мақсатымен  екі  кілтпен  үш  еселі 
шифрлауды ұсынды (сур. 4.3). 
 
 
Сурет 4.3. Екі кілтпен үш еселі DES шифрлауы 
 
Бұл  жағдайда  шифрлау-дешифрлау-шифрлау  тізбегі  орындалады  (EDE  –  ағыл. 
Encrypt - Decrypt - Encrypt). Осы процесті былай көрсетуге болады: 
E = f(f
-1
(f(M,K
1
),K
2
),K
1

Жіберуші  алдымен  хабарды  бірінші  кілтпен  шифрлайды,  сосын  екінші  кілтпен 
дешифрлайды  және  ақырында,  біржолата  біріншімен  шифрлайды.  Алушы  алдымен 
бірінші  кілтпен  дешифрлайды,  сосын  екінші  кілтпен  шифрлайды  және  қайтадан 
біріншімен дешифрлайды. Осында кілт ұзындығы екі есе өседі және 112 бит болады. 
Оған сенімдірек  балама ретінде әрбір  кезеңде үш әртүрлі кілтті  пайдаланатын үш 
еселі  шифрлау  әдісі  ұсынылады.  Осындай  әдісте  кілттің  жалпы  ұзындығы  өседі 
(112+56=168), сонда бірнеше жүздеген битты сақтау әдетте қиын емес.  
Үш  еселі  DES  кең  тараған  балама  болып  саналады  және  кілтті  басқаруда  ANSI 
X9.17,  ISO  8732  және  ISO  8732  стандарттарда  пайдаланады.  Кейбір  криптоталдаушылар 
одан  ары  сенімді  шифрлау  үшін  үш  немесе  бес  кілтпен  бес  еселі  DES-ң  пайдалануын 
ұсынады. 
 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   19




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет