
Безусловная и теоретическая стойкость 357
где H(K) характеризует количество неизвестных в двоичном представлении ключа, а
N
0
D в широком смысле определяет количество уравнений, которые необходимо решить
для нахождения ключа. Когда количество уравнений меньше количества неизвестных,
однозначное решение невозможно и система является безусловно стойкой. Когда коли-
чество уравнений больше количества неизвестных, т.е. как в (18.8), однозначное реше-
ние возможно и система не является безусловно стойкой, хотя она все
еще может
быть вычислительно стойкой.
Несмотря на то, что в теории кодирования Шеннона (т.е. в предположении, что крип-
тоаналитик располагает неограниченными ресурсами) обычно рассматривается нападе-
ние при наличии только шифрованного текста, но иногда используются и комбинации
шифрованного и открытого текста, что повышает избыточность.
Уравнение (18.7) показывает ценность снятия данных, производимого перед
шифро-
ванием.
Согласно Фридмэну, почти любая криптограмма из 25 букв и более, полученная
подстановкой, может быть раскрыта. Поскольку криптоаналитик располагает ограни-
ченными вычислительными возможностями, он не может перепробовать все
26! ≈
4.10
26
ключей и должен полагаться на субоптимальные методы, такие как частотный
анализ. Таким образом, можно сказать, что
N
0
= 25 знаков.
В случае ленты однократного использования
H(K) = ∞, откуда, согласно (7), N
0
= ∞.
После простой подстановки получаем
H(K) = log
2
(26!) = 88,4 бит, поэтому для вычис-
ления
N
0
принято находить D. Каждый знак мог бы переносить максимум log
2
(26) = 4,7
бит информации, если бы все комбинации были возможны. Но поскольку правила пра-
вописания и грамматики запрещают использование большинства комбинаций, то в сред-
нем каждый знак переносит всего лишь
1,5 бит информации. Оставшиеся 3,2 бит оказы-
ваются избыточными, откуда
D = 3,2 бит/знак. Таким образом, уравнение (18.7) пред-
ставляет величину
N
0
= 28 знаков, что хорошо согласуется с практикой.
Например, если перехвачено сообщение длиной в
1000 знаков и известна некоторая
последовательность из
100 знаков открытого текста, то общая избыточность составит не
3200 бит, а (900 знаков) × (3,2 бит/знак) + (100 знаков) × (4,7 бит/знак) = 3350 бит.
Сжатие данных устраняет избыточность, увеличивая тем самым интервал однознач-
ности. Избыточная информация может быть добавлена после дешифрирования. Совер-
шенное сжатие данных устранило бы всю избыточность и привело бы к
N
0
= ∞ при лю-
бой длине ключа, но это довольно дорогое мероприятие.
Важным подготовительным этапом для проверки стойкости шифра является проду-
мывание различных предполагаемых возможностей, с помощью которых противник мо-
жет вскрыть шифр. Появление таких возможностей у противника обычно не зависит от
собственно используемого криптографического метода, а является следствием некото-
рой внешней
подсказки, наличие которой существенно влияет на стойкость шифра. По-
этому оценки стойкости шифра всегда содержат те предположения о противнике, в ус-
ловиях которых эти оценки получены.
Прежде всего, обычно считается, что противник знает сам шифр и имеет возможность
его предварительного изучения. Противник также знает некоторые характеристики откры-