Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gost ERG.docx
Скачиваний:
3
Добавлен:
21.02.2016
Размер:
217.35 Кб
Скачать

Қазақстан Республикасының Білім және Ғылым министрлігі

Л.Н.Гумилев атындағы Еуразия Ұлттық университеті

"Радиотехника,электроника және телекоммуникациялар" кафедрасы

Физика-техникалық факультеті

Реферат

Тақырыбы: ГОСТ арқылы шифрлеу

Орындаған:

Тексерген: Майлыбаева Г.Ж.

Астана 2015ж

Жоспары:

I.Кіріспе

II.Негізгі бөлім

1.ГОСТ-89 шифрлеуіне жалпы сипаттама

2.ГОСТ-89 арқылы шифрлеу әдісі

III.Қорытынды

Кіріспе

ГОСТ-89-1990 жылы қабылданған кеңестік және ресейлік симметриялық шифрлеу стандарты. Шифрлеу және дешифрлеу кезінде бір ғана кілт пайдаланылады және блоктармен жұмыс жасалынады.Блоктардың өлшемі 64 бит пен 256 бит аралығында болады.

ГОСТ-89 шифрлеуі 1989ж Ресейде блоктық шифрлену ретінде қабылданды.ГОСТ шифрлеуі кілтпен ерекшелінеді.ГОСТ шифрленуінде 256 бит,16 раунд,блоктардың өлшемі 64 бит болады.

ГОСТ-тың артықшылығы:

  • Іске асыру эффективтілігі және де сәйкесінше қазіргі заманғы компьютерлерде тез әрект етушілігі;

  • Жалған ақпараттардан қорғауы және ГОСТ-тың 4 алгоритмінде де бірдей шифрлеу циклінің болуы.

Негізгі қадамның кірісінде 64-биттік деректер блогы N=(N1,N2) анықталады, N1-32-биттік кішкентай бөлігі,ал N2-үлкен 32-биттік бөлігі.Екі бөлігі де жеке 32-биттік сандар ретінде қарастырылады.Сонымен қатар негізгі қадамның кірісіне кілттің сегіз элементінің біреуі келіп түседі.кілттің 32-биттік элементі Х арқылы белгіленеді.Ары қарай мына әрекеттер орындалады:

  • S=N1+X(mod 2 32).

  • S саны 8 бөлікке бөлінеді: S0 S1 S2 S3 S4 S5 S6 S7 әрбіреуі 4 бит.

  • Барлық і үшін 0-ден 7-ге дейін: S1=T(i,Si),бұл жердегі T(a,b) а жолының номері мен b бағанының номерімен алмасу ұяшығын анықтайды.

  • Алдыңғы қадамда 11 битке жылжытқаннан алынған жаңа S саны .

  • S=S xor N2 , xor-терістелген НЕМЕСЕ.

  • N2=N1.

  • N1.=S.

ГОСТ-89 арқылы шифрлеу үшін 64 биттік 8 әріптен құралған сөз аламыз,кілтке 32 биттен құралған сөз аламыз.

Себебі,1- раундты қарастыратын болғандықтан кілтке 4 әріптен құралған сөзді алдық.

Негізгі текст: Кілт:

ERGALIMA ERKA

E 0100 0101 E 0100 0101

R 0101 0010 R 0101 0010

G 0100 0111 K 0100 1011

A 0100 0001 A 0100 0001

L 0100 1100

I 0100 1001

M 0100 1101

A 0100 0001

Оң және сол бөлікке бөлеміз;

L0: 01000101 01010010 01000111 01000001

R0: 01001100 01001001 01001101 01000001

K: 01000101 01010010 01001011 01000001

R0-ді кілт арқылы XOR-лаймыз:

1 01001100

1 01001001

1 01001101

01000001

01000101

1 01010010

1 01001011

1 01000001

0 00001001

00011011

00001110

00000000

Блоктар номері:

4 биттен 8 бөлікке бөлеміз:

8 7 6 5 4 3 2 1

0000 1001 0001 1011 0000 1110 0000 0000

Ондық жүйеге келтіреміз

8 7 6 5 4 3 2 1

0000 1001 0001 1011 0000 1110 0000 0000

0 9 1 11 0 14 0 0

Блоктың реттік номерімен ,ондық жүйедегі номерін қолдана отырып ,S-алмасуын жүргіземіз.Мұндағы 1-8 сандар оның реттік номері,ал 1-15 сандар ондық жүйедегі мәндері.

S-блоктың номері

Мәні

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

1

4

A

9

2

D

8

0

E

6

B

1

C

7

F

5

3

2

E

B

4

C

6

D

F

A

2

3

8

1

0

7

5

9

3

5

8

1

D

A

3

4

2

E

F

C

7

6

0

9

B

4

7

D

A

1

0

8

9

F

E

4

6

C

B

2

5

3

5

6

C

7

1

5

F

D

8

4

A

9

E

0

3

B

2

6

4

B

A

0

7

2

1

D

3

6

8

5

9

C

F

E

7

D

B

4

1

3

F

5

9

0

A

E

7

6

8

2

C

8

1

F

D

0

5

7

A

4

9

2

3

E

6

B

8

C

8

7

6

5

4

3

2

1

0

9

1

11

0

14

0

0

1

10

11

14

7

9

14

4

Бұл сандарды екілік жүйеге келтіреміз:

1

10

11

14

7

9

14

4

0001

1010

1011

1110

0111

1001

1110

0100

Келесі 11-ге орын ауыстырамыз:

00011010 101/11110 01111001 11100100

1111 0011 1100 1111 0010 0000 1101 0101

Кейін, L0мен F(R0,K0) мәндерін XOR-лаймыз:

L0

0100

0101

0101

0010

0100

0111

0100

0001

F(R0,K0)

1111

0011

1100

1111

0010

0000

1101

0101

R1

1011

0110

1001

1101

0110

0111

1001

0100

R1: 10110110 10011101 01100111 10010100

Бұл шыққан нәтижеміз R1 бірінші раундтағы мәні ,ал L1 алғашқы R0-дің мәніне тең болады.

2- раунд

L1: 01001100 01001001 01001101 01000001

R1: 10110110 10011101 01100111 10010100

K: 01000101 01010010 01001011 01000001

R0-ді кілт арқылы XOR-лаймыз:

1 10110110

1 10011101

1 01100111

10010100

01000101

1 01010010

1 01001011

1 01000001

0 11110011

11001111

00101100

11010101

Блоктар номері:

4 биттен 8 бөлікке бөлеміз:

8 7 6 5 4 3 2 1

1111 0011 1100 1111 0010 1100 1101 0101

Ондық жүйеге келтіреміз

8 7 6 5 4 3 2 1

1111 0011 1100 1111 0010 1100 1101 0101

15 3 12 15 2 12 13 9

Блоктың реттік номерімен ,ондық жүйедегі номерін қолдана отырып ,S-алмасуын жүргіземіз.Мұндағы 1-8 сандар оның реттік номері,ал 1-15 сандар ондық жүйедегі мәндері.

S-блоктың номері

Мәні

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

1

4

A

9

2

D

8

0

E

6

B

1

C

7

F

5

3

2

E

B

4

C

6

D

F

A

2

3

8

1

0

7

5

9

3

5

8

1

D

A

3

4

2

E

F

C

7

6

0

9

B

4

7

D

A

1

0

8

9

F

E

4

6

C

B

2

5

3

5

6

C

7

1

5

F

D

8

4

A

9

E

0

3

B

2

6

4

B

A

0

7

2

1

D

3

6

8

5

9

C

F

E

7

D

B

4

1

3

F

5

9

0

A

E

7

6

8

2

C

8

1

F

D

0

5

7

A

4

9

2

3

E

6

B

8

C

8

7

6

5

4

3

2

1

15

3

12

15

2

12

13

9

12

1

9

2

10

6

7

11

Бұл сандарды екілік жүйеге келтіреміз:

12

1

9

2

10

6

7

11

1100

0001

1001

0010

1010

0110

0111

1011

Келесі 11-ге орын ауыстырамыз:

11000001 100/10010 10100110 01111011

1001 0101 0011 0011 1101 1110 0000 1100

Кейін, L1мен F(R1,K) мәндерін XOR-лаймыз

L1

0100

1100

0100

1001

0100

1101

0100

0001

F(R1,K)

1001

0101

0011

0011

1101

1110

0000

1100

R2

1101

1001

0111

1010

1001

0011

0100

1101

R3 : 11011001 01111010 10010011 01001101

3 Раунд

L2: 10110110 10011101 01100111 10010100

R3: 11011001 01111010 10010011 01001101

K: 01000101 01010010 01001011 01000001

R0-ді кілт арқылы XOR-лаймыз:

1 11011001

1 01111010

1 10010011

01001101

01000101

1 01010010

1 01001011

1 01000001

0 10011100

00101000

11011000

00001101

Блоктар номері:

4 биттен 8 бөлікке бөлеміз:

8 7 6 5 4 3 2 1

1001 1100 0010 1000 1101 1000 0000 1101

Ондық жүйеге келтіреміз:

8 7 6 5 4 3 2 1

1001 1100 0010 1000 1101 1000 0000 1101

9 12 2 8 13 8 0 13

Блоктың реттік номерімен ,ондық жүйедегі номерін қолдана отырып ,S-алмасуын жүргіземіз.Мұндағы 1-8 сандар оның реттік номері,ал 1-15 сандар ондық жүйедегі мәндері.

S-блоктың номері

Мәні

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

1

4

A

9

2

D

8

0

E

6

B

1

C

7

F

5

3

2

E

B

4

C

6

D

F

A

2

3

8

1

0

7

5

9

3

5

8

1

D

A

3

4

2

E

F

C

7

6

0

9

B

4

7

D

A

1

0

8

9

F

E

4

6

C

B

2

5

3

5

6

C

7

1

5

F

D

8

4

A

9

E

0

3

B

2

6

4

B

A

0

7

2

1

D

3

6

8

5

9

C

F

E

7

D

B

4

1

3

F

5

9

0

A

E

7

6

8

2

C

8

1

F

D

0

5

7

A

4

9

2

3

E

6

B

8

C

8

7

6

5

4

3

2

1

9

12

2

8

13

8

0

13

2

6

10

4

2

14

14

15

Бұл сандарды екілік жүйеге келтіреміз:

2

6

10

4

2

14

14

15

0010

0110

1010

0100

0010

1110

1110

1111

Келесі 11-ге орын ауыстырамыз:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]