дифференциальный криптоанализ хэш функций семейства m...
DESCRIPTION
часть 2TRANSCRIPT
![Page 1: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/1.jpg)
Дифференциальный криптоанализ хэш-функций семейства MDx
Часть 2
![Page 2: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/2.jpg)
Outline1. Полная зависимость от 2. Влияние зависимостей на конструкцию хэш-функции3. Влияние зависимостей на дифференциальный
криптоанализ4. Дифференциалы циклических сдвигов5. Дифференциалы булевых функций
![Page 3: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/3.jpg)
Полная зависимость от
Важна биективность Иначе
Появляется возможность найти прообраз быстрее полного перебора за вычислений функции сжатия
![Page 4: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/4.jpg)
Полная зависимость от Наличие булевой функции не дает возможности линейного представления шага хэш-функции.
Отсутствие полной зависимости от увеличивает вероятность возможности приближенного представления булевой функции ее линейной аппроксимацией
![Page 5: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/5.jpg)
Полная зависимость от При невыполнение возможно нахождение второго прообраза за
Вычислений функции сжатия
![Page 6: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/6.jpg)
Полные зависимости в ДХСвойства полных зависимостей можно рассматривать как критерии построения «хорошей» хэш-функции.
Все эти свойства характерны для описанного семейства
Эти свойства активно используются в алгоритме построения дифференциальной характеристики.
![Page 7: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/7.jpg)
Полные зависимости в ДХ : Необходимо уметь продолжать дифференциальную характеристику уже построенную на шагах с по на шаг, а это может быть сделано благодаря функциям , уже построенным в Теореме 1 иобращающим преобразование
![Page 8: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/8.jpg)
Полные зависимости в ДХ : В алгоритме построения полной ДХ конструируются две независимые ДХ. Первая для шагов . Вторая для шагов . Благодаря наличию функций
из Теоремы 2 можно определить интересующие дифференциалы результата функций
Полная подходящая ДХ получается только в том случае, когда дифференциалы булевой функции и дифференциалы могут быть одновременно достигнуты
![Page 9: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/9.jpg)
Полные зависимости в ДХ : Используется в алгоритме только косвенно. Фактически не нужно для построения ДХ. Однако, условие важно при поиске сообщений, удовлетворяющих ДХ.Позволяет по удовлетворяющим, уже найденным, вычислить соответствующее
![Page 10: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/10.jpg)
Дифференциал циклического сдвига – BSDR Возможны две ситуации.Пусть определен.
![Page 11: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/11.jpg)
Дифференциал циклического сдвигаВозможны две ситуации.Если неизвестен количество возможных дифференциаловУвеличивается до 4:
Далее определим вероятности всех возможных дифференциалов.
Пусть – множество возможных дифференциалов
![Page 12: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/12.jpg)
Дифференциал циклического сдвигаЛемма 2.Для заданных и сдвиговой константы для из равномерного распределения по существует не более четырех возможных дифференциалов .Обозначив и получим таблицу для значений дифференциала и его вероятности
![Page 13: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/13.jpg)
Дифференциал циклического сдвигаЛемма 2.
![Page 14: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/14.jpg)
Дифференциал циклического сдвигаЛемма 2.
В зависимости от некоторые могут обращаться в ноль, уменьшая число возможных дифференциалов.
![Page 15: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/15.jpg)
Дифференциал циклического сдвигаЛемма 2.Доказательство леммы является прямым следствием статьи [Dau05]
![Page 16: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/16.jpg)
Дифференциал булевой функцииПусть и имеет представление
– обычная булева функция переменнойПосле переобозначения получим:
Множество возможных входов входных переменных:
![Page 17: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/17.jpg)
Дифференциал булевой функцииМножество может быть дополнительно ограничено новыми условиями на биты в случае, если
При добавлении дополнительных условий множество сменит обозначение на
Если то и однозначно определена и дополнительных условий не нужно
![Page 18: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/18.jpg)
Дифференциал булевой функцииВсегда может быть ситуацияв таком случае В противном случае всегда можно выбрать и наложить дополнительные условия натак, чтобы новое получившееся множество было однозначно определено:
![Page 19: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/19.jpg)
![Page 20: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/20.jpg)
Outline1. Общий вид дифференциальной характеристики(первое
приближение)2. Секрет успеха Wang et Al.3. Задача, для которой строится дифференциальная
характеристика4. Обозначения и понятия5. Три семейства функций6. Класс функций сжатия (MD4 based)
![Page 21: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/21.jpg)
Общий вид ДХДля функций MD4, MD5 и SHA-1 дифференциальная характеристика имеет общий вид
Дифференциальная характеристика
0
10
20
30
40
50
60
70
Конечное звеноСвязующее звеноНачальное звено
![Page 22: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/22.jpg)
Решаемая задачаДля двух заранее заданных префиксов сообщений Найти и :
,где
![Page 23: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/23.jpg)
Стандартные обозначенияПобитовые операции
Операции по модулю
Циклические сдвиги• ,
![Page 24: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/24.jpg)
Двоичное знаковое представлениеДля любого существует его двоичное знаковое представление(BSDR) в виде последовательности
Для ненулевого существует множество таких представлений.
– вес – сумма ненулевых в его представлении
![Page 25: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/25.jpg)
Несоседствующее представление Несоседствующее(NAF) – двоичное знаковое представление, в котором два коэффициента и одновременно не могут быть нулевыми.
Представление все еще не уникально, но уже почти.Ограничим Теперь представление уникально и может быть быстро вычислено.
![Page 26: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/26.jpg)
Три семейства функций
1. 2. 3.
![Page 27: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/27.jpg)
𝐹 𝑠𝑢𝑚𝑟𝑜𝑡
Функции выборочного суммирования
![Page 28: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/28.jpg)
𝐹 𝑠𝑢𝑚𝑟𝑜𝑡
Доказательство.Выпишем
Зафиксируем все переменные, кроме
Утверждение 1.Если для зафиксировать все переменные, кроме тогда получившаяся функция будет либо легко инвертируемой биективной, либо константой
![Page 29: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/29.jpg)
𝐹 𝑠𝑢𝑚𝑟𝑜𝑡Доказательство.
Если , то Иначе при биективно и
![Page 30: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/30.jpg)
𝐹 𝑏𝑜𝑜𝑙Некоторая надстройка над определенной булевой функцией .
![Page 31: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/31.jpg)
𝐹 𝑏𝑜𝑜𝑙𝑟𝑜𝑡Некоторая надстройка над определенной функцией .
![Page 32: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/32.jpg)
Класс Класс, который будет описан включает в себя функции сжатия MD4, MD5, SHA-1 и другие, полностью подходящие под его описание.
SHA-2 не входит в т.к. каждый шаг обновляется не одна, а две переменные сцепления.
Для фиксированных неотрицательных :
- количество n-битных слов в исходном сообщении- количество n-битных – переменных сцепления
![Page 33: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/33.jpg)
Выполнение функции сжатияВо время работы функция сжатия посчитает последовательность из слов. кратно
Первые слов будут проинициализированы ,Остальные будут вычислены шаговым преобразованием.Выход функции вычисляется из кортежа последних слов
![Page 34: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/34.jpg)
Инициализация заполняются кортежем из L элементов
![Page 35: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/35.jpg)
Завершение функции сжатия После S шагов можно определить
как
![Page 36: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/36.jpg)
Шаговая функция На каждом шаге булева функция осуществляет некоторое преобразование.
Представление шаговой функции можно представить как суперпозицию из V преобразований следующего вида:
Тогда
![Page 37: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/37.jpg)
Шаговая функция Кроме того функция должна обладать некоторыми свойствами:• Коэффициент выборочной суммы при не должен быть
равен 0.• Во всех выборочных суммах переменная
встречается выбранной ровно один раз.• Коэффициенты при и должны быть ненулевые ровно в
одной сумме (независимо друг от друга)
![Page 38: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/38.jpg)
Шаговая функция MD4Для MD4 и
![Page 39: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/39.jpg)
Шаговая функция MD5Для MD5 и
![Page 40: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/40.jpg)
Шаговая функция SHA-1Для SHA-1 и
![Page 41: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/41.jpg)
Свойства шаговой функцииДля каждого отображение
Существует три необходимых условия для применения атаки:1. должно иметь возможность получить все значения из
только путем варьирования и фиксирования остальных переменных.
2. Аналогично, но с вместо .3. Аналогично, но с вместо .Назовем эти свойства Полной зависимостью от соответствующей переменной.
![Page 42: дифференциальный криптоанализ хэш функций семейства M dx часть 2](https://reader033.vdocuments.net/reader033/viewer/2022061523/557fd4dad8b42aab088b5062/html5/thumbnails/42.jpg)
Полная зависимость от Теорема 1. (полная зависимость от )Для фиксированных следующее соотношение биективно:
Более того, существует последовательность функций , вычисляющая обратное к
При наличии и .