Интеллектуальный анализ текста
- 1 year ago
- 0
- 0
Атака на основе адаптивно подобранного открытого текста — вид атаки в криптоанализе , предполагающий, что криптоаналитик может несколько раз выбирать открытый текст и получать соответствующий ему шифртекст прямо во время атаки. Цель криптоаналитика — получить возможность извлекать информацию из перехваченных шифртекстов этой системы, а в идеале подобрать ключ , сопоставляя открытый текст и полученный шифртекст . Является частным случаем атаки на основе подобранного открытого текста .
Атака на основе адаптивно подобранного открытого текста применима в тех случаях, когда криптоаналитик имеет доступ к шифрующему устройству , например к смарт-карте , работающей по некоторому алгоритму шифрования по ключу , недоступному для считывания пользователем .
Также данная атака широко используется для попыток взлома криптографических систем с открытым ключом . Так как в такой криптосистеме услуги шифрования доступны каждому человеку, то любой вариант атаки, в которой не используется блок расшифровки, можно назвать атакой на основе адаптивно подобранного открытого текста. Следовательно, для корректной работы криптосистемы с открытым ключом необходимо требование устойчивости системы к таким атакам .
Во время Второй мировой войны криптоаналитиками достаточно широко использовались атаки на основе (адаптивно) подобранного открытого текста, открытых текстов и их комбинации .
Так, криптоаналитики из Блетчли-Парка могли определить открытый текст сообщений в зависимости от того, когда эти сообщения были посланы. Например, ежедневный отчет о погоде посылался немецкими связистами в одно и то же время. По той причине, что военные доклады имеют определённую структуру, криптоаналитикам удавалось расшифровывать остальную информацию, пользуясь данными о погоде в той местности.
Также в Блетчли-Парк был придуман следующий способ заставить немцев отсылать определённые сообщения. По просьбе криптоаналитиков Королевские военно-воздушные силы Великобритании минировали определённые участки Северного моря , этот процесс был назван «Садоводством» (англ. ). Практически сразу после этого немцами посылались зашифрованные сообщения с названиями мест, где были сброшены мины.
Еще один пример связан с битвой за Мидуэй. Специалисты ВМС США перехватили японское зашифрованное сообщение, которое сумели частично расшифровать. Оказалось, что японцы планировали атаку на AF, где AF было частью шифртекста, которую специалисты США не смогли расшифровать. Тогда криптоаналитики приказали ВС США на острове отправить фальшивое сообщение о недостатке пресной воды. Японцы перехватили это сообщение и передали своему начальству. Так, криптоаналитики ВМС узнали о запланированной атаке
Согласно Брюсу Шнайеру , предполагая, что криптоаналитик знает алгоритм шифрования , можно выделить 4 основных вида криптоанализа :
В случае атаки на основе открытых текстов и соответствующих шифртекстов криптоаналитик имеет доступ к некоторым парам текст — шифртекст .
Более удобным вариантом является атака на основе подобранного открытого текста , при которой криптоаналитик имеет возможность сначала выбрать некоторое количество открытых текстов, а потом получить соответствующие им шифртексты .
Атака на основе адаптивно подобранного открытого текста является модернизированным вариантом атаки на основе подобранного открытого текста. Преимущество данной вида атаки достигается за счет того, что криптоаналитик может выбирать новый открытый текст на основе имеющихся у него результатов, тогда как в случае атаки на основе подобранного открытого текста все тексты выбираются до начала атаки .
При атаке на основе адаптивно подобранного открытого текста часто используются методы дифференциального криптоанализа , которые описаны в работах Ади Шамира , и линейного криптоанализа . Общий метод таких атак заключаются в следующем:
Сначала выбирается пара открытых текстов с подобранной разностью. Они подаются на шифрующее устройство. Им соответствуют шифртексты , так же имеющие некоторую разность. Таким образом, набирается статистика из пар вида открытый текст — шифртекст . Далее сопоставляется разность между открытыми текстами с разностью между шифртекстами и на основе собранных данных делается предположение о ключе системы
В данном случае ищут вероятностные линейные отношения между открытым текстом , зашифрованным текстом и ключом. Сначала строятся соотношения, которые справедливы с высокой вероятностью, после чего эти соотношения используются с парами выбранных открытых текстов и соответствующих им шифртекстов .
Рассмотрим шифрование по алгоритму RSA .
Пусть криптоаналитик перехватил некоторое сообщение , которое он хочет расшифровать и знает открытый ключ .
Тогда он выбирает случайное число , вычисляет сообщение и отправляет его пользователю.
После расшифровки пользователь получает:
Полученное число может показаться пользователю совершенно случайным, поскольку умножение на число является перестановкой над группой . Если сообщение признаётся случайным набором цифр, то этот набор возвращается отправителю, то есть пользователь отправляет злоумышленнику число . Такой алгоритм работы применяется в силу предположения, что расшифрованный текст, имеющий структуру случайного набора чисел, не может быть использован для получения полезной информации .
Таким образом, у криптоаналитика в распоряжении будут иметься числа и , тогда, деля их по модулю , злоумышленник сможет узнать значение .
Рассмотрим для примера шифрование по алгоритму DES .
Допустим, что нам доступна некоторая программа, работающая по данному алгоритму, и известны все её параметры, кроме ключа .
Пусть и — подобранные открытые тексты с разностью .
Им будут соответствовать шифртексты и с разностью — .
Так как известны перестановки с расширением в -блок, то известны и .
Значения и остаются неизвестными, зато можем найти их разность.
Так .
Последнее выражение верно, так как совпадающие биты и сократятся, а различные дадут разницу, несмотря на .
Процесс подбора ключа основан на том, что для заданного различные будут встречаться с разной вероятностью.
Таким образом, комбинации и позволяют с некоторой вероятностью предположить значения и . Что, при известных и , позволит найти ключ .
Таким образом, заданные отличия открытых текстов с достаточной большой вероятностью вызовут определённые отличия полученных шифртекстов. Эти различия называются характеристиками. Характеристики находятся при помощи таблиц, построенных следующим образом: строкам соответствуют возможные , столбцам — . На пересечении данной строки и столбца записывается, сколько раз при данных на входе, на выходе получили . Так как каждая из итераций независима, то различные характеристики можно объединять, перемножая их вероятности. Зная распределение вероятности, можно с высокой степенью точности подобрать ключ .
Рассмотрим для примера шифрование по алгоритму DES .
Пусть P- открытый текст, C - зашифрованный, K-ключ, F - функция шифрования, A, B, D - маски, которые максимизируют вероятность следования линейным соотношениям:
, где , -вход функции в i-ом раунде.
Тогда уравнение для 16-раундового DES выглядит следующим образом :
Вероятность для этого уравнения:
при правильных предположениях , где
{2, 6, 10, 14}
{3, 9, 11}
{4, 8, 12}
{5, 7, 13, 15}
Для других ключей это уравнение будет случайным.
Зафиксируем шесть входных битов в активном S-блоке в первом раунде. Тогда любая выходная маска этой функции является константой 0 или 1 со смещением . Затем рассмотрим следующее уравнение :
При атаке для каждого значения секретного ключа ведется счетчик, который отслеживает, сколько раз левая часть уравнения равна 0. При N -парах ключ со значением счетчика T, самым дальним от , принимается за правильное значение ключа .