«Провал» Специальной службы
Справедливости ради отметим, что все же как минимум один «провал» Лаврентий Берия допустил. «Венона» – это имя закрепилось за операцией по сбору и расшифровке сообщений, которыми обменивались советские дипломатические учреждения в США с Москвой с 1943 по 1946 год. На самом деле американские криптоаналитики называли эту процедуру «советская дипломатическая головоломка», затем «Нефрит», потом «Невеста», какой-то период она именовалась «Снадобье» и только в 1961 году стала «Веноной».
[335]
Об этом «шпионском деле» написано достаточно много, поэтому мы не будем останавливаться подробно на этом вопросе. А расскажем о том, что обычно не попадает на страницы статей и книг, – о системе организации шифровальной связи с заграничными учреждениями и почему американцы смогли ее «вскрыть».
Советская шифровальная служба, как и аналогичные подразделения других стран, не имела изъянов с позиции безопасности. При условии, что обслуживающий ее шифровальщик не попытается сбежать на Запад (вариант его вербовки иностранными спецслужбами был маловероятен, так как за ним постоянно присматривали сотрудники резидентуры); посторонний не проникнет в помещение, где хранятся шифроматериалы; будут соблюдены все требования шифровальной работы и т. п.
Постоянно выполнять все условия было крайне сложно. Отечественные разведчики иногда вербовали иностранных шифровальщиков и негласно проникали в различные помещения дипломатических миссий. В то же время из-за специфики военного времени сотрудники отечественной Специальной службы несколько раз грубо нарушили требования шифровальной работы, что привело к частичному «вскрытию» системы шифровальной связи, используемой советской внешней разведкой в США.
Основу используемой криптосистемы составлял алгоритм «одноразового блокнота». В классическом виде это последовательность групп пяти– или шестизначных случайных чисел, записанных на листах бумаги, которые скреплены между собой в блокнот. В советских блокнотах таких листков обычно было 35 или 50.
Технология шифрования происходит так. Отправитель преобразует «открытый» текст в набор цифр. Это можно сделать разными способами. Например, присвоить каждой букве ее порядковый номер алфавита, А можно использовать код, когда каждому символу или группе символов (слогу, слову и т. п.) присваивается определенное число.
После того как текст преобразован в последовательность цифр, отправитель складывает их с числами из блокнота. При этом он руководствуется правилом «китайской арифметики» – если сумма превысила 10, то стоящая слева единица отбрасывается. В результате получается зашифрованное сообщение. После этой процедуры лист «одноразового блокнота» уничтожается.
Получатель, используя копию уничтоженного листа «одноразового блокнота», складывает цифры из него с цифрами из сообщения, руководствуясь все тем же правилом «китайской арифметики». В результате он получает последовательность цифр, которую зашифровал отправитель. Затем получатель преобразует цифры в буквы, слоги или слова, и вот текст расшифрован.
Утверждать, что данный алгоритм абсолютно стоек, можно при выполнении двух условий:
– Последовательность цифр, которая содержатся в одноразовом блокноте, должна быть по-настоящему случайной, а не просто псевдослучайной. Говоря другими словами, криптоаналитик не должен выявить закономерности появления той или иной цифры.
– Пользователь не должен дважды использовать шифроблокнот. Дело в том, что криптоаналитик может отыскать участки сообщения, для зашифровки которых применялся один и тот же шифроблокнот.
[336]
А теперь немого о том, как он был реализован на практике. Агент советской разведки или шифровальщик посольства с помощью специальной кодовой книги (в ней определенной фразе, слову или букве соответствовала случайная комбинация из пяти цифр) преобразовывал открытый текст в закодированное сообщение (набор пятизначных групп цифр). Это процедура не защищала от профессионального криптоаналитика (вскрыть такой шифр не составит большого труда), но преобразовала текст в набор цифр, что позволяло использовать одноразовый шифроблокнот и затрудняло работу криптоаналитку. Даже узнав «псевдоним» агента, контрразведка не всегда могла его идентифицировать.
Затем агент или шифровальщик к каждой группе цифр прибавлял пятизначное число (гамму), которое он брал из одноразового шифроблокнота («одноразовой тетради»), по правилу «китайской арифметики». Занятие трудоемкое и кропотливое. Поэтому на некоторых второстепенных линиях связи, например дипломатической, часть текста секретных телеграмм передавалась в открытом виде или использовался простейший шифр.
Обычно зашифровывались по кодовой книге различные имена, названия (организаций, городов, стран), часто встречающиеся слова и отдельные действия. Например, так выглядел текст сообщения, полученного из Москвы 25 ноября 1952 года по дипломатической почте:
«Просим вас в следующий раз сообщить всю информацию относительно № 42, который фигурирует в папках департамента в связи с № 43. А также ее № 44 в Спарте.
В зависимости от сообщенных вами подробностей о № 42 и ее № 44 в Спарте мы будем рассматривать вопрос о № 45 в Суданию одного из наших планировщиков № 46 новатора по визам № 44 к № 42».
Спарта, Судания, планировщик, новатор и т. п. – кодовые обозначения распространенных слов. Они были одинаковыми для всех резидентур. А вот места, обозначенные номерами, шифровались каждый раз по-новому.
После выполнения всех процедур текст телеграммы выглядел следующим образом:
«Просим вас в следующий раз сообщить всю известную вам информацию о Казановой, которая фигурирует в папках консульства в связи с ее завещаниями и родственниками в СССР.
В зависимости от полученных всех подробностей о Казановой и ее родственниках в СССР мы будем рассматривать вопрос о засылке в Австралию одного из наших кадровых работников в качестве секретного агента под видом родственника Казановой».
[337]
Реализованная в СССР в середине прошлого века технология изготовления «одноразовых тетрадей» имела множество недостатков, которые существенно повлияли на уровень криптостойкости систем, используемых на линиях связи советской внешней разведки и МИДа.
Размножение шифроблокнотов производилось простым фотографированием, которое считалось наилучшим способом скопировать «гамму» для шифровальщика или агента. При этом исключалась любая ошибка. Бумага, из которой изготовлялись «одноразовые тетради», изготовлялась из нитроклетчатки – материала, который применялся для производства пленки на заре кинематографа. Этот материал очень легко воспламенялся, а с помощью марганцовокислого калия процесс горения можно было превратить почти во взрыв, который быстро и полностью уничтожал шифроблокнот, не оставляя даже скрытого изображения на пепле.