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

Мы можем считать, что все двузначные числа, которые соответствуют букве а открытого текста, фактически представляют собой один и тот же звук в шифртексте, то есть звук, соответствующий букве a. Поэтому в названии этого шифра — омофонический — homos по-гречески означает «тот же самый», a phonos — «звук». Смысл использования нескольких вариантов замены для часто встречающихся букв заключается в том, чтобы уравнять частотность появления символов в шифртексте.

Если мы зашифровали сообщение с помощью шифралфавита из таблицы 5, то частота появления каждого из чисел в тексте будет составлять примерно 1 процент. Если ни один из символов не появляется чаще остальных, то любая возможная атака с использованием частотного анализа окажется безуспешной. Абсолютная стойкость? Не совсем.

Для искусного криптоаналитика в шифртексте по-прежнему содержится множество тончайших нитей, ведущих к разгадке. Как мы видели в главе 1, каждая буква в английском языке имеет свои индивидуальные особенности, определяемые ее связью со всеми другими буквами, и эти черты можно разглядеть, даже если шифрование осуществляется путем омофонической замены. В английском языке самым наглядным примером буквы с ярко выраженной особенностью является буква q, после которой всегда стоит только одна буква u.

Таблица 5 Пример омофонического шифра замены. В верхней строке приведен алфавит открытого текста, строки ниже представляют собой шифралфавит с различными вариантами замены для часто встречающихся букв.

Если бы мы попытались дешифровать шифртекст, то мы могли бы начать с того, что подметили бы, что q является редко встречающейся буквой, и поэтому она, по всей видимости, представлена только одним символом; мы также знаем, что u, которая появляется примерно в 3 процентах, представляется тремя символами. Поэтому если мы найдем символ в шифртексте, за которым всегда следуют три определенных символа, то целесообразно предположить, что первым символом является q, а три остальных представляют собой u. Другие буквы распознать сложнее, но и их также можно определить по тому, как они связаны одна с другой. Хотя омофонический шифр можно взломать, но он гораздо более надежен, чем простой одноалфавитный шифр.

Омофонический шифр, возможно, и выглядит как многоалфавитный, поскольку каждая буква открытого текста может быть зашифрована множеством способов, но тут есть одно принципиальное отличие, и в действительности омофонический шифр является одним из видов одноалфавитного шифра. В таблице омофонов, приведенной выше, буква a может быть представлена восемью числами. Существенно то, что эти восемь чисел являются обозначением только буквы a. Другими словами, буква открытого текста может быть представлена несколькими символами, но каждый символ может представлять только одну букву. В многоалфавитном же шифре буква открытого текста также будет представлена различными символами, но больше всего в замешательство приводит тот факт, что в процессе шифрования эти символы будут представлять собой различные буквы.

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

Улучшив базовый одноалфавитный шифр различными способами, например, добавляя омофоны, становится возможным надежно зашифровать сообщения, не прибегая к сложностям многоалфавитного шифра. Одним из наиболее ярких примеров усовершенствованного одноалфавитного шифра был «великий шифр»[11] Людовика XIV.

вернуться

11

Также упоминается как «дипломатический шифр». — Прим. пер.