Криптографическая защита информации. Яковлев А.В - 76 стр.

UptoLike

Алгоритм вычисления шаговой функции хэширования состоит из трех
частей: генерации четырех 256-битных ключей; шифрующего преобразова-
нияшифрования 64-битных подслов слова Н на ключах K
i
(i = 1, 2, 3, 4) с
использованием алгоритма ГОСT 28147–89 в режиме простой замены; пе-
ремешивающего преобразования результата шифрования.
Генерация ключей. Рассмотрим .)2() ..., , ,(
2561255256
VbbbХ
=
Пусть ,......
11516115161234
ξξξ=ηηη== ххххХ
где
,)2( 4;...,,1 ,)2(
1664
ViVх
ji
η=
32...,,1 ,)2( 16;...,,1
8
=
ξ
=
iVj
k
.
Обозначим
.)()(
23421
хххххХА =
Задается преобразование )2()2(:
256256
VVP слова
132
... ξξ
)1()31()32(
...
ϕϕϕ
ξξξ , где 8....,,1 3,...,,0 ,8))1(41(
=
=
+
=
+
+
ϕ kikiki
Для генерации ключей необходимо использовать следующие исход-
ные данные:
слова Н, М V
256
(2);
константы: слова С
i
(i = 2, 3, 4), имеющие значения С
2
= С
4
= = 0
256
и С
3
= 1
8
0
8
1
16
0
24
1
16
0
8
(0
8
1
8
)
2
1
8
0
8
(0
8
1
8
)
4
(1
8
0
8
)
4
.
При вычислении ключей реализуется следующий алгоритм:
1. Присвоить значения I = 1, U = H, V = M.
2. Выполнить вычисление W = U V, K
1
= P(W).
3. Присвоить i = i + 1.
4. Проверить условие i = 5. При положительном исходе перейти к
шагу 7. При отрицательномперейти к шагу 5.
5. Выполнить .)( , ,))(( ,)( WPKVUWVAAVCUAU
ii
=
=
=
=
6. Перейти к шагу 3.
7. Конец работы алгоритма.
Шифрующее преобразование. На данном этапе осуществляется шиф-
рование 64-битных подслов слова Н на ключах K
i
(i = 1, 2, 3, 4). Для шиф-
рующего преобразования необходимо использовать следующие исходные
данные:
...41 ,)2(,
641234
== iVhhhhhH
i
и набор ключей K
1
K
2
, K
3
, K
4
.
После выполнения шифрования получают слова
)(
iKi
hEs
i
=
, где I =
1, 2, 3, 4, т.е. в результате получается вектор .
1234
ssssS =
Перемешивающее преобразование. На данном этапе осуществляется
перемешивание полученной последовательности с применением регистра
сдвига.
Исходными данными являются слова Н, М V
256
(2) и слово S
V
256
(2).
Пусть отображение )2()2(:
256256
VV ψ преобразует слово
...161,)2(...
1611516
=ηηη iV в слово
η
ηη
321
η
4
....
21613
ηηη
Тогда в качестве значения шаговой функции хэширования принимает-
ся слово
)))((() ,(
1261
SMHHМ ψψψ=κ
, где ψ
i
i-я степень преобра-
зования ψ.
Процедура вычисления хэш-функции. Исходными данными для проце-
дуры вычисления значения функции h является подлежащая хэшированию
последовательность М В. Параметром является стартовый вектор хэши-
рования Нпроизвольное фиксированное слово из V
256
(2).
Процедура вычисления функции h на каждой итерации использует
следующие величины: М В
*
часть последовательности М, не прошед-
шая процедуры хэширования на предыдущих итерациях;
H V
256
(2) текущее значение хэш-функции;
Σ V
256
(2) текущее значение контрольной суммы;