ПОӘК 042-18.39.1.206/01-2013
10.09.2013 ж. № 1 басылым
81 беттің 22
i = 5,6,7 болғандағы 8i+1 позицияларына орналасар бит нөмірлері (1) формуласы арқылы
есептеледі. Қалған позицияларға келесі нөмірлі биттер орналасады:
P
8i+j+1
= P
8i+1
– 8j , i = 0.7 , j = 1.8
Ақыры мынадай орын алмастыру кестесін аламыз.
1-кесте. Бастапқы орыналамастыру
58
50
42
34
26
18
10
2
60
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49
41
33
25
17
9
1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
Кілт түрлендіру
a) 64-биттік кілттің әрбір сегізінші биті ескерілмейді. Олар тақтық қасиетін тексеру үшін
қолданылады. Кілттің биттері алдыңғы пункте сипатталған тәсілмен орын алмастырылады.
b) 56 биттік кілт екі тең бөлікке бөлінеді. Раунд нөміріне байланысты кілт бөліктері бір немесе
екі битке солға жылжытылады. 1,2,9,16-шы раундтарда кілт бір битке жылжиды. Қалған
жағдайларда 2 бита жылжиды.
c) 56 биттің 48 таңдап алынады. Бит орналасу реті де өзгертіледі. Бұл операция сығылатын орын
алмастыру деп аталады (2-кестеге қараңыз).
1-сурет. Шифрлау алгоритмінің сүлбесі
Сонымен
әрқайсысының
ұзындығы
48
бит
16
раундтық
кілт
жасалады.
Кіріс блогі (64 bit)
Бастапқы орын
алмастыру
L
i_1
R
i_1
Кеңейту
проц.
S-блок
ауыстыру
Орын алмастыру (P-
блок)
R
i
L
i
Соңғы орын алмастыру
(64 bit)
ПОӘК 042-18.39.1.206/01-2013
10.09.2013 ж. № 1 басылым
81 беттің 23
2-кесте. Сығылатын орын алмастыру
14
17
11
24
1
5
3
28
15
6
21
10
23
19
12
4
16
8
16
7
27
20
13
2
41
52
31
37
47
55
30
40
51
45
33
48
44
49
39
56
34
53
46
42
50
36
29
32
2-сурет. Кілт түрлендіру алгоритмі
Хабарды шифрлау
Демек біз ұзындығы 64 бит бастапқы мәтін және ұзындығы 48 бит кілтке иеміз. Бастапқы
мәтін және ұзындығы 48 бит кілтке иеміз. Бастапқы хабар кілт іспеттес тең екі бөлікке бөлінеді.
Оң бөлік кілт ұзындығына дейін кеңейтіледі. Биттердің орын алу реті де өзгереді (4.3 кестесін
қара). Бұл қадамның негізгі мақсаты - әр шифрмәтін битінің әрбір шифрмәтін және кілт биттеріне
тәуелділігін арттыру.
3-кесте. Кеңейтетін орын алмастыру.
32
1
2
3
4
5
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
Кілт
әр 8-ші битті алып тастау
64 bit
56 bit
Бастапқы орын алмастыру
Жылжыту
Жылжыту
Раундтік кілт К
i
, і = ..16
48 bit
Сығылатын орын
алмастыру
ПОӘК 042-18.39.1.206/01-2013
10.09.2013 ж. № 1 басылым
81 беттің 24
Деректердің оң жағы R
i
және раундтық K
i
үшін қосу операциясы орындалады, яғни R
i
K
i
мәні есептелінеді.
48 бит сегіз 6 биттік блокшаға бөлінеді. Әрқайсысына S-блок деп аталатын кестелердің
көмегімен ауыстыру операциясы қолданылады. DES алгоритмінде S-блоктардың атқаратын
маңызы зор. Алгоритмнің сенімділігін арттыратын осы блоктар. Барлығы 8 S-қолданылады (4.4-
кестесінде көрсетілген). Бастапқы блоктың бірінші және алтыншы битінің конкатенциясы 0-ден
3-ке шейінгі сан құрайды, ол сан кесте жолын анықтайды. Ортасындағы төрт бит
конкатенцияланып 0-ден 15-ке шейінгі сан құрайды, ол сан кесте бағанасын анықтайды. Яғни, 4-
биттік нәтиже сәйкес жолмен бағананың қиылысуында орналасады.
4-кестесі. S-блоктар.
1-ші S-блок:
14
4
13
1
2
15
11
8
3
10
6
12
5
9
0
7
0
15
7
4
14
2
13
1
10
6
12
11
9
5
3
8
4
1
14
8
13
6
2
11
15
12
9
7
3
10
5
0
15
12
8
2
4
9
1
7
5
11
3
14
10
0
6
13
2-ші S-блок:
15
1
8
14
6
11
3
4
9
7
2
13
12
0
5
10
3
13
4
7
15
2
8
14
12
0
1
10
6
9
11
5
0
14
7
11
10
4
13
1
5
8
12
6
9
3
2
15
13
8
10
1
3
15
4
2
11
6
7
12
0
5
14
9
3-ші S-блок:
10
0
9
14
6
3
15
5
1
13
12
7
11
4
2
8
13
7
0
9
3
4
6
10
2
8
5
14
12
11
15
1
13
6
4
9
8
15
3
0
11
1
2
12
5
10
14
7
1
10
13
0
6
9
8
7
4
15
14
3
11
5
2
12
4-ші S-блок:
7
13
14
3
0
6
9
10
1
2
8
5
11
12
4
15
13
8
11
5
6
15
0
3
4
7
2
12
1
10
14
9
10
6
9
0
12
11
7
13
15
1
3
14
5
2
8
4
3
15
0
6
10
1
13
8
9
4
5
11
12
7
2
14
5-ші S-блок:
2
12
4
1
7
10
11
6
8
5
3
15
13
0
14
9
14
11
2
12
4
7
13
1
5
0
15
10
3
9
8
6
4
2
1
11
10
13
7
8
15
9
12
5
6
3
0
14
11
8
12
7
1
14
2
13
6
15
0
9
10
4
5
3
6-ші S-блок:
12
1
10
15
9
2
6
8
0
13
3
4
14
7
5
11
10
15
4
2
7
12
9
5
6
1
13
14
0
11
3
8
9
14
15
5
2
8
12
3
7
0
4
10
1
13
11
6
4
3
2
12
9
5
15
10
11
14
1
7
6
0
8
13