Выбрать главу

ОЦЭСЫЁВАСЙБЮЮХФДФЛВАЯЯЮИФАВН

Настало время разобраться с этим. Игнорируя навязчивые мысли вроде «кто мне это прислал?», а также тот факт, что глаза у меня слезятся от недосыпа, я начинаю искать закономерности. Минут через десять я вполне уверяюсь в своей изначальной интуитивной теории: это не простая моноалфавитная подстановка. Так что я решаю пойти путем Вигенера и посмотреть, что из этого получится.

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

Моноалфавитные шифры существуют в различных формах уже многие сотни, если не тысячи, лет. В этих шифрах каждая буква исходного текста заменяется другой буквой соответствующего шифровочного алфавита. «А» может записываться как «Р», а «b», например, как «S». Каждой букве алфавита всегда будет соответствовать какая-то одна определенная буква в шифре. Такой шифр называется моноалфавитным, так как используется только один шифровочный алфавит. Я помню, как в детстве мне это объяснили и намекнули, что подобрать ключ к любой разновидности такого шифра — «легкотня легкотней». Например, «Цезарь»: да, это и вправду легкотня. Нужно только выяснить, на сколько шагов «сдвинут» алфавит, и дело в шляпе. Но если шифровочный алфавит был достаточно сильно рандомизирован, задача становится покаверзней. Фактически, если считать шифровочный алфавит «ключом», тогда у «Цезаря» — двадцать пять потенциально возможных ключей (так как существует лишь двадцать пять способов «сдвинуть» алфавит, не меняя порядок букв). Но если шифровочный алфавит (стандартный английский алфавит из двадцати шести букв) был перегруппирован случайным образом, то у него, как однажды продемонстрировал мне дедушка, оказывается 403 291 461 126 605 635 584 000 000 потенциально возможных ключей; это число является факториалом двадцати шести (что математики довольно остроумно обозначают как 26! и тем доказывают, что тоже неравнодушны к восклицательным знакам, в точности как работники индустрии игрушек).

Так я впервые познакомилась с факториалами. На тот случай, если вам это вдруг зачем-то понадобится, факториалы вычисляются так: 3! = 3×2×1,5! = 5×4×3×2×1, 13!  = 13×12×11×10×9×8×7×6×5×4×3×2×1 и так далее. На самом деле это очень даже ловко придумано. 100! — произведение всех чисел от 1 до 100 — больше, чем количество атомов в известной Вселенной. Как бы то ни было, объяснил дедушка, никто не сможет проверить все эти ключи. Это правда: даже современный компьютер провозился бы дольше, чем существует Вселенная — прикиньте, да? — чтобы выполнить подобную калькуляцию (допустим, вычисляя количество всех возможных конфигураций в «го»).

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

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

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

Скажем, кто-то посылает вам текст, составленный с помощью моноалфавитного шифра с подстановкой, и в тексте значится что-нибудь вроде: QEPN BVQE С ASFN AXNYN GCZ С TSYU GXQ AXQBTXA ZXN PQBUH YNCH PSVXNYZ BEASU AXN НСК ZXN YNCUUK ХСН AQ. Ваш первый шаг таков. Есть ли в тексте отдельно от других стоящая буква? Да. Это «С», она встречается дважды. Ну что ж, в английском есть только два общеупотребительных однобуквенных слова: «I»[34] и «а». Значит, «С» означает одно из них. Потом вы ищете самые часто встречающиеся буквы. В данном шифре это «N» (9 раз), «X» (тоже 9), «С» (7), «А» (тоже 7), «Q» (5), «Y» (5) и «U» (тоже пять раз, включая появление в диграфе из двух одинаковых букв в третьем слове с конца). Диграф — это двухбуквенная комбинация. Триграф — трехбуквенная. Диграфы бывают полезны при разгадывании моноалфавитных шифров, и только некоторые буквы образуют «сдвоенные» диграфы; чаще всего встречаются пары «ss», «ее», «tt», «ff», «ll», «mm» и «оо».

Теперь вспомните: что вам уже известно об английском языке? Вы знаете, что — самые распространенные буквы во всех «нормальных» текстах. В присланной вам шифровке больше всего букв «N» и «X». Может, какая-то из них соответствует «Е» или «Т»? Самое распространенное слово в английском — «the». Есть ли в тексте какие-нибудь трехбуквенные слова, которые, судя по их виду, могли бы означать «the»? Чтобы разгадать моноалфавитный шифр, не пытаясь при этом угадать ключ, приходится быть сыщиком слов. Вы должны искать закономерности. Вам надо начать подставлять те буквы, которые, как вы считаете, подходят, и посмотреть, не выплывет ли что-нибудь осмысленное. Пойдя этим путем, вы сможете разгадать послание.