Қазақстан республикасы білім және ғылым министрлігі павлодар мемлекеттік педагогикалық институты



жүктеу 5,01 Kb.
Pdf просмотр
бет17/59
Дата05.03.2018
өлшемі5,01 Kb.
#11345
1   ...   13   14   15   16   17   18   19   20   ...   59

 
44 
 
Осыған ұқсас оңға қарай циклдық ығысу да орындалады. Мысалы, 3 разрядқа оңға 
қарай  ығысуда  бастапқы  санның  нөлдік,  бірінші  және  екінші  биттері  разрядты  тордан 
шығып  кетеді  және  жадында  сақталады,  қалған  барлық  биттер  оңға  қарай  3  позицияға 
жылжыйды,  сосын  жадтағы  цифрлер  он  үшінші,  он  төртінші  және  он  бесінші  орынға 
жазылады. 
 
 
Кестелік  орнына  қоюды  орындаған  кезде  бит  тобы  басқа  биттер  тобына 
қайтарылады.  Бұл  операцияда  екілік  деректердің  бір  блогы  белгілі  ереже  немесе  кесте 
бойынша басқа блокпен ауыстырылады. Мысалы, үш екілік цифрдан тұратын әрбір топты 
басқа үш цифрдан тұратын топқа ауыстыруға болады мына кесте бойынша: 
 
Кіру  Шығу 
000 
011 
001 
101 
010 
000 
011 
111 
100 
010 
101 
110 
110 
001 
111 
100 
 
Егер «Кіру» және «Шығу» бағандағы әрбір мәнің екілік емес, ондық түрде жазатын 
болсақ, онда осы ауыстыру кестесін қысқаша жазуға болады, мысалы былай:   
0->3, 1->5, 2->0, 3->7, 4->2, 5->6, 6->1, 7->4 
Осындай жазудағы бірінші цифр кірудегі мәнің көрсетеді, ал екіншісі – шығудағы. 
Егер кіру  мәндері  өсу  бойынша реттелсе, онда бірінші цифрды жазбай, тек сәйкес шығу 
мәндерін жазуға болады:   


 
45 
3, 5, 0, 7, 2, 6, 1, 4. 
Яғни  3-битты  блоктың  мәні  үшін  ауыстыру  ретінде  ауыстыру  кестеден  реттік 
нөмірі ауыстырылатын блоктың мәніне тең болатын элемент таңдап алынады. 
Егер төрт екілік цифрдан тұратын топтарды ауыстыру қажет болса, онда ауыстыру 
кестеде 16 мәні болу керек. Жалпы жағдайда n-битты блоктар үшін ауыстыру кестеде  2
n
 
элемент болу керек.  
Кестелік  орнына  қоюды  әдебиетте  кейде  S-блокты  немесе  S-box  пайдалануымен 
ауыстыру деп атайды (әрпі ағылшын сөзден substitution – ауыстыру алынған ).  
Орын  ауыстыру  операция  көмегімен  хабардың  биттері  қайталап  реттеледі.  Орын 
ауыстыруды тағы permutation немесе P-блогы деп атайды.  
 
3.3 Симметриялық шифрлаудың блокты алгоритмының құрылымы 
 
Сонымен, симметриялық шифрлау алгоритмда жиі пайдаланады модулі 2 бойынша 
қосу, модулі 2
16
 немесе 2
32
 бойынша қосу, циклдық ығысу, орнына қою (ауыстыру) және 
орын ауыстыру операциялар. 
Бұл операциялар алгоритмда рет циклдық қайталанып, раунд немесе қадамдарды 
құрады. Әрбір раунд үшін бастапқы мәліметтер: бұрынғы раундтың шығуы және  белгілі 
алгоритмы бойынша ортақ шифрлау кілттен алынған кілті болып табылады. Раунд кілті 
қосалқы  кілт  К
i
  деп  аталады.  Нәтижесінде  блокты  шифрлау  алгоритмы  келесі  түрде 
келтірілу мүмкін (сур. 3.1): 
 
 
Сурет 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 суретте көрсетілгендей құрылымы болады.  
 


жүктеу 5,01 Kb.

Достарыңызбен бөлісу:
1   ...   13   14   15   16   17   18   19   20   ...   59




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау