ГОСТ Р 34.11—2012
8 Процедура вычисления хэш-функции
Исходными данными для процедуры вычисления хэш-кода Н{М) является подлежащее хэширова
нию сообщение M e V* и IV е У512-инициализационный вектор.
Алгоритм вычисления функции Н состоит из следующих этапов.
8.1 Этап 1
5
Присвоить начальные значения текущих величин:
1.1 h:=IV:
1.2 N := О
12
е у512; 1.3
I:= 0
512
е V512; 1.4
Перейти к этапу 2.
8.2 Этап 2
5
2.1 Проверить условие |М| < 512.
При положительном исходе перейти к этапу 3.
В противном случае выполнить последовательность вычислений по 2.2—27.
2.2 Вычислить подвектор т
е
V
512
сообщения М: М = М’\\т. Далее выполнить последователь
ность вычислений:
2.3 h :* gN(h. т).
2.4 N := Vec
512
(lnt
512
(A/) Щ 512).
2.5
£ := Vec
512
(lnt
512
(X) Щ Int
512
(m)).
2.6 M := М’.
2.7 Перейти к шагу 2.1.
8.3 Этап 3
3.1 т := 0
5
И"|М’||1||М.
3.2 h := gN(h. т).
3.3 N:=VecSl
2
(lnt
512
(A/)ffi|M|).
3.4 1:=Уес
512
(1Ш ,
2
(1)Щ1п1
512
И ).
3.5 hgQ(h, N).
h : =
’ g0{h. I),
3.6
для функции хэширования с длиной хэш-ксда 512 бит;
для функции хэширования с длиной хэш-кода 256 бит.
3.7 Конец работы алгоритма
Значение величины h, полученное на шаге 3.6. является значением функции хэширования Н(М).
6