криптография. Криптографическая защита информации
![]()
|
Общие положенияПод хэш-функцией h понимается зависящее от параметра [стартового вектора хэширования H, являющегося словом из V256(2)] отображение ![]() Для определения хэш-функции необходимы: - алгоритм вычисления шаговой функции хэширования ![]() ![]() - описание итеративной процедуры вычисления значения хэш-функции h. 5. Шаговая функция хэшированияАлгоритм вычисления шаговой функции хэширования включает в себя три части, реализующие последовательно: - генерацию ключей - слов длины 256 битов; - шифрующее преобразование - зашифрование 64-битных подслов слова H на ключах Ki (i = 1, 2, 3, 4) с использованием алгоритма по ГОСТ 28147 в режиме простой замены; - перемешивающее преобразование результата шифрования. 5.1 Генерация ключей Рассмотрим X = (b256, b256, …,bi) ![]() Пусть X = ![]() = ![]() = ![]() где ![]() ![]() ![]() ![]() Обозначают A(X) = ![]() Используют преобразование P : V256 (2) ![]() ![]() ![]() где ![]() Для генерации ключей необходимо использовать следующие исходные данные: - слова H, M ![]() - параметры: слова Ci (i=2, 3, 4), имеющие значения C2 = C4 = 0256 и C3 = 180811602411608(0818)21808(0818)4(1808)4. При вычислении ключей реализуется следующий алгоритм: Присвоить значения i: = 1, U: = H, V: =M. Выполнить вычисление W = U ![]() Присвоить i: =i+1. Проверить условие i=5. При положительном исходе перейти к шагу 7. При отрицательном - перейти к шагу 5. 5. Выполнить вычисление U: = A(U) ![]() ![]() 6. Перейти к шагу 3. 7. Конец работы алгоритма. 5.2 Шифрующее преобразование На данном этапе осуществляется зашифрование 64-битных подслов слова H на ключах Ki(i = 1, 2, 3, 4). Для шифрующего преобразования необходимо использовать следующие исходные данные: H = ![]() ![]() и набор ключей K1, K2, K3, K4. Реализуют алгоритм зашифрования и получают слова ![]() В результате данного этапа образуется последовательность S = ![]() 5.3 Перемешиваюшее преобразование На данном этапе осуществляется перемешивание полученной последовательности с применением регистра сдвига. Исходными данными являются слова: H, M ![]() ![]() Пусть отображение ![]() ![]() ![]() ![]() в слово ![]() ![]() ![]() ![]() ![]() ![]() |