- •Реферат
- •I 0100 1001
- •0010 0110 101 /0 0100 0010 1110 1110 1111
- •0010 0001 0111 0111 0111 1001 0011 0101
- •4 Раунд
- •1101 0010 1011 1000 0101 0101 1110 0000
- •1101 0010 1011 1000 0101 0101 1110 0000
- •10110100 010/10100 10000011 01010100
- •1010 0100 0001 1010 1010 0101 1010 0010
- •5 Раунд
- •6 Раунд
- •7 Раунд
- •8 Раунд
- •9 Раунд
- •10 Раунд
- •11 Раунд
- •12 Раунд
- •13 Раунд
- •14 Раунд
- •15 Раунд
- •16 Раунд
- •17 Раунд
- •18 Раунд
- •19 Раунд
- •20 Раунд
- •21 Раунд
- •22 Раунд
- •23 Раунд
- •24 Раунд
- •25 Раунд
- •26 Раунд
- •13 1 14 12 1 15 0 8
- •27 Раунд
- •1011 0100 0001 1001 0000 0000 0001 1010
- •1011 0100 0001 1001 0000 0000 0001 1010
- •28 Раунд
- •0000 0010 0100 0001 1001 0000 0001 0101
- •0000 0010 0100 0001 1001 0000 0001 0101
- •29 Раунд
- •30 Раунд
- •31 Раунд
Қазақстан Республикасының Білім және Ғылым министрлігі
Л.Н.Гумилев атындағы Еуразия Ұлттық университеті
"Радиотехника,электроника және телекоммуникациялар" кафедрасы
Физика-техникалық факультеті
Реферат
Тақырыбы: ГОСТ арқылы шифрлеу
Орындаған:
Тексерген: Майлыбаева Г.Ж.
Астана 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-ге орын ауыстырамыз: