ВУЗ:
Составители:
Алгоритм вычисления шаговой функции хэширования состоит из трех
частей: генерации четырех 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) – текущее значение контрольной суммы;
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »