ГОСТ IEC 61142—2011
- два блока (L) и (R) взаимно меняются местами (кроме 16-й итерации).
Аналитически это дает, если блок Т (= t,1 tf .....tf4 ). получаемый врезультате i-й итерации, разделен на два
32- битных блока (левый Ц (= t(1
....
tf2 )и правый R((= tj13
.....
tf4)). такие что
Для i от 1до 15:
Для! = 16:
T=L,R-
L, =R<_1.
R,=Lui©f(Ri-T.Kj),
L
l 6
= L
15
©f(R
15
.Ki6).
Rie=Rts-
где ф — сумма по модулю 2 2 («исключающее или») и К, — индивидуальные 48-битные ключи, описанные
ниже (см. В.2.1.3).
Обратная перестановка (IP’1) первичной (IP) применяется к результату 16-й итерации (
6
noKL,
6
R
, 6
=
= tf t f __tf
4
). чтобы получить закодированный блок (см. таблицу В.2).
Т а б л и ц а В.2 — Конечная перестановка (IP*1)
40
8
481656246432
397471555236331
38
6
461454
2 2
6230
375451353
2 1
6129
36444
1 2
52
2 0
6028
35343
1 1
51195927
34
2
42
1 0
50185826
33
1
41 949175725
В.2.1.2 Вычисление функции f (R<_,. К.)
32-битный блок (R^.,) расширяется в48-битныйE(R„,) функцией расширения (Е). Эго расширение состоит
из дублирования определенных битов в блоке (Rj_,). см. таблицу В.3.
Т аб ли ц а
В.З— Выбор битов
32
4
8
1 2
16
2 0
24
28
1 2
3
4
5
5
6
7
8
9
9
1 0 1 1 1 2
13
13 14 15 16 17
17 18 19
2 0 2 1
2 1 2 2
23 24 25
25 26 27 28 29
29 30 31 32
1
99