Стандарты Хеш-функций. Основные определения и требования безопасности к функциям хеширования, страница 14

3.5 Выводы и рекомендации.

Криптографическое применение алгоритмов хеширования определяется  требованиями защищенности функций хеширования от общих атак и их быстродействием.

Наибольшего внимания заслуживают алгоритмы Whirlpool и SHA-2. На сегодняшний день для этих примитивов не были найдены никакие слабости безопасности алгоритмов. Это новые примитивы, которые подверглись пока только ограниченной оценке со стороны специалистов.

Алгоритм Whirlpool имеет очень высокую стойкость, сравнимую с SHA-2/512, но невысокое быстродействие и, соответственно, его можно рекомендовать к применению в системах, где необходимо обеспечить стойкость в течение длительного периода времени, где критерий стойкости является определяющим и намного важнее скорости. Математическая простота алгоритма, достигнутая в процессе разработки, делает прозрачным процесс анализа его стойкости. Длина хеш кода в 512 бит, обеспечивает эффективную защиту от атак, основанных на парадоксе «день рождения», а также улучшает показатели устойчивости к коллизиям. Оптимальная длина хеша, отвечающая современным требованиям, позволила данному алгоритму стать победителем в категории «Алгоритм, устойчивый к коллизиям» в рамках проекта NESSIE и на сегодня  он имеет наибольшее предпочтение.

Проект SHA-2 вошёл в новый NIST стандарт функций хеширования (FIPS 180-2), со значениями хешей 256, 384 и 512 бит. Главная причина появления нового стандарта состоит в том, чтобы обеспечить уровень защиты сопоставимый уровню защиты нового NIST стандарта блочного шифра AES (с ключевой длиной 128, 192 или 256 бит, соответственно).

Вариант алгоритма SHA-2/512 обеспечивает такие же требования коллизионной стойкости, как алгоритм Whirlpool, с некоторым преимуществом по скорости вычислений. Анализ производительности алгоритмов показывает, что SHA-2/256 выполняется вдвое быстрее алгоритмов SHA-2/384 и SHA-2/512 на большинстве операционных платформ (см. таблицу 5). Эти примитивы являются новыми, имеют некоторое подобие с SHA-1, но при этом есть важные различия в структуре. Предположительно, SHA-2 имеют большой уровень безопасности против известных нападений. На данный момент не известны атаки, которые опровергали бы предположения о коллизионной стойкости этого алгоритма.

Следующий уровень алгоритмов определяется коллизионной стойкостью с выходом 160 бит. Стандарты примитивов SHA-1 и RIPEMD-160 не удовлетворяют требованиям безопасности NESSIE, которые требуются для симметричных криптопримитивов. Эти стандарты рекомендуются для применений, где этот уровень безопасности в 160 бит достаточен. При длине хеш кода 160 бит порядок образования коллизии должен составлять  попыток, а порядок нахождения второго прообраза - . На данный момент не известны атаки на SHA-1 и RIPEMD-160, которые опровергали бы эти предположения. По производительности эти алгоритмы являются сопоставимыми, RIPEMD-160 чуть медленнее, и в 2-3 раза более скоростной по сравнению с SHA-2/256.

Алгоритмы хеширования на основе блочных шифров представляют интерес, поскольку их безопасность определяется безопасностью используемого известного блочного шифра, как правило, всесторонне проанализированного. К классу таких алгоритмов можно отнести BCHASH-Rijndael с размером хеш кода 128 и 256 бит (см. таблицу 5). Сравнение с алгоритмами, которые имеют аналогичные параметры, можно отметить проигрыш по скорости алгоритму SHA-2/256 в 3 раза и MD5 в 7 раз.

Алгоритмы MD4 и MD 5 имеют значение хеш кода 128 бит и самую высокую скорость вычислений. Однако недостаточная длина хеш значений и слабости этих алгоритмов значительно ограничивают область их использования.