Далее шифровальщик выписал следующие за индикатором пятизначные группы из шифрблокнота под группами, которые у него получились после кодирования телеграммы с помощью кодовой книги. Он сложил все пары чисел между собой слева направо, при этом если в результате сложения у него получалось число большее 9, то 1, обозначающая десяток, отбрасывалась (к примеру, 6 плюс 8 дало 4, а не 14, поскольку 1 была отброшена). В результате шифровальщик вычислил новую последовательность пятизначных групп, которые он записал сразу вслед за индикатором:
На заключительном этапе пятизначные цифровые группы были преобразованы в пятизначные буквенные группы с использованием следующей таблицы:
Преобразование цифр в буквы служило, скорее всего, для того, чтобы сократить расходы на передачу шифровки в виде телеграфного сообщения. Одно время передавать по телеграфу буквы было дешевле, чем цифры. И хотя в 1940-е годы, с точки зрения оплаты, было уже неважно, из букв или же из цифр состояло телеграфное сообщение, русские по-прежнему отправляли свои телеграммы в буквенном виде.
В результате получилась шифровка следующего вида:
ZWRAT TWAAU REEET AEIAI EWOWE RWWEO 12315
ZWRAT TWAAU REEET AEIAI EWOWE RWWEO 12315
В конец этой шифровки была добавлена пятизначная цифровая группа, идущая в шифрблокноте за группой, которую шифровальщик использовал последней (57760 или RWWEO), а также еще пять цифр, первые три из которых обозначали порядковый номер шифровки (123), а последние два – число, которым она датировалась (15).
В Москве шифровальщик преобразовал пятизначные буквенные группы полученной шифровки в пятизначные цифровые группы:
(37584) 47882 56664 86181 67076 (57760)
(37584) 47882 56664 86181 67076 (57760)
Первая из этих пятизначных групп подсказала московскому шифровальщику, какую страницу одноразового шифрблокнота следует использовать, а последняя – помогла убедиться, что ни одна пятизначная группа не была пропущена при передаче донесения. Далее он по очереди вычел цифры, приведенные на соответствующей странице шифрблокнота, из цифр шифровки (при этом если вычитаемое оказывалось больше уменьшаемого, последнее увеличивалось на 10). Так им была вычислена исходная цифровая последовательность пятизначных групп:
80453 26822 40498 33277
80453 26822 40498 33277
После разбивки этой последовательности на группы из четырех цифр шифровальщик в Москве восстановил исходный открытый текст донесения, применив обратное преобразование в соответствии с кодовой книгой:
После расшифрования в присланном донесении осталось только поменять псевдоним агента на его настоящее имя (Перл), и оно получило свой первозданный вид, в котором предназначалось резидентом в Вашингтоне для прочтения в далекой Москве.
На самом деле процесс кодирования и шифрования донесения, а также преобразования полученной цифровой последовательности в буквенную не был дискретным. Это была разовая операция, поскольку шифровальщику не разрешалось переписывать как открытый текст донесения, так и пятизначные группы из шифрблокнота, используемые для шифрования. Таким образом, предотвращалось их случайное включение в текст шифровки с последующей передачей в составе телеграфного сообщения. Для опытного шифровальщика здесь не было ничего сложного. Наибольшую трудность представляло отслеживание места, из которого в процессе шифрования следовало брать очередную пятизначную группу. Для этого шифровальщик просто вычеркивал группы в шифрблокноте по мере их использования для зашифрования донесения.
Таким образом, донесения, которые советские разведчики отправляли из Вашингтона в Москву, сначала кодировались с помощью кодовой книги, а затем шифровались с использованием одноразового шифрблокнота. Применение одноразового шифрблокнота делало советскую шифрсистему невскрываемой. Даже если бы американцы каким-либо образом раздобыли кодовую книгу (к примеру, выкрали или купили) и узнали бы в деталях о советской шифрсистеме (например, от перебежчиков или предателей), все равно они мало бы продвинулись в ее вскрытии. Стойкость такой шифрсистемы определяется, во-первых, случайностью (т. е. непредсказуемостью) последовательности знаков, из которых состоит шифрблокнот, а во-вторых, уникальностью этой последовательности. Последнее означает, что каждая страница шифрблокнота используется для зашифрования и расшифрования донесений один и только один раз. При строгом соблюдении обоих этих условий взломать шифрсистему, построенную на основе одноразового шифрблокнота, невозможно.
Однако такая абсолютная стойкость одноразового шифрблокнота дается очень дорогой ценой. Поскольку каждое разведывательное донесение после кодирования приходилось дополнительно шифровать с помощью уникальной цифровой последовательности, для засекречивания сотен тысяч сообщений количество страниц в шифрблокноте должно было исчисляться теми же сотнями тысяч[13]. Ведь чтобы обеспечить абсолютную надежность, каждая страница шифрблокнота могла быть использована только один раз. В 1940-е годы, в отсутствие быстродействующих компьютеров, которые можно было бы использовать для автоматизации процесса создания шифрблокнотов, вручную изготовить совершенно случайную цифровую последовательность длиной несколько сот тысяч знаков оказалось просто невозможно.
Благодаря показаниям перебежчиков, в АНБ получили общее представление о методах, которые применялись при изготовлении шифрблокнотов для нужд советской разведки. Шифровальщик ГРУ Гузенко рассказал, что для этой цели использовалось специальное механическое устройство, больше всего напоминавшее лототрон, из которого периодически выкатывались нумерованные шары. А Владимир Петров, долгое время возглавлявший одно из подразделений шифровального отдела КГБ, которое отвечало за связь с зарубежными резидентурами, поведал о существовании электролампового устройства, генерировавшего электрические импульсы, которые затем преобразовывались в последовательность случайных чисел.
Надо сказать, что и в Японии, и в Германии прекрасно осознавали, что одноразовый шифрблокнот предоставляет наивысшую степень защиты для зашифрованных с его помощью сообщений. Однако при отсутствии достаточного количества квалифицированных специалистов и нехватки материальных ресурсов в суровых условиях военного времени там решили вместо создания огромного числа шифрблокнотов, содержащих уникальные цифровые последовательности, пойти более простым путем. В период между двумя мировыми войнами немецкие и японские специалисты разработали шифрсистемы, которые хотя и являлись менее стойкими, чем одноразовый шифрблокнот, зато были значительно более легкими в производстве и эксплуатации. Наибольшее распространение и известность получила немецкая шифровальная машина «Энигма», снабженная клавиатурой для ввода открытых текстов сообщений и панелью с лампочками для считывания соответствующих им шифрованных текстов. В Германии и Японии обоснованно полагали, что хотя стойкость разработанных ими машинных шифров была далека от абсолютной, при правильном их использовании вскрыть на практике эти шифры не представлялось возможным. Однако и немцы, и японцы оказались не в состоянии внедрить процедуры организации секретной связи, которые бы гарантировали необходимый уровень защиты для своих сообщений. Кроме того, они недооценили способности американских и английских взломщиков кодов, которые сумели выявить бреши в немецких и японских шифрсистемах и воспользоваться ими с максимальной для себя пользой.
Советская Россия, в отличие от Германии и Японии, сделала свой выбор в пользу одноразовых шифрблокнотов. В 1941 году Германия начала военные действия против Советской России, нарушив заключенный двумя годами ранее пакт о ненападении. По сравнению с довоенным периодом количество сообщений, которые советские дипломатические ведомства отправляли в Москву, возросло неимоверно. Имевшийся в их распоряжении запас шифровальных блокнотов начал таять буквально на глазах. Решение проблемы было найдено в начале 1942 года – страницы в шифрблокнотах стали повторяться. Шифрблокноты перестали быть одноразовыми. Сейчас неизвестно, кому первому пришла в голову эта идея – запаниковавшему ли руководителю советской шифровальной службы, которого ждало суровое наказание за неспособность обеспечить дипломатов и разведчиков шифрблокнотами в необходимом количестве, или рядовым сотрудникам, которые физически не справлялись с изготовлением случайных последовательностей для шифрблокнотов. Да это и не так важно. Главное, что за один только 1942 год число повторяющихся страниц в шифрблокнотах составило более 70 тысяч, из которых криптоаналитики АНБ в ходе операции «Венона» сумели выявить примерно половину.
Таким образом, производительность труда советских специалистов, работавших над изготовлением шифрблокнотов, в 1942 году выросла вдвое. И все это только за счет того, что из одноразовых шифрблокноты превратились в двухразовые. В КГБ, скорее всего, посчитали, что простое повторение страницы в шифрблокноте хотя и делало шифрсистему вскрываемой, понижало ее стойкость лишь незначительно. Ведь чтобы воспользоваться этой слабостью, противник должен был научиться отыскивать в потоке перехватываемых сообщений те из них, которые были зашифрованы с использованием одной и той же страницы шифрблокнота. Поэтому для минимизации риска дублировались не шифрблокноты целиком, а лишь их отдельные страницы. Затем сделанные дубликаты распихивались в различные шифрблокноты, которые, в свою очередь, рассылались в советские дипломатические представительства по всему миру. Лишь государство, обладавшее специалистами высокого класса, работавшими в агентстве, которое располагало всеми необходимыми ресурсами, чтобы отслеживать и перехватывать переписку других стран по всему миру, могло надеяться на успешный исход своей криптоаналитической атаки на советский шифр. В США такие специалисты нашлись.