криптография. Криптографическая защита информации
Скачать 57.03 Kb.
|
6.Процедура вычисления хэш-функцииИсходными данными для процедуры вычисления значения функции hявляется подлежащая хэшированию последовательность M B*. Параметром является стартовый вектор хэширования H - произвольное фиксированное слово из V256(2). Процедура вычисления функцииh на каждой итерации использует следующие величины: M B* - часть последовательности M, не прошедшая процедуры хэширования на предыдущих итерациях; H V256(2) - текущее значение хэш-функции; - текущее значение контрольной суммы; L V256(2) - текущее значение длины обработанной на предыдущих итерациях части последовательности M. Алгоритм вычисления функции hвключает в себя этапы: Этап 1 Присвоить начальные значения текущих величины 1.1 M: = M 1.2 H: = H 1.3 1.4 L:= 0256 1.5 Переход к этапу 2 Этап 2 2.1 Проверить условие При положительном исходе перейти к этапу 3. В противном случае выполнить последовательность вычислений: 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Конец работы алгоритма Этап 3 3.1 Вычислить подслово Ms V256(2) слова M (M = Mp ). Далее выполнить последовательность вычислений: 3.2 3.3 3.4 3.5 3.6 Перейти к этапу 2. Значение величины H, полученное на шаге 2.7, является значением функции хэширования h(M). Проверочные примеры для вышеизложенной процедуры вычисления хэш-функции приведены в приложении А. ПРИЛОЖЕНИЕ А (справочное).ПРОВЕРОЧНЫЕ ПРИМЕРЫЗаполнение узлов замены и значение стартового вектора хэширования H, указанные в данном приложении, рекомендуется использовать только в проверочных примерах для настоящего стандарта. А.1 Использование алгоритма ГОСТ 28147 В качестве шифрующего преобразования в приводимых ниже примерах используется алгоритм ГОСТ 28147 в режиме простой замены. При этом заполнение узлов замены блока подстановки следующее:
В столбце с номером j, , в строке с номером i, , приведено значение в шестнадцатеричной системе счисления. А.2 Представление векторов Последовательности двоичных символов будем записывать как строки шестнадцатеричных цифр, в которых каждая цифра соответствует четырем знакам ее двоичного представления. А.3 Примеры вычисления значения хэш-функции В качестве стартового вектора хэширования принимают, например, нулевой вектор
|