Статистический криптоанализ
Статистический криптоанализ — метод криптографического анализа. С его помощью могут быть раскрыты многие типы шифров.
Описание метода
В общем случае статистический анализ выполняется следующим образом:
- По перехваченной криптограмме вычисляется некоторая статистика. Эта статистика такова, что для всех осмысленных сообщений она принимает значения, мало отличающиеся от , величины, зависящей только от частного используемого ключа.
- Полученная таким образом величина служит для выделения тех возможных ключей, для которых значение лежит в близкой окрестности наблюденного значения.
Статистика, которая не зависит от или изменяется в зависимости от так же сильно, как и в зависимости от , не может быть существенна для выделения некоторого подмножества ключей. Так, в шифрах транспозиции подсчёт частот букв не даёт никакой информации о — для любого эта статистика остается той же самой. Поэтому нельзя извлечь никакой пользы из подсчёта частот для раскрытия шифров транспозиции. Более точно данной статистике можно приписать некоторую «разрешающую мощность». Для каждой величины имеется условная ненадёжность ключа (ненадёжность при фиксированном значении ) и это всё, что известно относительно ключа. Среднее арифметическое взвешенное этих величин даёт среднюю ненадёжность ключа при известном , где является априорной вероятностью конкретного значения . Разность объёма ключа и этой средней неопределённости измеряет «разрешающую мощность» статистики . В строго идеальном шифре все статистики данной криптограммы не зависят от частного используемого ключа. Это следует из свойства сохранения меры преобразованием в пространстве или в пространстве .
Имеются хорошие и плохие статистики, точно так же, как имеются хорошие и плохие методы испытаний и ошибок. Фактически проверка некоторой гипотезы методом испытаний и ошибок представляет собой некоторый тип статистики, и то, что было сказано выше относительно наилучших типов испытаний, верно и вообще.
Свойства хорошей статистики
Хорошая статистика для решения системы должна обладать следующими свойствами:
- Она должна просто вычисляться;
- Она должна зависеть от ключа больше, чем от сообщения, если с её помощью требуется находить ключ. Изменения по не должны маскировать изменений по . Те значения статистики, которые могут быть «различены», несмотря на «размытость», создаваемую изменением по , должны разделять пространство ключей на несколько подмножеств, вероятности которых сравнимы по величине, причём статистика будет характеризовать подмножество, в котором лежит правильный ключ;
- Статистика должна давать информацию о значительных объёмах ключа, а не об объёмах, составляющих малую долю общего числа бит;
- Информация, даваемая статистикой, должна быть простой и удобной для использования. Таким образом, подмножества, на которые статистика разделяет пространство ключей, должны иметь простую структуру в пространстве ключей.