Кусочно-гладкая функция
- 1 year ago
- 0
- 0
Односторонняя функция сжатия Миагучи — Пренеля ( англ. Miyaguchi-Preneel single-block-length one-way compression function ) является расширенным вариантом аналогичной функции Matyas-Meyer-Oseas . Эта функция была независимо предложена Бартом Пренелем и Сёдзи Миагучи.
Функция подает каждый блок исходного сообщения (m i ) в качестве текста, который будет зашифрован. Далее выполняется операция XOR( ) зашифрованного текста с тем же блоком исходного сообщения (m i ), а затем также операции XOR с предыдущим значением хеш-функции (H i-1 ) для получения следующего значения хеш (H i ).
Предыдущее значение хеш-функции (H i-1 ) подают в качестве ключа для блочного шифра. В первом раунде, когда нет предыдущего значение хеш, он использует постоянное заранее оговоренное начальное значение (H 0 ).
Если блочный шифр имеет различные размеры блока и ключа, тогда значение хеш-функции (H i-1 ) будет иметь неправильный размер для использования в качестве ключа. Хеш-функция подается на функцию g() для преобразования, чтобы соответствовать в качестве ключа для шифрования.
В математической символике функция сжатия Миагучи-Пренеля может быть описана как:
Схема имеет скорость:
Роли m i и H i-1 могут быть переставлены друг с другом так, что H i-1 шифруются ключом m i . Таким образом, функцию сжатия Миагучи — Пренеля можно считать расширением метода Дэвиса — Мейера.