Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Однонаправленные хэш.doc
Скачиваний:
6
Добавлен:
08.09.2019
Размер:
133.63 Кб
Скачать

1.1.6Однонаправленные хэш-функции, использующие симметричные блочные алгоритмы

В качестве однонаправленных хэш-функций можно использовать симметричные блочные алгоритмы шифрования. Идея в том, что если безопасен блочный алгоритм, то и однонаправленная хэш-функция будет безопасной.

Способ использует в качестве ключа блок сообщения, предыдущее хэш-значение в качестве входа, а текущее хэш-значение служит выходом.

Действительные хэш-функции сложнее. Размер блока обычно совпадает с длиной ключа, и размером хэш-значения будет длина блока. Так как большинство блочных алгоритмов 64-битовые, спроектирован ряд схем, дающих хэш-значение в два раза большее длины блока.

При условии, что хэш-функция правильна, безопасность этой схемы основана на безопасности используемой блочной функции.

Полезной мерой для хэш-функций, основанных на блочных шифрах, является скорость хэширования, или количество n-битовых блоков сообщения (п - это размер блока алгоритма), обрабатываемых при шифровании. Чем выше скорость хэширования, тем быстрее алгоритм.

Схемы, в которых длина хэш-значения равна длине блока

Вот общая схема:

H0 = IH, где IH - случайное начальное значение

Hi = ЕА(В) С

где А, В и С могут быть либо Мi, Hi-1, (Мi  Hi-1), либо константы (возможно равные 0). Но - это некоторое случайное начальное число IH. Сообщение разбивается на части в соответствии с размером блока, Мi обрабатываемые отдельно. Кроме того, используется вариант MD-усиления, возможно та же процедура дополнения, что и в MD5 и SHA.

Рисунок 23 — Обобщенная хэш-функция, у которой длина хэш-значения равна длине блока

Три различные переменные могут принимать одно из четырех возможных значений, поэтому всего существует 64 варианта схем этого типа.

Рисунок 24 — Четыре безопасных хэш-функции, у которых длина хэш-значения равна длине блока