Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Введение в основы современных шифров с симметричным ключом
Атаки на блочные шифры
Атаки традиционных шифров могут также использоваться для современных блочных шифров, но сегодняшние блочные шифры успешно противостоят большинству атак, обсужденных в лекциях 5-6. Например, грубая силовая атака ключа, как правило, неосуществима, потому что ключи обычно имеют очень большую длину. Однако недавно были изобретены некоторые новые виды атак блочных шифров, которые основаны на структуре современных блочных шифров. Эти атаки используют методы и дифференциального, и линейного анализа.
Дифференциальный криптоанализ
Идею относительно дифференциального криптоанализа предложили Эли Бихам и Ади Шамир. Это — атака с выборкой исходного текста. Ева может каким-либо образом получить доступ к компьютеру Алисы и завладеть выборочно частью исходного текста и соответствующего зашифрованного текста. Цель состоит в том, чтобы найти ключ шифра Алисы.
Алгоритм анализа. Перед тем как Ева предпримет атаку с выборкой исходного текста, она должна проанализировать алгоритм шифрования, чтобы собрать некоторую информацию об отношениях зашифрованного и исходного текстов. Очевидно, Ева не знает ключ шифра. Однако некоторые шифры имеют слабости в структурах, которые могут позволить Еве найти различия исходного текста и различия зашифрованного текста, не зная ключ.
Предположим, что шифр состоит только из одной операции ИСКЛЮЧАЮЩЕЕ ИЛИ, как показано на рис. 7.18. Не зная значения ключа, Ева может легко найти отношения между разностями исходного текста и разностями зашифрованного текста. Если разность исходного текста мы обозначим и разность зашифрованного текста мы обозначим , приведенные следующие преобразования доказывают, что :
Однако этот пример нереалистичен; модемные блочные шифры не настолько просты.
В примере 7.13 мы добавляем один S -блок, как показано на рис. 7.19.
Хотя эффект шифрования ключом не действует, когда мы используем разности между двумя X и двумя P , существование S -блока мешает Еве найти и определенные отношения между разностями исходного текста и разностями зашифрованного текста. Однако возможно установить вероятностные отношения. Ева может составить таблицу 7.4, которая показывает для разности исходного текста, сколько можно создать разностей зашифрованного текста — шифр. Обращаем внимание, что таблица сделана по информации, которая произведенеа с учетом таблицы входа-выхода S -блока по рис. 7.19, потому что
C1 C2 | |||||
---|---|---|---|---|---|
P1 P2 | 00 | 01 | 10 | 11 | |
000 | 8 | ||||
001 | 2 | 2 | 4 | ||
010 | 2 | 2 | 4 | ||
011 | 4 | 2 | 2 | ||
100 | 2 | 2 | 4 | ||
101 | 4 | 2 | 2 | ||
110 | 4 | 2 | 2 | ||
111 | 2 | 6 |
Поскольку размер ключей — 3 бита, может быть восемь случаев для каждой разности во вводе. Таблица показывает, что если входная разность — (000) 2, разность выхода — всегда (00) 2. С другой стороны, таблица показывает, что если входная разность — (100) 2, то имеется два случая разностей выхода (00)2, два случая разностей выхода (01)2 и четыре случая разностей выхода (01)2.
Пример 7.15
Эвристический результат примера 7.14 может создать вероятностную информацию для Евы, как показано в таблице 7.5. Входы в таблице соответствуют вероятностям появления. Разности с нулевой вероятностью никогда не будут возникать.
00 | 01 | 10 | 11 | |
---|---|---|---|---|
000 | 1 | 0 | 0 | 0 |
001 | 0,25 | 0,25 | 0 | 0,50 |
010 | 0,25 | 0,25 | 0,50 | 0 |
011 | 0 | 0,50 | 0,25 | 0,25 |
100 | 0,25 | 0,25 | 0,50 | 0 |
101 | 0 | 0,50 | 0,25 | 0,25 |
110 | 0,50 | 0 | 0,25 | 0,25 |
111 | 0 | 0 | 0,25 | 0,75 |
Как мы увидим позже, Ева теперь располагает достаточным количеством информации, чтобы начать ее атаку. Таблица показывает, что вероятности распределены неоднородно из-за слабости в структуре S -блока. Таблица 7.5 упоминается иногда как дифференциальная таблица распределения или профайл ИСКЛЮЧАЮЩЕЕ ИЛИ.
Запуск атаки выборки исходного текста. После того как анализ однажды сделан, он может быть сохранен для будущего использования, пока структура шифра не изменится. Ева может выбрать для атак исходные тексты. Дифференциальная таблица распределения вероятности (таблица 7.5) поможет Еве их выбирать — она возьмет те, которые имеют самую высокую вероятность в таблице.
Предположительное значение ключа. После запуска некоторых атак с соответствующей выборкой исходного текста Ева может найти некоторую пару "исходный текст / зашифрованный текст", которая позволяет ей предположить некоторое значение ключа. Процесс начинается от C и продвигается к P.
Пример 7.16
Рассматривая таблицу 7.5, Ева знает, что если , то с вероятностью 0,50 ( 50 процентов). Она пробует взять C1 = 00 и получает P1 = 010 (атака с выборкой зашифрованного текста). Она еще пробует C2 = 11 и получает P2 = 011 (другая атака с выборкой зашифрованного текста). Теперь она пробует вернуться к анализу, основанному на первой паре, P1 и C1:
Используя пару P2 и C2, получим
Два испытания показывают, что K = 011 или K =101. Хотя Ева не уверена, какое из них точное значение ключа, она знает, что самый правый бит — 1 (общий бит между двумя значениями). Продолжая атаку, можно учитывать, что самый правый бит в ключе – 1. Таким образом можно определить другие биты в этом ключе.
Общая процедура. Современные блочные шифры имеют большую сложность, чем, та, которую мы обсуждали в этом разделе. Кроме того, они могут содержать различное количество раундов. Ева может использовать следующую стратегию:
- Поскольку каждый раунд содержит одни и те же операции, Ева может создать таблицу дифференциальных распределений (профайл ИСКЛЮЧАЮЩЕГО ИЛИ) для каждого S -блока и комбинировать их, чтобы создать распределение для каждого раунда.
- Предположим, что каждый раунд независим (справедливое предположение). Ева может создать таблицу распределения для всего шифра, умножая соответствующие вероятности.
- Ева может теперь делать список исходных текстов для атак, основанных на таблице распределений на втором шаге. Заметим, что таблица в шаге 2 только помогает Еве выбирать меньшее количество пар "исходный текст / зашифрованный текст"
- Ева выбирает зашифрованный текст и находит соответствующий исходный текст. Затем она анализирует результат, чтобы найти некоторые биты в ключе.
- Ева повторяет шаг 4, чтобы найти больше битов в ключе.
- После нахождения достаточного количества битов в ключе Ева может использовать атаку грубой силы, чтобы найти весь ключ.
Линейный криптоанализ
Линейный криптоанализ был представлен Митцури Мацуи (Mitsuru Matsui) в 1993 году. Анализ использует атаки знания исходного текста (в отличии от атак с выборкой исходного текста в дифференциальном криптоанализе). Полное обсуждение этой атаки базируется на некоторых понятиях теории вероятностей, которые находятся за рамками этой книги. Чтобы рассмотреть главную идею этой атаки, предположим, что шифр состоит из одного раунда, как показано на рис. 7.20, где c0,с1 и c2 представляют три бита на выходе и xQ, x1 и x2 представляют три бита на входе S -блока.
S -блок — линейное преобразование, в котором каждый вывод является линейной функцией ввода, как мы обсуждали ранее в этой лекции. С этим линейным компонентом мы можем создать три линейных уравнения между исходным текстом и битами зашифрованного текста, как показано ниже:
Решая систему уравнений для трех неизвестных, мы получаем
Это означает, что три атаки типа "знания исходного текста" могут найти значения k1, и k2. Однако реальные блочные шифры не так просты, как этот; они имеют больше компонентов, и S -блоки не линейны.
Линейная аппроксимация. В некоторых современных блочных шифрах может случиться, что некоторые S -блоки не полностью нелинейные; тогда они могут быть в вероятностном смысле аппроксимированы некоторыми линейными функциями. Вообще, задавая исходный и зашифрованный текст в n бит и ключ m бит, мы ищем некоторые уравнения, имеющие вид