— С их помощью можно прочесть любой шифр?
Томаш рассмеялся.
— Нет, красавица! Только шифры замены.
— Они какие-то особенные?
— Существует три вида шифров. Замещающий, подстановочный и скрытый. Скрытый шифр маскируется под обычное, незашифрованное сообщение. Эта система пришла из древности, когда послание прятали на голове у гонца или раба. Автор сообщения записывал его у вестника под волосами. Гонцу удавалось легко миновать вражеские посты. Кто станет копаться в голове у раба? А когда он прибывал к адресату, его брили наголо и читали послание.
— Какой кошмар! — поежилась Лена, непроизвольно коснувшись своей роскошной белокурой гривы. — А другие типы?
— Подстановочный шифр основан на перестановке знаков. По сути это анаграмма, вроде той, что я расшифровал в Рио. Молок или Колом, смотря с какой стороны прочесть. Это простейшая анаграмма. Этот способ рискованно применять к коротким сообщениям: слишком мало вариантов, и правильный легко подобрать методом исключения. Чем больше знаков, тем больше возможных комбинаций. Например, фраза из тридцати шести букв дает триллионы вариантов. — Томаш вывел в блокноте число с огромным количеством нулей: 50 000 000 000 000 000 000 000 000 000 000. — Видишь? Всего из тридцати шести букв. — Он приписал внизу число 36 и провел к нему стрелочку. — Разумеется, такая масса возможностей делает шифр практически нечитаемым ни для кого, в том числе и для адресата. Мне, как ты помнишь, пришлось расшифровывать фразу «Moloc, ninundia omastoos». Она состоит из двадцати букв, а это означает миллионы возможных комбинаций. К первой строке я решил применить симметричную перестановку, когда последний знак становится первым, предпоследний вторым, и так далее. Получилось слово Colom. Во второй фразе симметрия была нарушена, к ней применили перекрестную перестановку.
— Ты гений, — проговорила Лена с невыразимой нежностью. — А этот шифр? Он тоже подстановочный?
— Вряд ли. Скорее, замещающий.
— Почему ты так решил?
— По внешнему виду послания. Посмотри внимательнее на первую колонку. Она состоит из знаков, сгруппированных по трое в произвольном порядке. Видишь? Quo, lae, doc. Складывается впечатление, что настоящие знаки подменены другими.
Лена закусила губу.
— В каком смысле подменены?
— Понимаешь, это когда одни буквы или цифры заменяются другими бессистемно, чтобы посторонний человек не догадался, какую систему использовал шифровальщик. Возьмем, к примеру, слово pai. Если поменять р на t, а на х, a i на r, получится шифровка txr. Чтобы ее прочесть, нужно знать, что р это t, а это х, a i — r. Тот, кто не знаком с принципами подмены, никогда не расшифрует наше послание.
За разговорами они доели рыбу, и Лена отправилась на кухню за десертом. На сладкое было яблочное пюре.
— Ты на днях смеялся над названием äppelkaka, вот я и решила приготовить это блюдо, — объяснила шведка, поставив миску на стол. Ловко поделив пюре на две порции, она подвинула Томашу тарелку. — Попробуй.
Томаш зачерпнул ложку ароматного пюре, а Лена, отставив в сторону тарелку, потянулась за книгой.
— А этот замещающий шифр часто используется?
— Очень. Впервые его описал Юлий Цезарь в «Записках о галльской войне». Там каждую букву алфавита заменяли третьей от нее. А превращалась в d, b в е, и дальше по тому же принципу. Эта методика вошла в историю как «шифр Цезаря». В IV веке до нашей эры брахман Ватсьяйана, автор «Камасутры», советовал женщинам шифровать письма к любовникам. Предложенная им техника основана как раз на замещении. В наши дни ею пользуются, чтобы передавать особо важные и секретные сообщения, над их расшифровкой трудятся мощнейшие компьютеры, способные обрабатывать за секунду миллионы комбинаций… М-м-м… — промычал он, щурясь от удовольствия. — Очень даже неплохо.
Лена пропустила похвалу мимо ушей, ее вниманием завладела шарада Тошкану.
— Если это и вправду замещающий шифр, как же ты его прочтешь? Ведь ключ тебе неизвестен?
— Нет.
— Как же быть?
Томаш взял в руки книгу в синем переплете.
— Прибегнуть к помощи частотных таблиц.
— В них можно отыскать ключ?
— Нет, — покачал головой Томаш. — Но они помогут сузить поиск. — Он собрал с тарелки остатки яблочного пюре и с блаженным видом отправил в рот последнюю ложку. — Эти таблицы появились благодаря арабским книжникам, которые взялись подсчитать, сколько раз в Коране упоминается Мухаммед. А заодно установить частоту использования остальных слов и букв. Оказалось, что некоторые буквы появляются на страницах священной книги чаще остальных. Самые распространенные буквы арабского алфавита — а и I, образующие артикль al; они встречаются в десять раз чаще чем, например, буква j. Средневековые ученые были настолько поражены собственным открытием, что решили составить первую в мире частотную таблицу для арабского языка. Их труд вдохновил другого арабского мыслителя, Абу Аль-Кинди, который жил в девятнадцатом веке; он написал трактат по криптографии, в котором утверждал, что самый распространенный знак в зашифрованном сообщении оказывается самым распространенным и в системе, которую использовали для шифровки.
— Не понимаю.
— Предположим, сообщение, которое надо зашифровать, изначально написано по-арабски. Самые популярные буквы арабского алфавита — а и l, следовательно, в зашифрованном послании они тоже будут встречаться чаще всего. Чтобы приступить к дешифровке, нам придется заменить наиболее распространенные знаки шифра, скажем, t и d, на а и l. Вот тут-то нам и пригодятся частотные таблицы. По ним можно с большой долей вероятности определить, какие буквы в действительности скрываются за знаками шифровки.
— Теперь начинаю понимать. Оказывается, все очень просто.
— Не спеши. Таблицы — не панацея. Они лишь указывают с какой частотой в определенном языке используется та или иная буква. Для слишком коротких сообщений таблицы вообще не годятся. Возьмем скороговорку: «На дворе трава, на траве дрова». Как ты, наверное, догадываешься, если буквы р и в встречаются в ней чаще всего, это еще не означает, что они самые распространенные. Прибегать к частотным таблицам имеет смысл, когда нужно прочесть сообщение в сто знаков и больше. Иначе существует вероятность контекстных повторов, как в нашей скороговорке. К несчастью, наш ребус — как раз такой случай.
— Сколько же в нем букв?
— В ребусе? Я как раз вчера вечером сосчитал. Едва набирается тридцать. Если быть точным, двадцать семь букв и три цифры. Слишком мало.
Шведка принялась убирать со стола.
— Хочешь кофе?
— Не отказался бы.
Томаш помог девушке отнести на кухню посуду и заправить посудомоечную машину. Потом Лена достала кофеварку. Кофеварка у нее была старая, стеклянный «Мелиор», доставшийся в наследство от прежнего хозяина квартиры, однако кофе в нем получалось отменным. Перейдя в гостиную, Томаш устроился на диване, Лена присоединилась к нему.
— Что же теперь? — спросила она. — Что ты собираешься делать?
— Поменять угол атаки.
— Получается, частотные таблицы себя не оправдали?
— Я просидел над ними весь вечер и все утро в Национальной библиотеке, — вздохнул Норонья. — Бесполезное дело.
— Так уж и бесполезное? Дай-ка взглянуть.
Норонья протянул девушке раскрытую книгу.
— Видишь? Здесь много разных таблиц. — Он открыл блокнот и нашел страницу, куда накануне переписал столбики загадочных букв. — Прежде всего необходимо понять, с каким языком мы имеем дело.
— А разве не с португальским?
— Скорее всего, — задумчиво произнес Томаш. — Но это может запросто оказаться и латынь. Цитировал же Тошкану Овидия. Профессор был полиглотом, от него можно ждать чего угодно.
— А у тебя есть латинская таблица?
— В этой книге нет. Но при желании ее можно найти. — Томаш полистал книгу. — С португальской таблицей я уже поработал.
— Что-нибудь получилось?
— У португальского языка есть одна забавная особенность. В английском, французском, немецком, испанском и итальянском самая распространенная буква е, а в португальском — а. Во всех перечисленных мной языках буква e составляет тринадцать с половиной процентов от всех употребляемых, а в португальском не дотягивает и до тринадцати. Вообще для романских языков характерен неустойчивый баланс между двумя буквами с незначительным перевесом е. В языках германской группы e лидирует с большим отрывом. В английском частота ее употребления составляет тринадцать процентов, а довольствуется восемью, перед ней стоит t со своими девятью процентами. В немецком разрыв еще больше. На e приходятся восемнадцать с половиной процентов, на а только пять, ее опережают n, i, r, и s.