дифференциальный криптоанализ хэш функций семейства m...

42
Дифференциальный криптоанализ хэш-функций семейства MDx Часть 2

Upload: lightdelay

Post on 16-Jun-2015

374 views

Category:

Documents


0 download

DESCRIPTION

часть 2

TRANSCRIPT

Page 1: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциальный криптоанализ хэш-функций семейства MDx

Часть 2

Page 2: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Outline1. Полная зависимость от 2. Влияние зависимостей на конструкцию хэш-функции3. Влияние зависимостей на дифференциальный

криптоанализ4. Дифференциалы циклических сдвигов5. Дифференциалы булевых функций

Page 3: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полная зависимость от

Важна биективность Иначе

Появляется возможность найти прообраз быстрее полного перебора за вычислений функции сжатия

Page 4: дифференциальный криптоанализ хэш функций семейства M dx часть 2

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

Отсутствие полной зависимости от увеличивает вероятность возможности приближенного представления булевой функции ее линейной аппроксимацией

Page 5: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полная зависимость от При невыполнение возможно нахождение второго прообраза за

Вычислений функции сжатия

Page 6: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полные зависимости в ДХСвойства полных зависимостей можно рассматривать как критерии построения «хорошей» хэш-функции.

Все эти свойства характерны для описанного семейства

Эти свойства активно используются в алгоритме построения дифференциальной характеристики.

Page 7: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полные зависимости в ДХ : Необходимо уметь продолжать дифференциальную характеристику уже построенную на шагах с по на шаг, а это может быть сделано благодаря функциям , уже построенным в Теореме 1 иобращающим преобразование

Page 8: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полные зависимости в ДХ : В алгоритме построения полной ДХ конструируются две независимые ДХ. Первая для шагов . Вторая для шагов . Благодаря наличию функций

из Теоремы 2 можно определить интересующие дифференциалы результата функций

Полная подходящая ДХ получается только в том случае, когда дифференциалы булевой функции и дифференциалы могут быть одновременно достигнуты

Page 9: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полные зависимости в ДХ : Используется в алгоритме только косвенно. Фактически не нужно для построения ДХ. Однако, условие важно при поиске сообщений, удовлетворяющих ДХ.Позволяет по удовлетворяющим, уже найденным, вычислить соответствующее

Page 10: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал циклического сдвига – BSDR Возможны две ситуации.Пусть определен.

Page 11: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал циклического сдвигаВозможны две ситуации.Если неизвестен количество возможных дифференциаловУвеличивается до 4:

Далее определим вероятности всех возможных дифференциалов.

Пусть – множество возможных дифференциалов

Page 12: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал циклического сдвигаЛемма 2.Для заданных и сдвиговой константы для из равномерного распределения по существует не более четырех возможных дифференциалов .Обозначив и получим таблицу для значений дифференциала и его вероятности

Page 13: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал циклического сдвигаЛемма 2.

Page 14: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал циклического сдвигаЛемма 2.

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

Page 15: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал циклического сдвигаЛемма 2.Доказательство леммы является прямым следствием статьи [Dau05]

Page 16: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал булевой функцииПусть и имеет представление

– обычная булева функция переменнойПосле переобозначения получим:

Множество возможных входов входных переменных:

Page 17: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал булевой функцииМножество может быть дополнительно ограничено новыми условиями на биты в случае, если

При добавлении дополнительных условий множество сменит обозначение на

Если то и однозначно определена и дополнительных условий не нужно

Page 18: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Дифференциал булевой функцииВсегда может быть ситуацияв таком случае В противном случае всегда можно выбрать и наложить дополнительные условия натак, чтобы новое получившееся множество было однозначно определено:

Page 19: дифференциальный криптоанализ хэш функций семейства M dx часть 2
Page 20: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Outline1. Общий вид дифференциальной характеристики(первое

приближение)2. Секрет успеха Wang et Al.3. Задача, для которой строится дифференциальная

характеристика4. Обозначения и понятия5. Три семейства функций6. Класс функций сжатия (MD4 based)

Page 21: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Общий вид ДХДля функций MD4, MD5 и SHA-1 дифференциальная характеристика имеет общий вид

Дифференциальная характеристика

0

10

20

30

40

50

60

70

Конечное звеноСвязующее звеноНачальное звено

Page 22: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Решаемая задачаДля двух заранее заданных префиксов сообщений Найти и :

,где

Page 23: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Стандартные обозначенияПобитовые операции

Операции по модулю

Циклические сдвиги• ,

Page 24: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Двоичное знаковое представлениеДля любого существует его двоичное знаковое представление(BSDR) в виде последовательности

Для ненулевого существует множество таких представлений.

– вес – сумма ненулевых в его представлении

Page 25: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Несоседствующее представление Несоседствующее(NAF) – двоичное знаковое представление, в котором два коэффициента и одновременно не могут быть нулевыми.

Представление все еще не уникально, но уже почти.Ограничим Теперь представление уникально и может быть быстро вычислено.

Page 26: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Три семейства функций

1. 2. 3.

Page 27: дифференциальный криптоанализ хэш функций семейства M dx часть 2

𝐹 𝑠𝑢𝑚𝑟𝑜𝑡

Функции выборочного суммирования

Page 28: дифференциальный криптоанализ хэш функций семейства M dx часть 2

𝐹 𝑠𝑢𝑚𝑟𝑜𝑡

Доказательство.Выпишем

Зафиксируем все переменные, кроме

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

Page 29: дифференциальный криптоанализ хэш функций семейства M dx часть 2

𝐹 𝑠𝑢𝑚𝑟𝑜𝑡Доказательство.

Если , то Иначе при биективно и

Page 30: дифференциальный криптоанализ хэш функций семейства M dx часть 2

𝐹 𝑏𝑜𝑜𝑙Некоторая надстройка над определенной булевой функцией .

Page 31: дифференциальный криптоанализ хэш функций семейства M dx часть 2

𝐹 𝑏𝑜𝑜𝑙𝑟𝑜𝑡Некоторая надстройка над определенной функцией .

Page 32: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Класс Класс, который будет описан включает в себя функции сжатия MD4, MD5, SHA-1 и другие, полностью подходящие под его описание.

SHA-2 не входит в т.к. каждый шаг обновляется не одна, а две переменные сцепления.

Для фиксированных неотрицательных :

- количество n-битных слов в исходном сообщении- количество n-битных – переменных сцепления

Page 33: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Выполнение функции сжатияВо время работы функция сжатия посчитает последовательность из слов. кратно

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

Page 34: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Инициализация заполняются кортежем из L элементов

Page 35: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Завершение функции сжатия После S шагов можно определить

как

Page 36: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Шаговая функция На каждом шаге булева функция осуществляет некоторое преобразование.

Представление шаговой функции можно представить как суперпозицию из V преобразований следующего вида:

Тогда

Page 37: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Шаговая функция Кроме того функция должна обладать некоторыми свойствами:• Коэффициент выборочной суммы при не должен быть

равен 0.• Во всех выборочных суммах переменная

встречается выбранной ровно один раз.• Коэффициенты при и должны быть ненулевые ровно в

одной сумме (независимо друг от друга)

Page 38: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Шаговая функция MD4Для MD4 и

Page 39: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Шаговая функция MD5Для MD5 и

Page 40: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Шаговая функция SHA-1Для SHA-1 и

Page 41: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Свойства шаговой функцииДля каждого отображение

Существует три необходимых условия для применения атаки:1. должно иметь возможность получить все значения из

только путем варьирования и фиксирования остальных переменных.

2. Аналогично, но с вместо .3. Аналогично, но с вместо .Назовем эти свойства Полной зависимостью от соответствующей переменной.

Page 42: дифференциальный криптоанализ хэш функций семейства M dx часть 2

Полная зависимость от Теорема 1. (полная зависимость от )Для фиксированных следующее соотношение биективно:

Более того, существует последовательность функций , вычисляющая обратное к

При наличии и .