Составители:
- инициализируются переменные L (текущее значение длины
обработанной части входной последовательности) и I (значение
контрольной суммы);
- если длина входной необработанной последовательности
больше 256 (|М| > 256), алгоритм переходит к шагу 3, в противном
случае переходит к шагу 2. На втором шаге определяются:
- L = (L + |M |) mod 256;
- I = (I + (0
256 - ⎢M ⎢
|| М) mod 256 0
256 - ⎢M ⎢
- последовательность
битовых нулей длиной 256 - |М|, || - конкатенация битовых строк.
Таким образом, на этом шаге вычисляется текущее значение
контрольной суммы;
- Н = χ ((0
256 - ⎢M ⎢
|| М), Н) - вычисляется значение функции хэширова-
ния χ от аргументов, представляющих собой хэшируемый блок и на-
чальный вектор хэширования (Н);
-
Н
=
χ
(
L
,
H
);
- Н = χ(I, H) - результат данного вычисления и является окончатель-
ным результатом хэш-функции;
- конец работы алгоритма.
Из входной последовательности выбирается очередной блок
длиной 256 бит (М = М
0
|| M
l
) и на третьем шаге производятся
следующие действия:
- H = χ(M
0
, H);
- L = (L + 256) mod 256;
- I = (I + M
0
) mod 256;
- М = М
0
;
- переход к шагу 2.
Вычисление функции х состоит из следующих этапов:
- генерация четырех секретных ключей длиной 256 бит;
- зашифрование четырех подблоков (составляющие начальный
вектор хэширования Н) по 64 бита каждый в соответствии с
алгоритмом ГОСТ 28147-89 в режиме простой замены;
100
Страницы
- « первая
- ‹ предыдущая
- …
- 96
- 97
- 98
- 99
- 100
- …
- следующая ›
- последняя »