МАШ-1 - MASH-1 - Wikipedia

МАШ-1 (Модульный арифметический безопасный хеш) это хэш-функция на основе модульная арифметика.

История

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

Стандарт

Проект комитета ISO / IEC 10118-4 (ноя 95)

Описание

МАШ-1 предполагает использование ЮАР -подобный модуль , длина которого влияет на безопасность. это продукт двух простые числа и должно быть трудно фактор, и для неизвестной факторизации, безопасность частично основана на сложности извлечения модульных корней.

Позволять быть длиной блока сообщения в кусочек. выбирается так, чтобы двоичное представление было на несколько бит длиннее, чем обычно .

Сообщение дополняется длиной сообщения и разделяется на блоки. длины . Из каждого из этих блоков , увеличенный блок длины создается путем размещения четырех битов из в нижней половине каждого байта и четыре бита значения 1 в верхней половине. Эти блоки итеративно обрабатываются функцией сжатия:

Где и . обозначает побитовое ИЛИ и в побитовое XOR.

Из теперь рассчитываются больше блоков данных линейными операциями (где обозначает конкатенацию):

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

Наконец, хеш-значение , куда простое число с

.[1]

МАШ-2

Существует более новая версия алгоритма MASH-2 с другим показателем степени. Оригинал заменяется на . Это единственное различие между этими версиями.

Рекомендации

  • А. Менезес, П. ван Оршот, С. Ванстон, Справочник по прикладной криптографии, ISBN  0-8493-8523-7