Криптоана́лиз (от др.-греч.κρυπτός «скрытый» + «анализ») — наука о методах дешифровки зашифрованной информации без предназначенного для этого ключа, а также сам процесс такой дешифровки.
Попытку раскрытия конкретного шифра с применением методов криптоанализа называют криптографической атакой на этот шифр. Криптографическую атаку, в ходе которой раскрыть шифр удалось, называют «взломом» или «вскрытием» шифра.
Первоначально методы криптоанализа основывались на лингвистических закономерностях естественного текста и реализовывались с использованием только карандаша и бумаги. Со временем в криптоанализе нарастает роль чисто математических методов, для реализации которых используются специализированные криптоаналитические компьютеры.
Криптоанализ эволюционировал вместе с развитием криптографии: новые, более совершенные шифры приходили на смену уже взломанным системам кодирования только для того, чтобы криптоаналитики изобрели более изощрённые методы взлома систем шифрования. Понятия криптографии и криптоанализа неразрывно связаны друг с другом: для того, чтобы создать устойчивую ко взлому систему, необходимо учесть все возможные способы атак на неё.
Хотя понятие криптоанализ было введено сравнительно недавно, некоторые методы взлома были изобретены десятки веков назад. Первым известным письменным упоминанием о криптоанализе является «Манускрипт о дешифровке криптографических сообщений», написанный арабским учёным Ал-Кинди ещё в IX веке. В этом научном труде содержится описание метода частотного анализа.
Частотный анализ — основной инструмент для взлома большинства классических шифров перестановки или замены. Данный метод основывается на предположении о существовании нетривиального статистического распределения символов, а также их последовательностей одновременно и в открытом тексте, и в шифротексте. Причём данное распределение будет сохраняться с точностью до замены символов как в процессе шифрования, так и в процессе дешифрования. Стоит отметить, что при условии достаточно большой длины шифрованного сообщения моноалфавитные шифры легко поддаются частотному анализу: если частота появления буквы в языке и частота появления некоторого присутствующего в шифротексте символа приблизительно равны, то в этом случае с большой долей вероятности можно предположить, что данный символ и будет этой самой буквой. Самым простым примером частотного анализа может служить банальный подсчёт количества каждого из встречающихся символов, затем следуют процедуры деления полученного числа символов на количество всех символов в тексте и умножение результата на сто, чтобы представить окончательный ответ в процентах. Далее полученные процентные значения сравниваются с таблицей вероятностного распределения букв для предполагаемого языка оригинала.
В период XV—XVI веков в Европе создавались и развивались полиалфавитные шифры замены. Наиболее известным является шифр французского дипломата Блеза де Виженера, в основу которого легло использование последовательности нескольких шифров Цезаря с различными значениями сдвига. На протяжении трёх веков Шифр Виженера считался полностью криптографически устойчивым, пока в 1863 году Фридрих Касиски не предложил свою методику взлома этого шифра. Основная идея метода Касиски заключается в следующем: если в открытом тексте между двумя одинаковыми наборами символов находится такой блок текста, что его длина кратна длине ключевого слова, то эти одинаковые наборы символов открытого текста при шифровании перейдут в одинаковые отрезки шифротекста. На практике это означает то, что при наличии в шифротексте одинаковых отрезков длиной в три и больше символов, велика вероятность того, что эти отрезки соответствуют одинаковым отрезкам открытого текста. Как применяется метод Касиски: в шифротексте ищутся пары одинаковых отрезков длины три или больше, затем вычисляется расстояние между ними, то есть количество символов, разделяющих стартовые позиции парных отрезков. В результате анализа всех пар одинаковых отрезков мы получим совокупность расстояний d1, d2, d3,… Длина ключевого слова будет делителем для каждого из расстояний и, следовательно, для их наибольшего общего делителя.
Следующий этап развития криптоанализа связан с изобретением роторных шифровальных машин таких как, например, изобретённая Артуром ШербиусомЭнигма. Целью таких устройств было минимизировать количество повторяющихся отрезков шифротекста, статистика появления которых использовалась при взломе шифра Виженера. Польским криптоналитикам удалось построить прототип дешифровальной машины для версии Энигмы, используемой Нацистской Германией. Машина получила название «Бомба» за то, что при работе издавала звуки похожие на тиканье часов. Позже она была доработана и взята на вооружение английскими криптоаналитиками.
По мере развития новых методов шифрования математика становилась всё более и более значимой. Так, например, при частотном анализе криптоаналитик должен обладать знаниями и в лингвистике, и в статистике. В то время как теоретические работы по криптоанализу Энигмы выполнялись преимущественно математиками, например, Аланом Матисоном Тьюрингом. Тем не менее благодаря всё той же математике криптография достигла такого развития, что количество необходимых для взлома элементарных математических операций стало достигать астрономических значений. Современная криптография стала гораздо более устойчивой к криптоанализу, чем некогда используемые, устаревшие методики, для взлома которых было достаточно ручки и листа бумаги. Может показаться, что чистый теоретический криптоанализ не способен более эффективно взламывать современные шифры. Тем не менее историк Дэвид Кан в своей заметке к 50-й годовщине Агентства национальной безопасности пишет:
«В наши дни сотни фирм предлагают множество различных криптосистем, которые невозможно взломать ни одним из известных методов криптоанализа. Действительно, такие системы устойчивы даже к атаке по подобранному открытому тексту, то есть сравнение открытого текста и соответствующего ему шифротекста не позволяет узнать ключ шифрования, который бы позволил дешифровать другие сообщения. Таким образом, в некотором смысле криптоанализ мёртв. Но это ещё не конец. Криптоанализ может быть и мёртв, но, выражаясь метафорически, с кошки можно снять шкурку несколькими способами.»
Далее в своей заметке описывает возросшее значение перехвата данных, закладки жучков, атак по сторонним каналам и квантовых компьютеров как методик, идущих на смену традиционным методам криптоанализа. В 2010 бывший технический директор Управления национальной безопасности Брайан Сноу отметил, что коммерческая криптография уже почти достигла уровня развития технологий, используемых разведывательными службами, и теперь они вместе «очень медленно продвигаются в уже полностью исследованной области».
Тем не менее, криптоанализ пока ещё рано списывать со счетов. Во-первых, неизвестно, насколько эффективны применяемые спецслужбами методы криптоанализа, а во-вторых, за годы становления и совершенствования современной компьютерной криптографии было высказано множество претензий как к теоретическим, так и к практическим криптографическим примитивам:[источник не указан 4533 дня]
в 1998 г. было обнаружена уязвимость для атак на основе шифротекста у блочного шифра MADRYGA, предложенного ещё в 1984 г., но не получившего широкого распространения;
целая серия атак со стороны научного сообщества, многие из которых были целиком практическими, буквально уничтожила блочный шифр FEAL, предложенный как замена DES в качестве стандартного алгоритма шифрования, но также не получивший широкого распространения;
также было установлено, что при помощи широко доступных вычислительных средств поточные шифры A5/1, A5/2, блочный шифр CMEA, и стандарт шифрования DECT, используемые для защиты мобильной и беспроводной телефонной связи, могут быть взломаны за считанные часы или минуты, а порою и в режиме реального времени;
атака методом грубой силы помогла взломать некоторые из прикладных систем защиты, например, CSS— систему защиты цифрового медиаконтента на DVD-носителях.
Таким образом, хотя наиболее надёжные из современных шифров являются гораздо более устойчивыми к криптоанализу, чем Энигма, тем не менее криптоанализ по-прежнему играет важную роль в обширной области защиты информации.
Брюс Шнайер выделяет 4 основных и 3 дополнительных метода криптоанализа, предполагая знание криптоаналитиком алгоритма шифра (в соответствии с принципом Керкгоффса):
Допустим, криптоаналитик обладает некоторым числом шифротекстов, полученных в результате использования одного и того же алгоритма шифрования. В этом случае криптоаналитик может совершить только атаку на основе шифротекста. Целью криптографической атаки в этом случае является нахождение как можно большего числа открытых текстов, соответствующих имеющимся шифротекстам, или, что ещё лучше, нахождение используемого при шифровании ключа.
Входные данные для подобного типа атак криптоаналитик может получить в результате простого перехвата зашифрованных сообщений. Если передача осуществляется по открытому каналу, то реализация задачи по сбору данных сравнительно легка и тривиальна. Атаки на основе шифротекста являются самыми слабыми и неудобными.
Атака на основе открытых текстов и соответствующих шифротекстов[править | править код]
Пусть в распоряжении криптоаналитика есть не только шифротексты, но и соответствующие им открытые тексты.
Тогда существуют два варианта постановки задачи:
Найти ключ, использованный для преобразования открытого текста в шифротекст.
Создать алгоритм, способный дешифровать любое сообщение, закодированное с помощью этого ключа.
Получение открытых текстов играет решающую роль в осуществлении этой атаки. Открытые тексты извлекают из самых различных источников. Так, например, можно догадаться о содержимом файла по его расширению.
В случае взлома переписки можно сделать предположение, что письмо имеет структуру типа:
«приветствие»;
«основной текст»;
«заключительная форма вежливости»;
«подпись».
Следовательно, атака может быть организована путём подбора различных видов «Приветствия» (например, «Здравствуйте!», «Добрый день» и т. д.) и/или «Заключительной формы вежливости» (таких как «С уважением», «Искренне Ваш» и т. п.). Данная атака сильнее атаки на основе одного лишь шифротекста.
Для осуществления такого типа атаки криптоаналитику необходимо иметь не только какое-то количество открытых текстов и полученных на их основе шифротекстов. Помимо прочего в данном случае криптоаналитик должен обладать возможностью подобрать несколько открытых текстов и получить результат их шифрования.
Задачи криптоаналитика повторяют задачи для атаки на основе открытого текста, то есть получить ключ шифрования, либо создать дешифрующий алгоритм для данного ключа.
Получить входные данные для такого вида атаки можно, например, следующим образом:
Создать и отправить поддельное не зашифрованное сообщение якобы от одного из пользователей, которые обычно пользуются шифрованием.
В некоторых случаях можно получить ответ, в котором будет содержится зашифрованный текст, цитирующий содержание поддельного сообщения.
При осуществлении атаки подобного типа криптоаналитик имеет возможность подбирать блоки открытого текста, что при определённых условиях может позволить получить больше информации о ключе шифрования.
Атаки на основе адаптивно подобранного открытого текста[править | править код]
Атака такого типа является более удобным частным случаем атаки на основе подобранного открытого текста. Удобство атаки на основе адаптивно подобранного открытого текста состоит в том, что помимо возможности выбирать открытый текст, криптоаналитик может принять решение о зашифровании того или иного открытого текста на основе уже полученных результатов операций зашифрования и последующего дешифрования. Другими словами, при осуществлении атаки на основе подобранного открытого текста криптоаналитик выбирает всего один большой блок открытого текста для последующего зашифрования, а потом на основе этих данных начинает анализ системы. В случае организации адаптивной атаки криптоаналитик может получать результаты зашифрования любых блоков открытого текста, чтобы собрать интересующие его данные, которые будут учтены при выборе следующих отправляемых на зашифрование блоков открытого текста и так далее. Наличие обратной связи даёт атаке на основе адаптивно подобранного шифротекста преимущество перед всеми вышеперечисленными типами атак.
Допустим, что у криптоаналитика имеется временный доступ к шифрующему средству или устройству. В таком случае за ограниченный промежуток времени криптоаналитик может получить из известных ему шифротекстов соответствующие им открытые тексты, после чего криптоаналитику необходимо будет приступать к анализу системы. При осуществлении подобного типа атаки цель анализа — получить ключ шифрования.
Сжато сформулировать эту задачу можно таким образом.
Дано:
где — -й имеющийся шифротекст, — соответствующий открытый текст, а — функция расшифрования при помощи ключа .
Найти: используемый ключ шифрования .
Интересным может быть тот факт, что атака на основе подобранного шифротекста также может носить название «Атаки в обеденное время» («lunchtime attack») или «Ночной атаки» («midnight attack»). Скажем, в названии «Атаки в обеденное время» отражается тот факт, что легитимный пользователь может оставить свой компьютер с функцией расшифрования без присмотра на время обеда, а криптоаналитик может этим воспользоваться.
Вопреки своему названию атака на основе подобранного ключа не подразумевает под собой того, что криптоаналитик занимается простым перебором ключей в надежде найти нужный. Атака такого типа строится на том, что криптоаналитик может наблюдать за работой алгоритма шифрования, в котором используются несколько ключей. Криптоаналитик изначально ничего не знает о точном значении ключей, зато ему известно некоторое математическое отношение, связывающее между собой ключи. Примером тому может служить ситуация, когда криптоаналитик выяснил, что последние 80 битов у всех ключей одинаковы, хотя сами значения битов могут быть неизвестными.
Криптоаналитик может использовать так называемый «человеческий фактор», то есть пытаться с помощью шантажа, подкупа, пыток или иных способов получить информацию о системе шифрования или даже сам ключ шифрования. Например, дача взятки, как одна из разновидностей бандитского криптоанализа, может носить название «Вскрытие с покупкой ключа». Таким образом методика вскрытия построена на слабости людей как составной части системы защиты информации.
Бандитский криптоанализ считается очень мощным способом взлома системы, а зачастую и наилучшим путём вскрытия шифров.
Шнайер Б.Криптоанализ // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — С. 19—22. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.