Upload
vasily-dolgushev
View
868
Download
4
Embed Size (px)
Citation preview
Разностные атаки на криптографические протоколы
Кашкарева ЮлияМК-502
Актуальность
• Развитие глобальной информационной сети• Необходимость новых методов защиты
информации• Задача анализа защищенности алгоритма
более сложная, чем непосредственно разработка
• Дифференциальный криптоанализ – один из классических методов атаки на криптоалгоритм
Дифференциальный криптоанализ
• метод криптоанализа симметричных блочных шифров и других криптографических примитивов, в частности, хэш-функций. Основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования.
История
• Дифференциальный метод криптоанализа был предложен Э.Бихамом и А.Шамиром в 1990 г. Это был новый, ранее неизвестный метод криптоанализа, который был эффективнее вскрытия грубой силой.
Сеть Фейстеля
Подстановоно-перстановочная сеть (SPN)
Используемая в работе сеть
Этапы классического дифференциального
криптоанализа
1. На пером этапе выделяем все возможные разности, которые мы можем получить на выходе r-1 раунда, если на вход подана какая-то определенная разность αi. Выделяем пары таких разностей, которые имеют наибольшую вероятность появления и фиксируем их как (αi,βi).2. Выбираем открытый текст x произвольным образом и вычисляем x’ так, чтобы разность между x и x’ была равна αi.3. Проверяем, являются ли данная пара текстов правильной-то есть на выходе r-1-ого цикла разность шифртекстов равна наиболее вероятной βi, полученной нами на этапе 1.
4. Тексты шифруются на подлинном ключе и после r циклов получаем пару шифртекстов y и y’.5. Для тройки «разность на входе, разность на выходе r-1 раунда, разность на выходе r раунда» находим каждое возможное (если их несколько) значение подключа последнего r-го цикла . Добавляем его к количеству появлений каждого такого значения подключа .6. Повторяем п.п. 3-5 до тех пор, пока одно или несколько значений подключа не станет появляться чаще других. Берем этот подключ или множество таких подключей в качестве криптографического решения для подключа .7. Повторяем пп.1-6 для предпоследнего цикла, при этом значения вычисляются расшифрованием шифртекстов на найденном подключе последнего цикла. Далее действуем аналогично, пока не будут раскрыты ключи всех циклов шифрования.
Рассмотрим, как производится дифференциальный анализ на
примере
Таблица подстановки s-блока
вход 0 1 2 3 4 5 6 7
выход 7 0 6 5 2 1 3 4
Схема для анализа распределения выходных
разностей
Распределение разностей на выходе в зависимости от
разности на входе выход
вход0 1 2 3 4 5 6 7
0 8 0 0 0 0 0 0 0
1 0 0 0 4 0 0 0 4
2 0 4 0 0 0 4 0 0
3 0 0 4 0 0 0 4 0
4 0 4 0 0 0 4 0 0
5 0 0 4 0 0 0 4 0
6 0 0 0 0 8 0 0 0
7 0 0 0 4 0 0 0 4
Выбор анализируемой разности
Схема преобразования разности при прохождении через SPN
• Возьмем входные тексты
• Соответствующие шифртексты
• Соответствующая разность
• Эти тексты являются правильными текстами для характеристики 000001001
2
2 2 2
001101111
001101111 000000110 0011011001
x
x
=′⊗ = =
2
2
(001101111 ) 110111000
(0011011001 ) 110110001
cript
cript
==
110111000 110110001 000001001⊗ =
Разность 100 задается парами
0 и 4 000 100
1 и 5 001 101
2 и 6 010 110
3 и 7 011 111
4 и 0 100 000
5 и 1 101 001
6 и 2 110 010
7 и 3 111 011
⊗⊗⊗⊗⊗⊗⊗⊗
Выбираем среди них правильные
000 100 111 010=101
010 110 110 011=101
100 000 010 111=101
101 0
001 101 000 001
01 001 000 001
110 010 011 110=101
111 011 10
=001
011 111 101 100 001
0 101=001
⊗ → ⊗
⊗ → ⊗
⊗ → ⊗⊗ → ⊗ =⊗ → ⊗⊗ → ⊗
⊗ → ⊗
⊗ → ⊗ =
2
2
2
2
2
2
2
2
111 000
110 001
111 001
110 000
111 100
110 101
111 101
110 100
K
K
K
K
K
K
K
K
⊗ = ⊗ =
⊗ = ⊗ =
⊗ = ⊗ =
⊗ = ⊗ =
• Соответственно, ключи, удовлетворяющие условиям 111, 100 – для первой правильной пары входных значений, и 011, 010 – для второй
Соответствующие ключи
Реализованная функциональность
• Программа, выполняющая анализ s-блоков• Программа, осуществляющая оценку
разностей, используемых для анализа по числу затронутых s-блоков.
• Программа, осуществляющая классический дифференциальный криптоанализ – для заданных параметров шифра и указанного числа анализируемых текстов возвращает множество ключей, которые предположительно были использованы
• Кроме того, был рассмотрен алгоритм CMEA и возможность применения к нему дифференциального криптоанализа
Полученная эффективность работы
Число текстов Число характеристик
Мощность множества ключей
200 1 256
400 1 256
200 10 64
400 10 64
512 10 64
200 13 64
200 14 16
200 15 8
Спасибо за внимание.