Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты зи(2016).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.52 Mб
Скачать
  1. Т ребования к качественной хеш-функции

Хеширование – вид криптографического преобразования, не менее важный, чем шифрование. При этом существует мнение, что задача проектирования качественной хеш-функции более сложная, чем задача проектирования качественного симметричного шифра.

Хеш-функцией называется преобразование h, превращающее информационную последовательность (строку) M произвольной длины в информационную последовательность (строку) фиксированной длины h (M). На рис. 3.1 показана упрощенная схема хеш-функции.

Процесс получения хеш-функции можно рассматривать как наложение псевдослучайной последовательности (ПСП) на входную преобразуемую последовательность. По этой причине часто спецификация синхронного поточного шифра описывает и родственную хеш-функцию.

К криптографической функции h(x) предъявляются следующие основные требования:

  • результат действия хеш-функции должен зависеть от всех двоичных символов исходного сообщения, а также от их взаимного расположения;

  • h(x) должна быть чувствительна к любым изменениям входной информационной последовательности, при любых изменениях на входе результат действия хеш-функции должен быть непредсказуем – в среднем должна измениться половина бит хеш-образа.

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

Имеем равномерно распределенную случайную переменную, принимающую N возможных значений (между 0 и N – 1).

  1. Определить минимальное число реализаций k, при котором с вероятностью P >=1/ 2 хотя бы одна выборка оказалась равной предопределенной величине.

  2. Определить минимальное число реализаций k, при котором с вероятностью P >=1/ 2 хотя бы одна выборка оказалась равной выбранной величине.

  3. Определить минимальное число реализаций k, при котором с вероятностью P >=1/ 2 хотя бы две выборки оказались равными. Формируем два набора случайных значений по k выборок в каждом.

  4. Определить минимальное число реализаций k, при котором с вероятностью P >=1/ 2 хотя бы одна выборка из первого набора оказалась равной одной выборке из второго набора.

Р ешения проблем дней рождения приведены в табл. 3.1.

Для качественной криптографической хеш-функции три следующие задачи - вычислительно неразрешимы:

  1. нахождение прообраза – задача нахождения последовательности M по заданному хеш-образу h(M) (рис. 3.2,а);

  2. нахождение коллизии – задача нахождения последовательностей M и M', причем M' != M, таких, что h(M') = h(M);

  3. нахождение второго прообраза – задача нахождения для заданной последовательности M другой последовательности M', M' != M, такой, что что h(M') = h(M) (рис. 3.2,б).

Если n – разрядность хеш-образа, сложность первой и третьей атаки (рис. 3.2) на идеальную хеш-функцию пропорциональна 2n.

Сложность задачи нахождении коллизии пропорциональна 2n / 2. В табл. 3.2 приведены оценки сложности атак на идеальную хеш- функцию, где k – размер списков сообщений, создаваемых атакующим. Рассмотрим отличия поиска коллизии в случаях 1 и 2. В первом случае речь идет о поиске двух произвольных сообщений, имеющих одинаковое значение хеш-образа. Есть точка зрения, что эта атака бесполезна для атакующего. Однако существуют атаки на конкретные протоколы с использованием известных коллизий MD5. Во втором случае предполагается, что одно сообщение реальное, а другое – фальсифицированное, при этом оба сообщения должны быть осмысленными. Решение состоит в создании двух списков осмысленных сообщений путем внесения избыточности или модификации содержимого (например, добавление пробелов, перестановка слов сообщения, добавление дополнительных избыточных слов и т.п.) без изменения смысла сообщений.

Наиболее известные алгоритмы хеширования – MD5, SHA, Tiger, Whirlpool.

MD5 – представитель семейства хеш-функций MD (Message Digest Algorithm), предложенного Р. Ривестом; разработан в 1991 г.; преобразует информационную последовательность произвольной длины в хеш-образ разрядностью 128 бит.

Tiger разработан Р. Андерсоном и Э. Бихэмом; предназначен для реализации на 64-разрядных компьютерах; преобразует информационную последовательность произвольной длины в хеш-образ разрядностью 192 бит.