Криптоанализ как наука выходит за рамки данного курса, однако знание некоторых его положений необходимо для глубокого понимания криптографии.
Главным действующим лицом в криптоанализе выступает злоумышленник или криптоаналитик. Под ним понимают лицо (группу лиц), целью которых является прочтение или подделка защищенных криптографическимим методами сообщений.
В отношении злоумышленника принимается ряд допущений, которые, как правило кладутся в основу математических или иных моделей:
1. Злоумышленник знает алгоритм шифрования (или выработки цифровой подписи) и особенности его реализации в конкретном случае, но не знает секретного ключа.
2. Злоумышленнику доступны все зашифрованные тексты. Злоумышленник может иметь доступ к некоторым исходным текстам, для которых известны соответствующие им зашифрованные тексты.
3. Злоумышленник имеет в своем распоряжении вычислительные, людские, временные и иные ресурсы, объем которых оправдан потенциальной ценностью информации, которая будет добыта в результате криптоанализа.
Попытку прочтения или подделки зашифрованного сообщения, вычисления ключа методами криптоанализа называют криптоатакой или атакой на шифр. Удачную криптоатаку называют взломом.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к расшифрованию без знания ключа (то есть криптоатаке). Показатель криптостойкости – главный параметр любой криптосистемы. В качестве показателя криптостойкости можно выбрать:
1. количество всех возможных ключей или вероятность подбора ключа за заданное время с заданными ресурсами;
2. количество операций или время (с заданными ресурсами), необходимое для взлома шифра с заданной вероятностью;
3. стоимость вычисления ключевой информации или исходного текста.
Однако следует понимать, что эффективность защиты информации криптографическими методами зависист не только от криптостойкости шифра, но и от множества других факторов, включая вопросы реализации криптосистем в виде устройств или программ. При анализе криптостойкости шифра необходимо учитывать и человеческий фактор. Например, подкуп конкретного человека, в руках которого сосредоточена необходимая информация, может стоить на несколько порядков дешевле, чем создание суперкомпьтера для взлома шифра.
Современный криптроанализ опирается на такие математические науки как теория вероятностей и математическая статистика, алгебра, теория чисел, теория алгоритмов и ряд других. Все методы криптоанализа в целом укладываются в четыре направления.
1. Статистический криптоанализ. Исследует возможности взлома криптосистем на основе изучения статистических закономерностей исходных и зашифрованных сообщений. Его применение осложнено тем, что в реальных криптосистемах информация перед шифрованием подвергается сжатию (превращая исходный текст в случайную последовательность символов), или в случае гаммирования используются псевдослучайные последовательности большой длины.
2. Алгебраический криптоанализ. Он занимается поиском математически слабых звеньев криптоалгоритмов. К примеру в 1997 году в эллиптических системах был выявлен класс ключей, которые существенно упрощали криптоанализ.
3. Дифференциальный (или разностный) криптоанализ.Основан на анализе зависисмости изменения шифрованного текста от изменения исходного текста. Впервые использован Мерфи, улучшен Бихэмом и Шамиром для атаки на DES.
4. Линейный криптоанализ. Метод, основанный на поиске линейной аппроксимации между исходным и шифрованным текстом. Предложенный Мацуи, также впервые был применен при взломе DES. Как и дифференциальный анализ в реальных криптосистемах может быть применен только для анализа отдельных блоков криптопреобразований.
Опыт взломов криптосистем (в частности, конкурсов, которые регулярно устраивает RSA Data Security) показывает, что главным методом остается «лобовая» атака – проба на ключ. Также, как показывает опыт, криптосистемы больше страдают от небрежности в реализации.