Алгоритмдер және деректер структурасы


ПОӘК 042-18.39.1.206/01-2013



жүктеу 1,17 Mb.
Pdf просмотр
бет12/35
Дата16.05.2018
өлшемі1,17 Mb.
#14053
1   ...   8   9   10   11   12   13   14   15   ...   35

ПОӘК 042-18.39.1.206/01-2013 

10.09.2013 ж.  № 1 басылым  

81 беттің 27 

 

 

Шифрлау  блогы  N



b

үшін  бағана,  ал  кілт  үшін  N

k

  бағана  қолданылады.  N



k

кілт  ұзындығын  32 

бөлгендегі шығатын санға тең. N

b

 блок ұзындығын 32 бөлгендегі шығатын санға тең.  



Раунд саны N

b

 және N сандарына тәуелді (7-кестеге қараңыз). 



7-кесте.  

N



N

b

=4 



N

b

=6 



N

b

=8 



N

10 



12 

14 


N

12 



12 

14 


N

14 



14 

14 


Криптоалгоритмде 

қолданылатын 

операцияларGF(2

8

)өрісіне 



тиісті 

элементтерде 

анықталған. GF(2

8

) өрісінің элементтері болып дәрежесі екілік көпмүшелер саналады. 0 1 0 1 0 1 1 



1 байтына келесі көпмүше сәйкес. 

х

6



4



2

+х+1 


Қосу  амалы  әдеттегідей  көпмүшелерді  қосу  және  ұқсас  мүшелерін  XOR  операциясы 

көмегімен біріктіру арқылы орындалады. 

6



4

2



+х+1) +  (х

7

+х+1) = х



7

+x

6



+x

4

+x



немесе 


01010111+10000011=11010100 

Екі көпмүше үшін көбейту амалын қарастырайық: 

a(x) = a

3

x



3

+a

2



x

2

+a



1

x+a


0

b(x) = b



3

x

3



+b

2

x



2

+b

1



x+b

0



Нәтиже ретінде коэффиценттері келесідей С(х) көпмүшесін аламыз. 

c

0



=a

0

b



0

c



1

=a

1



b



 a

0

b



1

c



2

=a

2



b

0



a

1

b



1  

a



0

b

2



c

3



=a

3

b



a



2

b

1



a

1



b



a

0

b



3

c



4

=a

3



b

1



a

2

b



a



1

b

3



c

5



=a

3

b



 a



2

b

3



c

6



=a

3

b



3

 

Енді  нәтижені  дәрежесі  4-тен  аспайтын  көпмүше  модулі    бойынша  алу  қажет.  Алгоритм 



құрастырушылар келесі көпмүшені ұсынған: 

(х)



х

4



+1; 

Бұл мүше үшін келесі теңдік орындалады. 

x

і

mod 



(x)=x


i mod 4 

Ақыры нәтижеміз 

d(x)=d

3

x



3

+d

2



x

2

+d



1

x

1



+d

0



көпмүшесі болады, мұндағы 

d

0



=a

0

b



0

 a



3

b

1



 a

2



b

2



 a

1

b



3

d



1

=a

1



b

0



 a

0

b



1

 a



3

b

2



 a

2



b

3



d

2

=a



2

b

0



 a

1



b

1



 a

0

b



2

 a



3

b

3



d

3



=a

3

b



0

 a



2

b

1



 a

1



b

2



 a

0

b



3

Ақырлы өрісте кез келген нөлге тең емес z элементі үшін мультипликативный кері элемент 



z

-1

 анықталған және zz



-1

=1 


Өзара кері көпмүшелер мысалы: 

(x

4



+1)(x7+x

5

+x



4

+x

2



)=1 

 

 



Раунд  төрт  түрлендіруден  тұрады:  нәтижелер  массивындағы  байттарды  ауыстыру;  жолдарды 

жылжыту; бағандарды араластыру; раундтық кілтті қосу. 

Раунд сипаттамасы: 

Round(State, RoundKey) 




ПОӘК 042-18.39.1.206/01-2013 

10.09.2013 ж.  № 1 басылым  

81 беттің 28 

 

 



ByteSub(State); 

ShiftRow(State); 

MixClumn(State); 

AddRoundKey(State, RoundKey); 

Соңғы раундта бағаналарды алмастыру операциясы орындалмайды: 



ByteSub(State); 

ShiftRow(State); 

AddRoundKey(State, RoundKey); 

1-ші қадам. Байт ауыстыру 



Әрбір  нәтиже  массивындағы  байттар  үшін  ауыстыру  процедурасы  орындалады.  Ауыстыру 

таблицаларын  келесі  теңдеумен  анықтауға  болады:  S(x)=M(1/x)+b  мұндағы  M  таңдап  алған 

матрица, b – тұрақты вектор. 

2-ші қадам. Жол жылжыту 

Нәтижелер  массивының  1-ші  жолы  жылжымайды.  Келесі  жолдар  Сі,  і

2..4  коэффицентіне  блок 



ұзындығына байланысты. 

8-кесте 


N

b

 



C

C



3

 

C



4

 









3-ші қадам. Бағаналарды алмастыру 



 

Блок  бағаналары  GF(2

8

)өрісіндегі  көпмүшелер  ретінде  қарастырылады.  Көпмүше 



c(x)=’03’x3+’01’x2+’01’x+02’  көпмүшесіне  көбейтіледі,  бұл  операция  келесі  матрицаға 

көбейткенмен тепе-тең: 

02 

03 


01 

01 


01 

02 


03 

01 


01 

01 


02 

03 


03 

01 


01 

02 


4-ші қадам. Раундтік кілтті қосу 

          XOR 

операциясының көмегімен нәтижелер массивы кілтшелер массивына қосылады. 

Кілт жасау алгоритмі. Алдымен кілт кеңейту процедурасы орындалады. Алғашқы N

k

 сөз шифрлау 



кілтінен тұрады. Қалғандары индексі кішіректерінен рекурсия арқылы анықталады. 

Раундтық  кілттер  кеңейтілген  кілттен  келесі  ереже  бойывнша  алынады:  бірінші  раундтық  кілт 

алғашқы N

b

 сөзге тең, екіншісі – келесі N



b

 сөзге т.с.с. 



Ашық  кілтті  криптожүйе.  Ашық  кілтті  криптографияның  негізін  қалаған  Уитфилдом 

Диффи  (Whitfield  Diffie)  және  Мартином  Хеллманом  (Martin  Hellman).  Алдыңғы  азаматтарға 

тәуелсіз  Ральфом  Мерклом  (Ralph  Merkle)  де  ойлап  тапқан.  Симметриялық  криптография  бір 

кілтті қолданса мұнда екі кілт – біріншісі шифрлау үшін, екіншісі дешифрлау үшін қолданылады. 

Сіз  бірінші  кілтті  біле  отырып  екіншісін  біріншісінен  есептеп  таба  алмайсыз.  Диффи  және 

Хеллман бұл идеяны  алғаш рет 1976 жылы ұсынған және «New Directions in Cryptography» атты 

жұмысында жариялаған. 

 

Бүгінгі  таңда  ашық  кілтті    криптография  негізінен  келесі  түрлендірулердің  бірін 



қолданады: 

-  Үлкен сандарды көбейткішке жіктеу; 

-  Ақырлы өрістерде логарифм есептеу; 



жүктеу 1,17 Mb.

Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   35




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

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