Основы современной криптографии


Функция хэширования ГОСТ Р .-


При описании функции хэширования будут использоваться те же обозначения, что использовались при описании алгоритма выработки цифровой подписи согласно ГОСТ Р 34.10, и, кроме того, пусть

M– последовательность двоичных символов, подлежащих хэшированию.

h – хэш-функция, отображающая последовательность M в слово h(M) О V256(2).

EK(A) – результат шифрования слова А на ключе K с использованием алгоритма шифрования по ГОСТ 28147 в режиме простой замены.

H – стартовый вектор хэширования.

Общие положения

Под хэш-функцией h понимается отображение

h: B* ® V256(2).

Для определения хэш-функции необходимы:

-                        алгоритм вычисления шаговой функции хэширования k, где

k: V256(2)ґV256(2) ® V256(2);

-                        описание итеративной процедуры вычисления значения хэш-функции h.

Алгоритм вычисления шаговой функции хэширования состоит из трех частей:

-                        генерации четырех 256-битных ключей;

-                        шифрующего преобразования – шифрования 64-битных подслов слова H

на ключах Ki (i = 1, 2, 3, 4) с использованием алгоритма ГОСТ 28147 в режиме простой замены;

-                        перемешивающего преобразования результата шифрования.

Генерация ключей.

Рассмотрим X = (b256, b255, …, b1) О V256(2).

Пусть X = x4||x3||x2||x1

= h16||h15||…||h1 = x32||x31||…||x1,

где xiОV64(2), i = 1..4; hjОV16(2), j = 1..16; xkОV8(2), k = 1..32.




Начало  Назад  Вперед