Таинственные страницы. Занимательная криптография - Иван Ефишов
Шрифт:
Интервал:
Закладка:
В случае омофонического шифра криптоаналитику следует попытаться получить максимум информации из сдвоенных символов (то есть один и тот же знак пишется в тексте два раза подряд) и отследить группы символов, их содержащие.
Разобьем логогриф на десятки символов для удобства исследования:
0: pxq∫w lznjd
1: vyn∫t iddkq
2: xhlee bfpxd
3: fgtlz bccfb
4: k∫odx okfng
5: lqxn∫ shejm
6: lckzx hrfwj
7: gfhxv zjnbg
8: yxcdg ixkox
9: jmlnc oigdx
10: vzflm e∫nfy
11: jqfan gvnyl
12: rcxfo nbfja
13: lrkw∫ nbfpj
14: oizox qknub
15: ro∫ad giaxw
16: kcbrb cklof
17: rnjwn g∫zfh
18: gjfcb cfvqj
19: txeev tbzfy
20: jsbzh ∫mlnb
21: g∫sqj wglnx
22: vzfko nbcoi
23: gdxvr kfjal
24: zxt∫n ilenf
25: gvcbo ofcfx
26: nnfgn kbcjn
27: njynx vplgn
28: bfzfo xeejd
29: gxbcj cn∫dy
30: vdbhz lnvyx
31: mbcbl obbcy
32: fekon bceio
33: bfplw sxzxf
34: jcndb hrlzq
35: xs∫on bcolj
36: f∫yqf mjeev
37: hleex oiexm
38: gicfd nktvo
39: ldxnf bxo∫c
40: ktvpx rnv
Сдвоенные символы позволяют различать гласные и согласные буквы. Вот они в порядке их следования в криптограмме (сдвоенные символы являются «каркасом» целой группы символов): iddk (с 16-й позиции в логогрифе; далее кратко будем писать просто 16), leeb (23), bccf (36), xeev (192), boof (254), xnnf (260), jnnj (269), xeej (286), obbc (316), jeev (367) и leex (372). Скорее всего, символы по краям каркаса представляют гласные, а именно: i, k, l, f, x, j, v. Внимательнее приглядимся к трем не перечисленным выше, но также «крайним» символам b, о, и с, которые одновременно являются и каркасными. Исключение из них составляет только b. Обратим на него внимание в группе obbc. Но ведь и о, и с образуют в следующих группах bccf, boof каркас, и здесь мы видим b также крайним символом; поэтому, думается, нет никакого риска в предположении, что символ b обозначает гласный звук. Остальные знаки, скорее всего, обозначают согласные: d, e, c, o, n.
Особый интерес представляет символ е. Он появляется целых пять раз сдвоенным (24, 193, 287, 368, 373) и шесть раз одиночным (58, 106, 248, 322, 328, 378). Буква, сама по себе достаточно редкая, однако часто удваиваемая в латыни, – это l (например, в словах aucella (птичка), bellum (война), cellа (каморка), mantellum (покрывало), nullum (ничто) и т. д.); можно просто взглянуть на любой латинский текст, чтобы убедиться в этом. Итак, сделаем предположение, что e – это буква L.
В криптограмме есть повторы, состоящие из двух, трех и более символов. Они соответствуют биграммам, триграммам (устойчивые сочетания из двух, трех букв в языке; например, в русском языке суффиксы -ск-, – чик-) или часто употребляются в речи (он, она, что, для). Обычно это маленькие слова, предлоги и т. п.; например, в латыни это in (в), ab (от), cum (с), а также окончания um, us. Все это может оказаться полезным. Но в то же время эти слова будет трудно обнаружить в шифрованном тексте, если только вы не обладаете какой-либо дополнительной информацией.
Обратите внимание на две довольно красивые последовательности: fjalrkw∫n (128) и fjalzxt∫n (237). Выше мы уже сделали вывод, что k и х являются гласными. Если они представляют один и тот же гласный (благодаря двум почти одинаковым девятеричным последовательностям эта гипотеза не лишена оснований с точки зрения статистики), то эти символы – два «костюма» одной и той же пока не известной гласной буквы открытого (обычного, нешифрованного) алфавита. Тогда очевидно, что и символы r и z соответствуют одной и той же букве; то же самое можно сказать и о символах w и t.
Группа из семи символов coigdxv повторяется дважды (95 и 228). Возможно, что это целое слово или его часть; повтор семи знаков в тексте криптограммы явно неслучаен. Предоставим читателю небольшую дополнительную информацию, которую Эйлер благоразумно решил скрыть от Гольдбаха. Как было сказано выше, перед нами текст, принадлежащий перу Цезаря. А данное слово (без одной буквы) обозначает оружие той эпохи, и полководец в дешифруемом нами отрывке описывает свои военные успехи в Галлии.
Мы сумели различить согласные и гласные. Опыт показывает, что в подобного рода шифрах легче идентифицировать согласные, чем гласные. Действительно, латинский текст, как правило, состоит из большего количества согласных, чем гласных. Гласных всего шесть (A, E, I, O, U, Y; причем последняя буква встречается только в словах, заимствованных из греческого). В качестве первой серьезной подсказки отметим, что гласной Y в логогрифе нет, так же как нет и других редких букв K и Z. Гласные, которые присутствуют в криптограмме, не так уж и сильно отличаются по частоте друг от друга; особенно если учесть, что, вероятнее всего, именно для них Эйлер ввел по два или более символа на замену[34]. Среди согласных, напротив, есть как редкие и даже очень редкие, так и частые буквы. Но если вы просто начнете искать их методом перебора, то, рискнем предположить, ваше терпение быстро лопнет. Возьмем, к примеру, несколько наиболее частых в латыни согласных: T (относительная частота 8,00 %), S (7,60 %), R (6,67 %) и N (6,28 %). Предположим, что им соответствуют (в любом порядке) следующие символы в логогрифе: n (8,33 %), c (5,64 %), o (5,39 %), g (4,41 %). Для начала заменим n на T, c на S, o на R, g на N и проверим нашу догадку. Если ничего не получится, то придется проверять, например, гипотезу, что n – это R, c – N, o – S, а g – T. Скорее всего, потребуется перебрать все возможные варианты замен символов. Это связано с тем, что логогриф содержит небольшое количество знаков и трудно надеяться, что относительные частоты символов выстроятся по ранжиру и совпадут с относительными частотами букв. Гораздо вероятнее, что они с различными отклонениями будут варьироваться вокруг соответствующих им теоретических частот. А так как вышеприведенные частоты символов n, c, o и g мало отличаются друг от друга, то и неудивительно, что, например, может оказаться, что буквой S (7,60 %) будет не символ c (5,64 %), а его сосед по относительной частоте o (5,39 %). Впрочем, не исключено, что мы частично (а может быть, и полностью) не угадали замену символов. В качестве третьей подсказки сообщим читателю, что выше мы все-таки правильно угадали три из четырех замен букв символами. Какие? Пусть окончательное решение останется за вами. Конечно, для проверки этой гипотезы потребуется немало времени – или же толика удачи.
Рассмотрим вместе с читателем работу данного метода на следующем примере.
В логогрифе есть сочетание букв nco (94, эта группа частично входит в первое появление coigdxv); выше мы уже предположили, что это наиболее частые согласные. Из них можно составить всевозможные триграммы TSR, TSN, TRS, TRN, TNS, TNR, STR, STN, SRT и т. д. (всего существует 64 подобные трехбуквенные группы), которые могут находиться в любой части слова. Триграмма STR кажется перспективной. Например, она встречается в таких латинских словах, как astrum (звезда), strix (сова ушастая, сипуха) и других. Увы, изучив более подробно эту гипотезу (как и все другие случаи), никаких достоверных выводов сделать не удастся. Возможно, потому что эти три буквы распределились среди не одного, а двух слов? Нет, дело в другом: ни одна из триграмм вообще не является верной дешифровкой символов nco (это еще одна наша, четвертая уже по счету, подсказка, данная, чтобы читатель не продолжал бесплодные попытки проверки этой гипотезы).
Поэтому, как советует Пьер Специали, лучше всего начальные усилия направить на наиболее редкие символы криптограммы. Они-то, скорее всего, и будут соответствовать наиболее редким буквам в тексте; к тому же вряд ли для редких букв были предусмотрены два или более омофона. Рассмотрим символ а, который появляется только пять раз, а именно в группах fangv (113), jalrk (129), ∫adgiaxwkc (153), jalzx (238).
Давайте сначала внимательно рассмотрим в этих группах триграммы ang и adg. Воспользуемся предположением, приведенным выше: символ n обозначает либо T, либо S, либо R, либо N. Пусть это будет T; остановимся на этой букве, так как у n и T относительные частоты достаточно близки (8,41 % и 8,00 %), а у остальных букв-кандидатов она несколько ниже. Символ g (4,41 %) встречается реже (примерно в полтора раза), чем оставшиеся согласные S (7,60 %), R (6,67 %), N (6,28 %). Может быть, все эти частые согласные заменяются двумя символами? Что же теперь в свете этой информации мы можем сказать о символе а (1,23 %)? Он по встречаемости в табл. 2 третий с конца. Сравним его относительную частоту с относительными частотами последних букв в табл. 1. Возможно, это буква X (0,60 %)?[35] Тогда имеем возможные триграммы: XTS, XTR, XTN. В этом случае, в отличие от вышеприведенного, наш выбор невелик, фактически он единственен: ang = XTR, так как только эта триграмма из приведенных трех хорошо «обрамляется» по бокам гласными. Очевидно, что предшествующая гласная (символ f, занимающий верхнюю позицию в табл. 2) – это буква Е, которая стоит одной из первых в табл. 1, и тогда fang = EXTR.