Сложение, по современной терминологии, осуществляется «по модулю 2» («О» означает знак «—», а 1 — «+»): 0+0=0; 0+1=1; 1+0=1; 1+1=0. Пусть, например, знак «гаммы» имеет вид: «+—+—» (10100). Тогда буква «А» — «++—» (11000) при шифровании переходит в двоичную комбинацию «—++—»: (01100) = (11000)х(10100). При дешифровке ту же операцию необходимо повторить в обратном порядке: (01100)х(10100)=(11000) — «++—» — буква «А».
Чтобы складывать электроимпульсы при шифровании, Вернам сконструировал специальное устройство, которое состояло из магнитов, реле и токосъёмных пластин. А поскольку процедура дешифровки была аналогична процедуре шифрования, этот же прибор мог быть использован и при дешифровке. Импульсы поступали в устройство сложения из двух счётчиков: один считывал «гамму», а другой — открытый текст. «Плюсы» и «минусы», которые получали на выходе, можно было передавать как обычное телетайпное сообщение. На приёмном конце устройство, изобретённое Вернамом, добавляло импульсы, считываемые с идентичной ленты с «гаммой», и восстанавливало исходные импульсы открытого текста.
Важность изобретения Вернама заключалась в том, что больше не нужно было осуществлять шифрование и дешифровку секретных сообщений в виде отдельных операций. Открытый текст поступал в аппарат, находившийся у отправителя сообщения, и такой же открытый текст выходил из аппарата, который находился у получателя этого сообщения. А если кто-нибудь перехватывал это сообщение по пути прохождения от отправителя к получателю, то в его распоряжении оказывалась ничего не значащая последовательность «плюсов» и «минусов». Теперь, чтобы зашифровать, передать, принять и расшифровать сообщение, было нужно приложить не намного больше усилий, чем при отправлении сообщения открытым текстом.
Основное преимущество изобретённого Вернамом метода засекречивания сообщений заключалось в отсутствии механического шифровании открытого текста со следующей печатью результата на бумаге, осуществлённое ещё в начале 1870-х годов французами Эмилем Винеем (Emil Viney) и Жозефом Госсеном (Josef Gossen). Вернам впервые сумел совместить два процесса — шифрование и передачу сообщения. Он создал то, что впоследствии назвали линейным шифрованием, чтобы отличать его от традиционного предварительного шифрования. Вернам освободил процесс шифрования от уз времени и ошибок, исключив из этого процесса человека. Выдающийся вклад, сделанный Вернамом в практику шифрования, заключается именно в том, что он привнёс в шифровальное дело автоматизацию, которая уже успела к началу XX века послужить людям во многих сферах их деятельности.
Вокруг идеи, изложенной Вернамом в кругу коллег, моментально развернулась активная деятельность. Сначала Вернама заставили изложить эту идею в короткой записке, которая была датирована 17 декабря 1917 года. Компания «АТ&Т» сообщила об изобретении Вернама американскому военно-морскому ведомству, с которым она поддерживала тесное сотрудничество. 18 февраля 1918 года состоялось совещание, в котором приняли участие Вернам и другие инженеры телеграфного отделения компании «АТ&Т», с одной стороны, и военные моряки, с другой.
27 марта эти же инженеры встретились со своими коллегами из американской компании «Вестерн Электрик», производственного филиала «АТ&Т», и договорились с ними об изготовлении первых двух линейных шифраторов с использованием как можно большего количества стандартных деталей. В лаборатории «Вестерн Электрик» изготовленные шифраторы были присоединены к телетайпам и осуществлены первые испытания процесса, которые назвали «автоматическим шифрованием». Все устройства, входившие в его состав, работали без сбоев. Компания «АТ&Т» проинформировала об этом факте майора Джозефа Моборна (Joseph Mauborgne) (1881–1971), занимавшего тогда должность начальника отдела научно-исследовательских и конструкторских разработок войск связи Армии США.
Нерешённым оставался только один вопрос — откуда брать «гамму». Сначала «гамма» для устройства Вернама представляла собой склеенные петлёй короткие перфоленты, на которых были набиты знаки, взятые наугад из разных открытых текстов. Инженеры компании «АТ&Т» почти сразу обратили внимание на существенные изъяны такого процесса «автоматического шифрования», связанные с недостаточной длиной «гаммы». Поэтому, чтобы усложнить криптоанализ, они сделали перфоленты с «гаммой» более длинными. Но тогда эти перфоленты стало слишком трудно использовать.
Вернам предложил суммировать две короткие, имеющие разную длину «гаммы» так, чтобы одна «гамма» шифровала другую. Полученная в результате так называемая «вторичная гамма», более длинная, чем две исходные «первичные гаммы», использованные для её генерации, была применена для зашифрования открытого текста. Например, если одна закольцованная лента имела 1000 знаков, а другая — 999, то данное расхождение в длинах всего в один знак давало 999 тысяч комбинаций, прежде чем результирующая последовательность повторялась.
Однако Моборн понимал, что даже усовершенствованная система Вернама очень уязвима для криптоанализа. В свои 36 лет будущий начальник войск связи Армии США Моборн был незаурядным криптоаналитиком. Он обстоятельно изучил криптоанализ в армейской школе связи и был хорошо знаком с последними достижениями в этой сфере. Более того, за несколько лет до описываемых событий Моборн сам принимал участие в одной научно-исследовательской работе, в ходе которой специалисты армейской школы связи сделали вывод о том, что единственной стойкой «гаммой» была та, которая сравнима по длине с самим сообщением. Любое повторение в «гамме» подвергало огромному риску полученные с её помощью криптограммы и, скорее всего, привели бы к их раскрытию.
Проведённый Моборном анализ системы «автоматического шифрования» ещё больше убедил его в этом. Он понял, что не имеет никакого значения, находятся ли повторения в пределах одной криптограммы или они распределены по нескольким, выходят ли они путём комбинации двух первичных «гамм» или в результате простого повторения в единственной длине «гаммы». Важным было то, что повторений в «гамме» не должно быть ни при каких условиях. Необходимо, чтобы она была совсем уникальна и максимально хаотична.
Осознав это, Моборн объединил свойство хаотичности «гаммы», на что опирался Вернам в своей системе «автоматического шифрования», со свойством уникальности «гаммы», разработанным криптографами армейской школы связи, в системе шифрования, которую сейчас принято называть «одноразовым шифроблокнотом». Одноразовый шифроблокнот содержал случайную «гамму», которая использовалась только один раз. При этом для каждого знака открытого текста предусматривалось использование абсолютно нового непрогнозируемого знака «гаммы».
Это была стойкая шифросистема. Подавляющее большинство систем шифрования были абсолютно стойкими лишь на практике, поскольку криптоаналитик мог найти пути их раскрытия при наличии у него определённого количества шифротекста и достаточного времени для его исследования. Одноразовый же шифроблокнот был абсолютно стойким как в теории, так и на практике. Каким бы длинным не был перехваченный шифротекст, сколько бы много времени не уделялось на его исследование, криптоаналитик никогда не сможет раскрыть одноразовый шифроблокнот, использованный для получения этого шифротекста. И вот почему.
Раскрытие многоалфавитного шифра означало объединение всех букв, зашифрованных с помощью одного шифралфавита, в одну группу, которую можно изучать на предмет выявления её лингвистических особенностей. Методы такого объединения могли быть разными в зависимости от вида «гаммы». Так, метод Казиского заключался в выделении идентично «гаммированных» букв открытого текста при повторяемой «гамме». Связная «гамма» могла быть вскрыта путём взаимного восстановления открытого текста и «гаммы». А «гамма», использованная для зашифрования двух или больше сообщений, поддавалась раскрытию путем одновременного возобновления открытых текстов этих сообщений, причем правильность прочтения одного текста контролировалась питанием другого. Почти для всех разновидностей многоалфавитных шифров был разработан свой метод раскрытия, основанный на их отличительных чертах.
Совсем другой была ситуация с одноразовым шифроблокнотом. В этом случае криптоаналитик не имел отправную точку для своих исследований, поскольку в одноразовой шифросистеме «гамма» не содержала повторений, не использовалась более одного раза, не была связным текстом и не имела внутренние структурные закономерности. Поэтому все методы дешифровки, в той или иной степени основанные на этих характеристиках, не давали никаких результатов. Криптоаналитик заходил в тупик.
Оставался лишь метод тотального испытания. Ведь прямой перебор всех возможных ключей, в конечном счёте, обязательно приводил криптоаналитика к открытому тексту. Однако успех, достигнутый этим путём, был иллюзорным. Тотальное испытание действительно позволяло получить исходный открытый текст. Но оно также давало и каждый другой возможный текст той же длины, поэтому сказать, который из них является правильным, было невозможно.
Вместе с тем, этот совершенный шифр не нашёл широкого применения из-за огромного количества «гамм», необходимых при его использовании. Проблемы, возникающие при изготовлении, рассылке и уничтожении «гаммы», человеку, не осведомлённому во всех тонкостях организации шифросвязи, могут показаться пустяковыми, однако в военное время объёмы переписки становятся очень большими. На протяжении суток может понадобиться зашифровать сотни тысяч слов, а для этого нужно изготовить миллионы знаков «гаммы». И поскольку «гамма» для каждого сообщения должна быть единственной и неповторимой, то её общий объём будет эквивалентен объёму всей переписки за время войны.
Таким образом, практические проблемы не позволили применять одноразовые шифроблокноты в быстро меняющихся ситуациях, например, в ходе проведения военных операций. Этих проблем не существовало в более стабильных условиях: в генеральных военных штабах, дипломатических представительствах или агентурной переписке одноразовые шифроблокноты были достаточно практичными и нашли применение. Однако и здесь возникали непреодолимые трудности, если объём переписки был слишком большим.
Это и случилось, когда Моборн, устроив первое большое испытание шифросистемы Вернама, установил его машины сразу в трёх городах. Даже, при сравнительно небольшом объёме переписки (до 135 коротких сообщений ежедневно) оказалось невозможным изготовить достаточное количество качественной «гаммы». Поэтому, не найдя другого выхода из трудного положения, Моборн стал комбинировать с двумя относительно короткими «гаммами» с целью получения из них более длинной «гаммы», как это сначала и предлагал сделать сам Вернам.
В сентябре 1918 года Вернам отправился в Вашингтон и подал там заявку на патент. Первая Мировая война успела закончиться раньше, чем шифросистема Вернама сумела хоть как-то проявить свои достоинства на практике. Тем не менее, 22 июля 1919 года на неё был выдан патент № 1310719 — важнейший в истории криптологии. Эксперты из вашингтонского патентного бюро признали возможную полезность этого изобретения и в мирное время.
Хотя созданный Вернамом прибор несомненно был ценным результатом творческого инженерного мнения талантливого изобретателя, в коммерческом плане он испытал полный «провал». Телеграфные компании и коммерческие фирмы, которые, по мнению «АТ&Т», должны были массово закупать запатентованные шифроприставки Вернама к своим телетайпам, отдавали преимущество старомодным кодам, существенно снижавшим длину сообщений, тем самым уменьшая телеграфные расходы и одновременно обеспечивая хоть какую-то, даже небольшую, безопасность переписки.
По окончании Первой Мировой войны бюджеты вооружённых сил всех стран были сокращены до минимума. Недостаток средств и недостаточность материальных ресурсов заставили армейских связистов опять вернуться к комбинации двух относительно коротких лент с «гаммой», а продемонстрированная военными криптоаналитиками слабая стойкость такой системы генерации «гаммы» привела к тому, что шифросистема Вернама на время была забыта.
Что касается самого Вернама, то он продолжал заниматься научно-исследовательской работой в компании «АТ&Т». Учёный усовершенствовал свою шифросистему, а также изобрёл прибор для автоматического шифрования написанного от руки текста во время его передачи фототелеграфом. В 1929 году Вернама со значительным повышением перевели в один из филиалов компании «АТ&Т». Однако через четыре месяца в США разразился финансовый кризис, и, поскольку Вернам ещё не успел наработать достаточного производственного стажа на новом месте, его вскоре уволили.
Он перешёл на работу в другую большую компанию, но резкие перемены в его личной судьбе, вероятно, подействовали на него угнетающе. С каждым годом о Вернаме было слышно всё меньше и меньше, пока наконец 7 февраля 1960 года человек, который автоматизировал процесс шифрования, не умер практически в полном забвении.
3. «Чёрный кабинет» Ярдли
В 1912 году в Госдепартаменте в качестве шифровальщика начал работать Герберт Ярдли (Herbert Yardley) (1889–1958), один из выдающихся американских криптоаналитиков. В начале своей карьеры Ярдли обратил внимание на слабость шифров, использовавшиеся американским правительством. Он был потрясён, узнав, что Президент США Вудро Вильсон (Woodrow Wilson) пользуется кодом, применявшимся уже на протяжении более 10 лет. Так, когда Вильсону было передано закодированное сообщение из 500 слов от его советника Хауза, Ярдли был поражён тем, что раскодировал и прочитал это сообщение всего за несколько часов.
Полученный успех ещё больше повысил интерес Ярдли к криптоанализу, и он в мае 1916 года написал 100-страничный меморандум «Раскрытие американских дипломатических кодов», который передал своему руководству. Углубившись в проблему возможного раскрытия очередного кода, он первым поставил диагноз явлению, с тех пор известному среди американских криптоаналитиков как «симптом Ярдли»: «Просыпаясь, я сразу начинаю об этом думать. Засыпая, я всё равно продолжаю думать об этом».
6 апреля 1917 года американский Конгресс объявил о вступлении США в Первую Мировую войну против Германии. А 28 апреля в составе Управления военной информации «MID» (англ. Military Information Division) Генштаба Военного Департамента (англ. War Department General Staff) была создана кабельно-телеграфная секция (англ. Cable and Telegraph Section), получившая кодовое название «МI-8» (англ. Military Information, Section 8).
Для участия в боевых действиях Первой Мировой войны на территорию Франции было переброшено по морю экспедиционное соединение американских войск под командованием генерала Джона Першинга численностью более 175 тысяч человек. Ярдли был направлен в этот экспедиционный корпус в качестве офицера-шифровальщика. Уже в первые месяцы работы Ярдли на практике продемонстрировал свои выдающиеся криптоаналитические способности.
Участие в войне дало ему возможность убедить «отца» американской военной разведки «MID» майора Ральфа ван Демана (Ralph van Deman) в необходимости создать спецподразделение для «взлома» шифров других стран. Он добился успеха не только потому, что американской армии были нужны криптоаналитики, но и благодаря исключительному таланту убеждать людей в своей правоте. В результате в июне 1917 года Яр дли в звании второго лейтенанта возглавил «МI-8».
Учебное подразделение «МI-8», занимавшееся подготовкой криптоаналитиков, возглавил доктор Джон Менли (Jon Manley). 52-летний филолог, который был деканом факультета английского языка в Чикагском университете, а также давним и пылким почитателем криптоанализа, Менли стал одним из лучших криптоаналитиков «МI-8». Руководимое им учебное отделение вело обучение криптоанализу в военном колледже Армии США.
«МI-8» читала дипломатическую шифропереписку Аргентины, Бразилии, Германии, Испании, Коста-Рики, Кубы, Мексики, Панамы и Чили. Служба американской цензуры посылала в «МI-8» перехваченные шифрованные письма. Большинство из них оказывалось любовными посланиями, в которых применялись очень простые шифры. Многие из них были таким компроматом, что Ярдли часто повторял: «Меня раздражает тот факт, что мужчины и женщины доверяют свою секретную переписку таким слабым методам шифрования».