Любая попытка со стороны злоумышленника расшифровать шифртекст С для получения открытого текста М или зашифровать свой собственный текст М' для получения правдоподобного шифртекста С', не имея подлинного ключа, называется криптоанапитической атакой.
Вообще, совокупность методов преобразования информации, направленных на раскрытие исходного текста зашифрованного сообщения без доступа к ключу, называется криптоанализом, а специалисты, владеющие этими методами, называются криптоаналитиками.
Если предпринятые криптоаналитические атаки не достигают поставленной цели и криптоаналитик не может, не имея подлинного ключа, вывести М из С или С' из М', то полагают, что такая криптосистема является криптостойкой. Успешный анализ может раскрыть исходный текст или ключ. Он позволяет также обнаружить слабые места в криптосистеме, что, в конечном счете, ведет к тем же результатам.
Фундаментальное правило криптоанализа (правило Керкхоффа) заключается в том, что стойкость шифра должна определяться только секретностью ключа. Иными словами, правило Керкхоффа состоит в том, что весь алгоритм шифрования, кроме значения секретного ключа, известен криптоаналитику противника. Это обусловлено тем, что криптосистема, реализующая семейство криптографических преобразований, обычно рассматривается как открытая система. Такой подход отражает очень важный принцип технологии защиты информации: защищенность системы не должна зависеть от секретности чего-либо такого, что невозможно быстро изменить в случае утечки секретной информации. Обычно криптосистема представляет собой совокупность аппаратных и программных средств, которую можно изменить только при значительных затратах времени и средств, тогда как ключ является легко изменяемым объектом. Именно поэтому стойкость криптосистемы определяется только секретностью ключа.
Другое почти общепринятое допущение в криптоанализе состоит в том, что криптоаналитик имеет в своем распоряжении шифртексты сообщений.
Существует четыре основных типа криптоаналитических атак. Конечно, все они формулируются в предположении, что криптоаналитику известны применяемый алгоритм шифрования и шифртексты сообщений. Перечислим эти криптоаналитические атаки.
1. Криптоаналитическая атака при наличии только известного шифртекста. Криптоаналитик имеет только шифртексты С1, С2,…, Сi нескольких сообщений, причем все они зашифрованы с использованием одного и того же алгоритма шифрования EK. Работа криптоаналитика заключается в том, чтобы раскрыть исходные тексты M1, M2,…, Mi по возможности большинства сообщений или, еще лучше, вычислить ключ K, использованный для шифрования этих сообщений, с тем, чтобы расшифровать и другие сообщения, зашифрованные этим ключом.
2. Криптоаналитическая атака при наличии известного открытого текста. Криптоаналитик имеет доступ не только к шифртекстам С1, С2,…, Сi нескольких сообщений, но также к открытым текстам M1, M2,…, Mi этих сообщений. Его работа заключается в нахождении ключа K, используемого при шифровании этих сообщений, или алгоритма расшифрования DK любых новых сообщений, зашифрованных тем же самым ключом.
3. Криптоаналитическая атака при возможности выбора открытого текста. Криптоаналитик не только имеет доступ к шифртекстам С1, С2,…, Сi и связанным с ними открытым текстам M1, M2,…, Mi нескольких сообщений, но и может по желанию выбирать открытые тексты, которые затем получает в зашифрованном виде. Такой криптоанализ получается более мощным по сравнению с криптоанализом с известным открытым текстом, потому что криптоаналитик может выбрать для шифрования такие блоки открытого текста, которые дадут больше информации о ключе. работа криптоаналитика состоит в поиске ключа K, использованного для шифрования сообщений, или алгоритма расшифрования DK новых сообщений, зашифрованных тем же ключом.
4. Криптоаналитическая атака с адаптивным выбором открытого текста. Это – особый вариант атаки с выбором открытого текста. Криптоаналитик может не только выбирать открытый текст, который затем шифруется, но и изменять свой выбор в зависимости от результатов предыдущего шифрования. При криптоанализе с простым выбором открытого текста криптоаналитик обычно может выбирать несколько крупных блоков открытого текста для их шифрования; при криптоанализе с адаптивным выбором открытого текста он имеет возможность выбрать сначала более мелкий пробный блок открытого текста, затем выбрать следующий блок в зависимости от результатов первого выбора, и т.д. Эта атака предоставляет криптоаналитику еще больше возможностей, чем предыдущие типы атак.
Кроме перечисленных основных типов криптоаналитических атак, можно отметить, по крайней мере, еще два типа.
5. Криптоаналитическая атака с использованием выбранного шифртекста. Криптоаналитик может выбирать для расшифрования различные шифртексты С1, С2,…, Сi и имеет доступ к расшифрованным открытым текстам M1, M2,…, Mi. Например, криптоаналитик получил доступ к защищенному от несанкционированного вскрытия блоку, который выполняет автоматическое расшифрование. Работа криптоаналитика заключается в нахождении ключа. Этот тип криптоанализа представляет особый интерес для раскрытия алгоритмов с открытым ключом.
6. Криптоаналитическая атака методом полного перебора всех возможных ключей. Эта атака предполагает использование криптоаналитиком известного шифртекста и осуществляется посредством полного перебора всех возможных ключей с проверкой, является ли осмысленным получающийся открытый текст. Такой подход требует привлечения предельных вычислительных ресурсов и иногда называется силовой атакой.
Почти все эти атаки применимы также к схемам цифровой подписи и кодам аутентификации сообщений. В этом случае целью атакующего является подлог сообщения или кода аутентификации.