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


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


Обозначим A(X) = (x1 Е x2)||x4||x3||x2.

Задается преобразование P: V256(2)®V256(2) слова x32||…||x1 в слово xj(32)||x(j)31||…||xj(1), где j(i+1+4(k?1)) = 8i + k, i

= 0..3, k = 1..8.

Для генерации ключей необходимо использовать следующие исходные данные:

-                        слова H, M О V256(2);

-                        константы: слова Сi (i = 2,3,4), имеющие значения С2=С4=0256 и C3= 180811602411608(0818)21808(0818)4(1808)4.

При вычислении ключей реализуется следующий алгоритм:

1.                 Присвоить значения

i = 1, U = H, V = M.

2.                 Выполнить вычисление

W = U Е V, K1 = P(W).

3.                 Присвоить i = i + 1.

4.                 Проверить условие i = 5. При положительном исходе перейти к шагу 7. При отрицательном – перейти к шагу 5.

5.                 Выполнить вычисление

U = A(U) Е Ci, V = A(A(V)), W = U Е V, Ki

= P(W);

6.                 Перейти к шагу 3

7.                 Конец работы алгоритма.

Шифрующее преобразование

На данном этапе осуществляется шифрование 64-битных подслов слова H на ключах Ki (i = 1, 2, 3, 4).

Для шифрующего преобразования необходимо использовать следующие исходные данные:

H=h4||h3||h2||h1, hiОV64(2), i = 1..4 и набор ключей K1, K2, K3, K4.




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



Книжный магазин