logo
Коды и шифры

Шифры-решетки

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

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

Пример 7.2. (Шифр-решетка)

Текст письма*) :

Some of Shakespeare's plays such as

10 6 8 1

Anthony and Cleopatra are performed

2 11 9 3 15 7

less frequently than others, Macbeth

12 4 5 13

King Lear and Hamlet, in particular.

14 16

Номера показывают места расположения отверстий в решетке и задают порядок прочтения видимых букв. Если номер двузначный, то отверстие расположено над первой цифрой; для ясности в приведенном примере соответствующие буквы подчеркнуты. Разумеется, в самом письме буквы не подчеркиваются! Таким образом, после расстановки пробелов между словами сообщение читается, как и ранее, следующим образом:

ATTACK DUE ON THIRD.

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

Задача 7.1

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

  1. MERRY CHRISTMAS

  2. COME AT ONCE

  3. GO AWAY QUICKLY

  4. THE AUTHOR OF OTHELLO IS BACON.

Внутри этого текста можно было бы найти сотни других "возможных решений"; поскольку его длина более ста знаков, то с помощью подходящей решетки можно выбрать любую анаграмму любого подмножества букв. Так как число решений очень велико, то вскрыть такое сообщение невозможно без дополнительной информации, например, о том, что решетка не содержит более одного отверстия в любой строке или столбце. Аналогичная ситуация может возникнуть и с другими системами шифрования, если для получения единственного решения недостаточно материала. Даже шифр простой замены "не вскрывается", если им пользовались только однажды для зашифрования единственного короткого сообщения. Как мы увидим далее, другой крайний случай представляет собой система "одноразовый блокнот", которую невозможно дешифровать независимо от количества отправленных сообщений и их длины. Однако если та же самая система (простой замены, перестановки, решетки) используется более одного раза, она может перестать быть "недешифруемой"; даже система "одноразовый блокнот" может утратить стойкость, если один и тот же блокнот использовался дважды.