logo search
Коды и шифры

Сколько знаков необходимо для дешифрования простой замены?

Выше в примере 2.2 у нас было в наличии 265 знаков, и дешифрование простой замены оказалось не очень трудным делом. Смогли бы мы справиться с ним столь же легко, будь у нас, к примеру, 120 знаков? И вообще (этот вопрос уже ставился нами ранее), каково минимальное число знаков, которое, скорее всего, окажется достаточным для криптоаналитика при дешифровании подобного шифра? На данный вопрос отвечает теория информации: оценку этого числа дает формула, зависящая от частот одиночных знаков или полиграфов языка. В [2.5] описано применение этой формулы для конкретного приложения. Если использовать только частоты отдельных знаков, то для шифра простой замены, возможно, окажется достаточно 200 знаков, но использование диграфов (таких как ON, IN или AT) или триграфов (таких как THE или AND) чрезвычайно усиливает возможности дешифрования. Полагают, что в этом случае может оказаться достаточно всего 50 или 60 знаков.

Задача 2.1

Перехвачен шифрованный текст на английском языке длиной 202 знака. Известно, что использован шифр простой замены, и что пробелы в открытом тексте заменены на букву Z, а все остальные знаки препинания опущены. Есть основания полагать, что автор предпочитает использовать устаревшую форму местоимения "thy" вместо местоимения "your". Дешифруйте текст.

VHEOC WZIHC BUUCW HDWZB IRWDH TDOZH VIHVI

YBWIU HQOWU HUFWH ZOXBI LHTBI LWDHG DBUWE

HVIRH FVXBI LHGDB UHZOX WEHOI HIODH VCCHU

FPHQB WUPHI ODHGB UHEFV CCHCN DWHBU HSVYJ

HUOHY VIYWC HFVCT HVHCB IWHIO DHVCC HUFPH

UWVDE HGVEF HONUH VHGOD RHOTH BU

Пример 2.2 показывает, что хотя шифры простой замены вскрыть гораздо сложнее, чем шифры Юлия Цезаря, всё же их слишком легко дешифровать, и поэтому применение их не имеет большого смысла. Для вскрытия такого шифра криптоаналитику всего лишь необходимо иметь достаточный объем шифрованного текста (это соответствует первой ситуации, упомянутой в предыдущей главе). Если ему известен также и соответствующий открытый текст (как во второй ситуации), его задача становится просто тривиальной, если только "сообщение" не состоит из очень малого числа различных букв. В третьей ситуации, когда у криптоаналитика есть возможность подобрать текст для зашифрования, ему достаточно задать такое "сообщение":

ABCDEFGHIJKLMNOPQRSTUVWXYZ

и его работа на этом завершена.

Несведущему читателю может показаться, что поскольку число различных вариантов превосходит 1026 (то есть сто миллионов миллионов миллионов миллионов), то задача вскрытия шифра простой замены только по шифрованному тексту (для решения которой методом "грубой силы", как уже отмечалось ранее, компьютеру потребуются миллионы лет для перебора всех вариантов) является невыполнимой. Однако мы только что видели, как это можно сделать вручную в течение часа, если использовать известные неравновероятные частоты встречаемости знаков и грамматические правила английского, или любого другого языка, на котором составлено сообщение, вкупе с любой доступной контекстной информацией. Из этого следует один очень важный урок:

крайне опасно судить о стойкости системы шифрования только по времени, которое необходимо затратить самому быстрому компьютеру, какой только можно вообразить, для дешифрования методом "грубой силы".

Итак, на следующем этапе мы рассмотрим способы повышения стойкости этих простых методов шифрования. Это сделано в следующей главе.