Функция сжатия SHA-1.
Пусть есть блок сообщения в 512 бит, и
– 32 битные слова. SHA-1 использует
процедуру расширения, которая определена как
.
Используются следующие константы
,
,
,
,
и булевые функции
,
,
.
Предположим, что
начальные значения заданы. Функция сжатия выполняет вычисления за
шагов (со сложением по
):
,
,
,
,
.
Наконец выход функции сжатия определяется как
.
Анализ безопасности алгоритма SHA-1.
Требования коллизионной
стойкости к алгоритму SHA-1 являются следующими. При длине хеш кода 160 бит
порядок образования коллизии должен составлять попыток,
а нахождение второго прообраза - порядок
. На
данный момент не известны атаки, которые опровергали бы эти предположения.
Имеется существенная особенность функции сжатия, связанная с расширением 16 слов сообщения к 80 словам, которая приводит к тому, что для двух различных блоков из 16 слов результирующие 80 словные значения отличаются в большом числе битовых позиций. Это делает стратегию атаки, которая использовалась на других алгоритмах MDx-семейства, очень трудной и конечно увеличивает стойкость алгоритма.
Слайд атака SHA-1. Сложность слайд атаки на алгоритм
SHA-1 составляет , как установил Saarinen [17].
Хотя трудно представить каким образом эта атака может быть практически
реализована. Анализ функции сжатия показывает неожиданную особенность.
Рассмотрим два сообщения:
и
. Основное наблюдение состоит в том, что
процедуру для расширения сообщения можно двигать. Мы просто выбираем
для
и
. После расширения сообщения справедливо
следующее:
для
.
Второе наблюдение состоит в том, что для 20 шагов в каждом цикле функции
сжатия, булевая функция
и аддитивные константы
является неизменными. Следовательно, любые
два последовательных шага (шаг
и шаг
) функция сжатия является подобной, если бы
не три преобразования между различными циклами (это происходит когда
).
Предположим теперь, что
вычисление хеша для и
начинается
от начальных значений
и
оответственно, которые связаны следующим образом:
,
,
,
.
Цель атаки состоит в том,
чтобы найти сообщения и начальные значения для которых то же самое отношение
(между цепочечными переменными) сохранится в конце функции сжатия. Такая пара
из сообщения и связанного с ним начального значения называется слайд парой.
Метод обнаружения слайд пары технически непростой, но общая стратегия состоит в
том, чтобы выбрать подходящие значения для цепочечных переменных на шагах и
, и
выполнить атаку "встреча посредине". Эта процедура повторяется до
преобразования на шаге
c вероятностью успеха
.
Затраты времени и сложность атаки имеет порядок
.
Дифференциальный анализ. Дифференциальный криптоанализ является уместным для функции SHA-1. Хотя распространение разности в начальных значениях через функцию сжатия немедленно не позволяет обнаружить прообразы или коллизий для функции хеширования, это может указывать на нежелательные свойства функции сжатия.
Для SHA-1 существует
дифференциальная характеристика с 5 шагами по любым 5 шагам в функции сжатия с
вероятностью 1. Handschuh и Naccache [18] показали, что при более чем 80 шагах
в функции сжатия лучшая дифференциальная характеристика имеет вероятность около
. Подчеркнем, что эта оценка является
"благоприятной" для криптоанализа, поскольку должно быть не возможно
связать все установленные характеристики, так чтобы достичь этих смещений.
Bogaert и Rijmen [19] нашли оптимальные дифференциальные характеристики
удовлетворяющие требованию, чтобы вес Хэмминга каждого входного слова с 32
битами был ограничен с верху 2. Было обнаружено, что имеются две 10 шаговые
характеристики для
с вероятностью
(это в 2 раза лучше чем
в [18]), 10 шаговая характеристика для
в лучшем случае с вероятностью
, и 20 шаговая характеристика для
и
с вероятностями
и
,
соответственно (эти значения представлены в [237]). Ким и др. [20] нашли
дифференциальную 28 шаговую характеристику с вероятностью
, и дифференциальную 30 шаговую
характеристику с вероятностью
. Это показывает, что,
когда число шагов увеличивается, вероятность дифференциальных характеристик
уменьшается быстро (так как вес Хэмминга в различных словах увеличивается).
Граница безопасности SHA-1 против дифференциального анализа кажется очень
большой.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.