Криптографическая хеш-функция.
Криптографической хеш-функцией называется всякая хеш-функция, являющаяся криптостойкой, то есть, удовлетворяющая ряду требований, специфичных для криптографических приложений. Для того чтобы хеш-функция H считалась криптографически стойкой, она должна удовлетворять трем основным требованиям, на которых основано большинство применений хеш-функций в криптографии: · Необратимость или стойкость к восстановлениюпрообраза: для заданного значения хеш-функции m должно быть вычислительно невозможно найти блок данных , для которого .
Данные требования не являются независимыми: · Обратимая функция нестойка к коллизиям первого и второго рода.
Следует отметить, что не доказано существование необратимых хеш-функций, для которых вычисление какого-либо прообраза заданного значения хеш-функции теоретически невозможно. Обычно нахождение обратного значения является лишь вычислительно сложной задачей. Атака «днейрождения» (метод взлома шифров или поиска коллизий хеш-функций на основе «парадо́кса дней рожде́ния» — утверждения, что вероятность совпадения дней рождения (числа и месяца) хотя бы у двух членов группы из 23 и более человек, превышает 50 %.) позволяет находить коллизии для хеш-функции с длиной значений n битов в среднем за примерно вычислений хеш-функции. Поэтому n -битная хеш-функция считается криптостойкой, если вычислительная сложность нахождения коллизий для неё близка к . Для криптографических хеш-функций также важно, чтобы при малейшем изменении аргумента значение функции сильно изменялось (лавинный эффект). В частности, значение хеша не должно давать утечки информации даже об отдельных битах аргумента. Это требование является залогом криптостойкости алгоритмов хеширования пользовательских паролей для получения ключей.
|