дифференциальный криптоанализ хэш функций семейства m...
DESCRIPTION
часть 2TRANSCRIPT
Дифференциальный криптоанализ хэш-функций семейства MDx
Часть 2
Outline1. Полная зависимость от 2. Влияние зависимостей на конструкцию хэш-функции3. Влияние зависимостей на дифференциальный
криптоанализ4. Дифференциалы циклических сдвигов5. Дифференциалы булевых функций
Полная зависимость от
Важна биективность Иначе
Появляется возможность найти прообраз быстрее полного перебора за вычислений функции сжатия
Полная зависимость от Наличие булевой функции не дает возможности линейного представления шага хэш-функции.
Отсутствие полной зависимости от увеличивает вероятность возможности приближенного представления булевой функции ее линейной аппроксимацией
Полная зависимость от При невыполнение возможно нахождение второго прообраза за
Вычислений функции сжатия
Полные зависимости в ДХСвойства полных зависимостей можно рассматривать как критерии построения «хорошей» хэш-функции.
Все эти свойства характерны для описанного семейства
Эти свойства активно используются в алгоритме построения дифференциальной характеристики.
Полные зависимости в ДХ : Необходимо уметь продолжать дифференциальную характеристику уже построенную на шагах с по на шаг, а это может быть сделано благодаря функциям , уже построенным в Теореме 1 иобращающим преобразование
Полные зависимости в ДХ : В алгоритме построения полной ДХ конструируются две независимые ДХ. Первая для шагов . Вторая для шагов . Благодаря наличию функций
из Теоремы 2 можно определить интересующие дифференциалы результата функций
Полная подходящая ДХ получается только в том случае, когда дифференциалы булевой функции и дифференциалы могут быть одновременно достигнуты
Полные зависимости в ДХ : Используется в алгоритме только косвенно. Фактически не нужно для построения ДХ. Однако, условие важно при поиске сообщений, удовлетворяющих ДХ.Позволяет по удовлетворяющим, уже найденным, вычислить соответствующее
Дифференциал циклического сдвига – BSDR Возможны две ситуации.Пусть определен.
Дифференциал циклического сдвигаВозможны две ситуации.Если неизвестен количество возможных дифференциаловУвеличивается до 4:
Далее определим вероятности всех возможных дифференциалов.
Пусть – множество возможных дифференциалов
Дифференциал циклического сдвигаЛемма 2.Для заданных и сдвиговой константы для из равномерного распределения по существует не более четырех возможных дифференциалов .Обозначив и получим таблицу для значений дифференциала и его вероятности
Дифференциал циклического сдвигаЛемма 2.
Дифференциал циклического сдвигаЛемма 2.
В зависимости от некоторые могут обращаться в ноль, уменьшая число возможных дифференциалов.
Дифференциал циклического сдвигаЛемма 2.Доказательство леммы является прямым следствием статьи [Dau05]
Дифференциал булевой функцииПусть и имеет представление
– обычная булева функция переменнойПосле переобозначения получим:
Множество возможных входов входных переменных:
Дифференциал булевой функцииМножество может быть дополнительно ограничено новыми условиями на биты в случае, если
При добавлении дополнительных условий множество сменит обозначение на
Если то и однозначно определена и дополнительных условий не нужно
Дифференциал булевой функцииВсегда может быть ситуацияв таком случае В противном случае всегда можно выбрать и наложить дополнительные условия натак, чтобы новое получившееся множество было однозначно определено:
Outline1. Общий вид дифференциальной характеристики(первое
приближение)2. Секрет успеха Wang et Al.3. Задача, для которой строится дифференциальная
характеристика4. Обозначения и понятия5. Три семейства функций6. Класс функций сжатия (MD4 based)
Общий вид ДХДля функций MD4, MD5 и SHA-1 дифференциальная характеристика имеет общий вид
Дифференциальная характеристика
0
10
20
30
40
50
60
70
Конечное звеноСвязующее звеноНачальное звено
Решаемая задачаДля двух заранее заданных префиксов сообщений Найти и :
,где
Стандартные обозначенияПобитовые операции
Операции по модулю
Циклические сдвиги• ,
Двоичное знаковое представлениеДля любого существует его двоичное знаковое представление(BSDR) в виде последовательности
Для ненулевого существует множество таких представлений.
– вес – сумма ненулевых в его представлении
Несоседствующее представление Несоседствующее(NAF) – двоичное знаковое представление, в котором два коэффициента и одновременно не могут быть нулевыми.
Представление все еще не уникально, но уже почти.Ограничим Теперь представление уникально и может быть быстро вычислено.
Три семейства функций
1. 2. 3.
𝐹 𝑠𝑢𝑚𝑟𝑜𝑡
Функции выборочного суммирования
𝐹 𝑠𝑢𝑚𝑟𝑜𝑡
Доказательство.Выпишем
Зафиксируем все переменные, кроме
Утверждение 1.Если для зафиксировать все переменные, кроме тогда получившаяся функция будет либо легко инвертируемой биективной, либо константой
𝐹 𝑠𝑢𝑚𝑟𝑜𝑡Доказательство.
Если , то Иначе при биективно и
𝐹 𝑏𝑜𝑜𝑙Некоторая надстройка над определенной булевой функцией .
𝐹 𝑏𝑜𝑜𝑙𝑟𝑜𝑡Некоторая надстройка над определенной функцией .
Класс Класс, который будет описан включает в себя функции сжатия MD4, MD5, SHA-1 и другие, полностью подходящие под его описание.
SHA-2 не входит в т.к. каждый шаг обновляется не одна, а две переменные сцепления.
Для фиксированных неотрицательных :
- количество n-битных слов в исходном сообщении- количество n-битных – переменных сцепления
Выполнение функции сжатияВо время работы функция сжатия посчитает последовательность из слов. кратно
Первые слов будут проинициализированы ,Остальные будут вычислены шаговым преобразованием.Выход функции вычисляется из кортежа последних слов
Инициализация заполняются кортежем из L элементов
Завершение функции сжатия После S шагов можно определить
как
Шаговая функция На каждом шаге булева функция осуществляет некоторое преобразование.
Представление шаговой функции можно представить как суперпозицию из V преобразований следующего вида:
Тогда
Шаговая функция Кроме того функция должна обладать некоторыми свойствами:• Коэффициент выборочной суммы при не должен быть
равен 0.• Во всех выборочных суммах переменная
встречается выбранной ровно один раз.• Коэффициенты при и должны быть ненулевые ровно в
одной сумме (независимо друг от друга)
Шаговая функция MD4Для MD4 и
Шаговая функция MD5Для MD5 и
Шаговая функция SHA-1Для SHA-1 и
Свойства шаговой функцииДля каждого отображение
Существует три необходимых условия для применения атаки:1. должно иметь возможность получить все значения из
только путем варьирования и фиксирования остальных переменных.
2. Аналогично, но с вместо .3. Аналогично, но с вместо .Назовем эти свойства Полной зависимостью от соответствующей переменной.
Полная зависимость от Теорема 1. (полная зависимость от )Для фиксированных следующее соотношение биективно:
Более того, существует последовательность функций , вычисляющая обратное к
При наличии и .