Логика выполнения ГОСТ Р 34.11-94
Входными параметрами алгоритма являются:
исходное сообщение М произвольной длины;
стартовый вектор хэширования Н, длина которого
равна 256 битам;
контрольная сумма
, начальное значение которой
равно нулю и длина равна 256 битам;
переменная L, начальное значение которой равно
длине сообщения.
Сообщение М делится на блоки длиной 256 бит и обрабатывается справа налево. Очередной блок i обрабатывается следующим образом:
H = X(Mi,
H)
=
' Mi
L
рассматривается как неотрицательное целое
число, к этому числу прибавляется 256 и
вычисляется остаток от деления получившегося
числа на 2 в степени 256. Результат присваивается L.
Где '
обозначает следующую операцию:
и Mi
рассматриваются как неотрицательные целые числа
длиной 256 бит. Выполняется обычное сложение этих
чисел и находится остаток от деления результата
сложения на 2 в степени 256. Этот остаток и является
результатом операции.
Самый левый, т.е. самый последний блок М' обрабатывается следующим образом:
Блок
добавляется слева нулями так, чтобы его длина
стала равна 256 битам.
Вычисляется
=
' Mi
L
рассматривается как неотрицательное целое
число, к этому числу прибавляется длина
исходного сообщения М и находится остаток от
деления результата сложения на 2 в степени 256.
Вычисляется Н = X (М', Н).
Вычисляется Н = X (L, Н).
Вычисляется Н = X (
, Н).
Значением функции хэширования является Н.
АИСС БКБ, www.orioncom.ru, tel (495) 783-5510