Дифференциальный криптоанализ

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Дифференциальный криптоанализ— методкриптоанализасимметричныхблочных шифров(и другихкриптографических примитивов,в частности,хеш-функцийипоточных шифров).

Дифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундахшифрования.В качестве разности, как правило, применяется операцияпобитового суммирования по модулю 2,хотя существуют атаки и с вычислением разностипо модулю.Является статистической атакой. Применим для взломаDES,FEALи некоторых других шифров, как правило, разработанных ранее начала 90-х. Количество раундов современных шифров (AES,Camelliaи др.) рассчитывалось с учётом обеспечениястойкости,в том числе и к дифференциальному криптоанализу.

Дифференциальный криптоанализ предложен в1990 годуизраильскими специалистамиЭли БихамомиАди Шамиромдля взлома криптосистем, подобных DES. В своей работе они показали, что алгоритм DES оказался довольно устойчивым к данному методу криптоанализа, и любое малейшее изменение структуры алгоритма делает его более уязвимым.

В 1994 годуДон КопперсмитизIBMопубликовал статью[1],в которой заявил, что метод дифференциального криптоанализа был известен IBM уже в 1974 году, и одной из поставленных целей при разработке DES была защита от этого метода. У IBM были свои секреты. Копперсмит объяснял:

При проектировании использовались преимущества определенных криптоаналитических методов, особенно метода «дифференциального криптоанализа», который не был опубликован в открытой литературе. После дискуссий сАНБбыло решено, что раскрытие процесса проектирования раскроет и метод дифференциального криптоанализа, мощь которого может быть использована против многих шифров. Это, в свою очередь, сократило бы преимущество США перед другими странами в области криптографии.

DES оказался криптостойким к дифференциальному криптоанализу, в отличие от некоторых других шифров. Так, например, уязвимым оказался шифрFEAL.Состоящий из 4 раундов FEAL-4 может быть взломан при использовании всего лишь 8подобранных открытых текстов,и даже 31-раундовый FEAL уязвим для атаки.

Схема взлома DES

[править|править код]
Функция Фейстеля

В 1990 годуЭли БихамиАди Шамир,используя метод дифференциального криптоанализа, нашли способ вскрытияDES,более эффективный, чем вскрытие методом грубой силы. Работая с парамишифртекстов,открытые тексты которых имеют определенные отличия, ученые анализировали эволюцию этих отличий при прохождении открытых текстов через этапыDES.

Анализ одного раунда

[править|править код]

Базовый метод дифференциального криптоанализа — этоатака на основе адаптивно подобранных открытых текстов,хотя у него есть расширение дляатаки на основе открытых текстов.Для проведения атаки используются пары открытых текстов, связанных определенной разницей. Для DES и DES-подобных систем она определяется какисключающее ИЛИ (XOR).При расшифровке необходимо только значение соответствующих пар шифртекстов.

На схеме изображенафункция Фейстеля.Пустьи- пара входов, различающихся на.Соответствующие им выходы известны и равныи,разница между ними -.Также известныперестановкас расширением и-блок, поэтому известныи.инеизвестны, но мы знаем, что их разность равна,т.к. различияcинейтрализуются. Единственные нелинейные элементы в схеме — это-блоки. Для каждого-блока можно хранить таблицу, строки которой — разности на входе-блока, столбцы — разности на выходе, а на пересечении — число пар, имеющих данные входную и выходную разности, и где-то хранить сами эти пары.

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

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

Характеристики

[править|править код]

Для определения возможных отличий полученных на i-м раунде шифртекстов используютсяраундовые характеристики.

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

Характеристике присваивается вероятность, равная вероятности что случайная пара открытых текстов с различиемв результате шифрования со случайными ключами имеет раундовые различия и различия шифртекстов, совпадающие с указанными в характеристике. Соответствующая характеристике пара открытых текстов называется«правильной».Не соответствующие характеристике пары открытых текстов зовутся«неправильными».

Простейшая однораундовая характеристика с вероятностью 1

Примем значение разницы текстов на выходе предпоследнего цикла, используемое при определении возможного подключа последнего раунда,.В таком случая «правильная» пара текстов позволяет определить правильный ключ, в то время как «неправильная» пара определяет случайный ключ.

В атаке обычно одновременно используются несколько характеристик. Для экономии памяти обычно используются структуры.

  • Квартет— структура из четырёх текстов, которая одновременно содержит в себе по две пары текстов для двух разных характеристик. Позволяет сэкономить 1/2 памяти для открытых текстов.
  • Октет— структура из 16 текстов, содержащая 8 пар, по 4 на каждую характеристику. Позволяет сэкономить 2/3 памяти для открытых текстов.

Отношение сигнал/шум

[править|править код]

Для всех вариантов ключа можно завести счётчики, и если какая-либо пара предлагает данный вариант в качестве верного ключа, будем увеличивать соответствующий счётчик. Ключ, которому соответствует самый большой счётчик, с высокой вероятностью является верным.

Для нашей расчётной схемы отношение числа правильных парSк среднему значению счётчикаNбудем называть отношениемсигнал/шуми будем обозначать.

Чтобы найти правильный ключ и гарантировать наличие правильных пар, необходимы:

  • характеристика, обладающая достаточной вероятностью;
  • достаточное количество пар.

Число необходимых пар определяется:

  • вероятностью характеристики;
  • числом бит ключа (бит, которые мы хотим определить);
  • уровнем идентификации ошибочных пар (пары не вносят вклада в счётчики, так как отбрасываются раньше).

Пусть размер ключа равенkбит, тогда нам понадобитсясчётчиков. Если:

  • m— число используемых пар;
  • — средняя добавка к счётчикам для одной пары;
  • — отношение пар, которые вносят вклад в счётчики ко всем парам (в том числе отброшенным),

то среднее значение счётчикаNравно:

Если— вероятность характеристики, то число правильных парSравно:

Тогда отношениесигнал/шумравно:

Заметим, что для нашей расчётной схемы отношениесигнал/шумне зависит от общего числа пар. Число необходимых правильных пар — в общем, функция отношениясигнал/шум.Экспериментально было установлено, что еслиS/N=1—2,необходимо20—40вхождений правильных пар. Если же отношение намного выше, то даже3—4правильных пар может быть достаточно. Наконец, когда оно сильно ниже, число необходимых пар огромно.

S/N Число необходимых пар
меньше 1 Велико
1—2 20—40
больше 2 3—4

Эффективность взлома

[править|править код]

С увеличением числа раундов сложность криптоанализа увеличивается, однако остаётся меньше сложности полного перебора при количестве циклов меньше 16.

Зависимость от количества раундов
Число раундов Трудоёмкость атаки

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

Сравнение с другими методами

[править|править код]
См.Известные атаки на DES

Дифференциальный криптоанализ и DES-подобные системы

[править|править код]

В то время как полный 16-и раундовый DES оказался изначально спроектированным устойчивым к дифференциальному криптоанализу, атака показала себя успешной против широкой группы DES-подобных шифров[2].

  • Lucifer,укороченный до восьми раундов, взламывается с использованием менее 60 шифртекстов.
  • FEAL-8 взламывается с использованием менее 2000 шифртекстов.
  • FEAL-4 взламывается с использованием 8-и шифртекстов и одногооткрытого текста.
  • FEAL-N и FEAL-NX могут быть взломаны при количестве раундов.

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

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

Недостатки метода

[править|править код]

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

Являясь, в первую очередь, методом для вскрытия с выбранным открытым текстом, дифференциальный криптоанализ трудно реализуем на практике. Он может быть использован для вскрытия с известным открытым текстом, но в случае полного 16-этапного DES это делает его даже менее эффективным, чем вскрытие грубой силой.

Метод требует большого объема памяти для хранения возможных ключей. Эффективность метода также сильно зависит от структуры S-блоков взламываемого алгоритма.

  1. Coppersmith, Don.The Data Encryption Standard (DES) and its strength against attacks(англ.)//IBM Journal of Research and Development[англ.]:journal. — 1994. — May (vol. 38,no. 3). —P. 243.—doi:10.1147/rd.383.0243.Архивировано15 июня 2007 года.(subscription required)
  2. Biham E.,Shamir A.Differential cryptoanalysis of DES-like cryptosystems(англ.).— 1990. —P. 7.
  • Брюс Шнайер.Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си.
  • Панасенко, С."Современные методы вскрытия алгоритмов шифрования, часть 3".Chief Information Officer - 2006.Архивная копияот 15 января 2010 наWayback Machine
  • Biham E.,Shamir A.Differential cryptoanalysis of the Data Encription Standart.
  • Biham E.,Shamir A.Differential cryptoanalysis of DES-like cryptosystems(англ.).— 1990.