Функция Миагути — Пренеля

Материал из testwiki
Перейти к навигации Перейти к поиску

Шаблон:Нет ссылок Односторонняя функция сжатия Миагучи — Пренеля (Шаблон:Lang-en) является расширенным вариантом аналогичной функции Matyas-Meyer-Oseas. Эта функция была независимо предложена Бартом Пренелем и Сёдзи Миагучи.

Односторонняя функция сжатия Миагучи-Пренеля

Функция подает каждый блок исходного сообщения (mi) в качестве текста, который будет зашифрован. Далее выполняется операция XOR() зашифрованного текста с тем же блоком исходного сообщения (mi), а затем также операции XOR с предыдущим значением хеш-функции (Hi-1) для получения следующего значения хеш (Hi).

Предыдущее значение хеш-функции (Hi-1) подают в качестве ключа для блочного шифра. В первом раунде, когда нет предыдущего значение хеш, он использует постоянное заранее оговоренное начальное значение (H0).

Если блочный шифр имеет различные размеры блока и ключа, тогда значение хеш-функции (Hi-1) будет иметь неправильный размер для использования в качестве ключа. Хеш-функция подается на функцию g() для преобразования, чтобы соответствовать в качестве ключа для шифрования.

В математической символике функция сжатия Миагучи-Пренеля может быть описана как:

Hi=Eg(Hi1)(mi)Hi1mi.

Схема имеет скорость:

RMP=n1n=1.

Роли mi и Hi-1 могут быть переставлены друг с другом так, что Hi-1 шифруются ключом mi. Таким образом, функцию сжатия Миагучи — Пренеля можно считать расширением метода Дэвиса — Мейера.