Предположим пока, что скорее всего в качестве части ключа используется EGYPT
. Возможно, что в качестве ключа используется перечень стран. А это означает, что CAN, часть ключа, которая соответствует первому the, является началом слова CANADA. Мы можем проверить эту гипотезу, предполагая, что CANADA, как и EGYPT, являются частями ключа, если откроем бóльший фрагмент открытого текста:Похоже, что наше предположение имеет смысл. CANADA
означает, что открытый текст начинается с themee, что, по-видимому, является началом the meeting. Теперь, когда мы определили новые буквы открытого текста, ting, мы можем найти соответствующую им часть ключа; это будет BRAZ, которое, несомненно, является началом слова BRAZIL. Используя в качестве ключа комбинацию CANADABRAZILEGYPT, мы получим следующее: the meeting is at the????.Чтобы найти завершающее слово открытого текста — место встречи, — лучше всего завершить составление ключа путем проверки перебором названий всех возможных стран, оценивая получающийся при этом открытый текст. Осмысленный открытый текст получается только в случае, когда конечным элементом ключа будет слово CUBA
:Таблица 9 Квадрат Виженера.
Поэтому для обеспечения стойкости недостаточно, чтобы ключ имел такую же длину, что и само сообщение. В приведенном выше примере уязвимость возникла из-за того, что ключ был создан из смысловых слов. Мы начали с того, что стали случайным образом подставлять слово the
в открытый текст и определять соответствующие буквы ключа. Мы могли с уверенностью сказать, когда the попадает на надлежащее место, потому что буквы ключа в этом случае приобретали вид части смысловых слов. После чего мы использовали эти фрагменты в ключе, чтобы определить слова целиком. А это, в свою очередь, давало нам больше кусков в тексте, из которых мы могли составить целые слова, и так далее. Весь этот процесс переходов вперед-назад между сообщением и ключом оказался возможен только потому, что у ключа была определенная внутренняя структура и он состоял из слов, которые можно было распознать. Однако в 1918 году криптографы начали экспериментировать с ключами, которые были лишены структуры. В результате получился невзламываемый шифр.Когда Первая мировая война уже приближалась к концу, майор Джозеф Моборн, руководитель криптографического исследовательского подразделения армии США, ввел понятие случайного ключа, т. е. такого ключа, который состоит не из распознаваемого набора слов, а из случайной комбинации букв. Он высказывался за применение таких случайный ключей, используемых как часть шифра Виженера, для обеспечения беспрецедентной степени стойкости. Первым этапом в системе Моборна была подготовка толстого блокнота, состоящего из сотен бумажных листов; на каждом листе находится уникальный ключ в виде случайной последовательности строчек букв. Подготавливаются два экземпляра блокнота, один для отправителя, а второй — для получателя. Чтобы зашифровать сообщение, отправитель применял шифр Виженера, пользуясь первым листом блокнота в качестве ключа. На рисунке 30 показаны три листа из такого блокнота (на самом деле, на каждом листе содержатся сотни букв) и сообщение, зашифрованное с использованием случайного ключа, находящегося на первом листе. Получатель сможет легко расшифровать шифртекст, пользуясь идентичным ключом и шифром Виженера. После того как сообщение было успешно отправлено, получено и расшифровано, оба — и отправитель, и получатель — уничтожают лист, использованный в качестве ключа, чтобы никогда уже больше им не пользоваться. При шифровании очередного сообщения применяется следующий случайный ключ из блокнота, который в дальнейшем также уничтожался, и так далее. Поскольку каждый лист используется только один раз, эта система известна как
Рис. 30 Три листа из одноразового шифрблокнота, каждый из которых является возможным ключом для шифра. Сообщение зашифровано с помощью листа 1.
Шифр из одноразового шифрблокнота свободен от всех вышеозначенных слабостей. Представим, что сообщение attack the valley at dawn
было зашифровано, как показано на рисунке 30, передано по радио и перехвачено противником.