Взломщики кодов
Шрифт:
Конгресс удовлетворил просьбу президента Вильсона. Вскоре в Европу стали прибывать американские солдаты. Свежие силы молодой нации хлынули в окопы Западного фронта, чтобы спасти обессиленные войска Антанты.
Так прочтение дипломатической шифртелеграммы Германии помогло подтолкнуть Соединенные Штаты к вступлению в Первую мировую войну, что дало Англии и Франции возможность одержать победу над врагом и занять командные высоты в послевоенном мире. Никакая другая криптоаналитическая разработка не имела таких огромных последствий. Никогда, ни до этого, ни после, в результате дешифрования одного секретного сообщения не происходило так много важных событий, влиявших на ход мировой истории.
Секретность на продажу
Ранним декабрьским утром 1917
Молодого человека звали Гильберт Вернам, и он всегда немного опаздывал. Коллеги считали Вернама весьма толковым инженером и способным изобретателем. Среди них ходили слухи о том, что каждый вечер, растягиваясь на диване, он спрашивал сам себя вслух: «Что бы такое еще изобрести?» У Вернама был редкий склад ума, который позволял ему придумывать оригинальную электрическую цепь и затем переносить ее на чертежный холст, не воспроизводя все требуемые соединения с помощью проводов. Вернам очень хорошо зарекомендовал себя на работе, поэтому начальник телеграфного отделения компании «AT&T» Паркер без колебаний пригласил его принять участие в разработке особо секретного проекта. И хотя в это декабрьское утро Вернам опять опоздал, в его голове уже успела созреть прекрасная идея. Тихий и скромный по натуре, Вернам довольно несмело изложил свою идею коллегам, которые сразу же сочли ее заслуживающей особого внимания.
Работа над секретным проектом началась еще летом, несколько месяцев спустя после того, как Соединенные Штаты объявили войну Германии. Паркер поручил нескольким своим подчиненным исследовать вопрос о возможности сохранять в тайне сообщения, передаваемые по телетайпу. Оказалось, что колебания тока в линии связи могли быть записаны с помощью осциллографа и затем легко преобразованы в буквы передаваемого сообщения. Поэтому было решено внести изменения в соединения проводов печатающего механизма телетайпа. В результате текст сообщения шифровался методом одноалфавитной замены. В телеграфном отделении понимали, что такая защита являлась слишком слабой, однако ничего другого придумать не смогли и перестали заниматься этой проблемой до тех самых пор, пока Вернам не поведал им о своей идее.
Вернам предложил использовать особенности телетайпного кода, в котором кодируемый знак выражается в виде пяти элементов. Каждый из этих элементов символизирует наличие («плюс») или отсутствие («минус») электрического тока в линии связи. Таким образом, имеются 32 различных комбинации «плюсов» и «минусов». 26 из них ставятся в соответствие буквам, а оставшиеся 6 обозначают «служебные комбинации» (пробел между словами, переход с букв на цифры и знаки препинания, обратный переход с цифр и знаков препинания на буквы, возврат каретки печатающего устройства, переход на новую строку и холостой ход). Например, буква «А» выражается комбинацией «+ + – – -», букве «N» соответствует «– – + + -», а переход на цифры и знаки препинания задается через «+ + – + +». Закодированное сообщение набивается на перфоленте: «плюсы» представляются отверстиями, а «минусы» – их отсутствием. При считывании перфоленты металлические щупы проходят через отверстия, замыкают электрическую цепь и посылают импульсы тока по проводам. А там, где на перфоленте находится «минус», бумага не позволяет этим щупам замкнуть цепь, и в результате токовый импульс не передается.
Вернам предложил готовить перфоленту со случайными знаками (так называемую «гамму») заранее и затем электромеханически складывать ее импульсы с импульсами знаков открытого текста. Полученная сумма представляла собой шифртекст, предназначенный для передачи по линии связи. Вернам установил следующее правило суммирования: если
Чтобы при шифровании суммировать импульсы электрически, Вернам сконструировал специальное устройство, состоящее из магнитов, реле и токосъемных пластин. А поскольку процедура расшифрования была совершенно аналогична процедуре зашифрования, это же самое устройство могло быть использовано и при расшифровании. Импульсы поступали в устройство суммирования с двух считывателей: один считывал «гамму», а другой – открытый текст. Получающиеся на выходе «плюсы» и «минусы» можно было передавать подобно обычному телетайпному сообщению. На приемном конце устройство, изобретенное Вернамом, прибавляло импульсы, которые считывались с идентичной ленты с «гаммой», и восстанавливало исходные импульсы открытого текста.
Вся прелесть изобретения Вернама заключалась в том, что больше не требовалось осуществлять зашифрование и расшифрование секретных сообщений в виде отдельных операций. Открытый текст входил в аппарат, находившийся у отправителя сообщения, и точно такой же открытый текст выходил из аппарата, принадлежавшего получателю этого сообщения. А если кто-либо перехватывал это сообщение по пути следования от отправителя к получателю, то в его распоряжении оказывалась ничего не значащая последовательность «плюсов» и «минусов». Теперь, чтобы зашифровать, передать, принять и расшифровать сообщение, требовалось приложить не намного больше усилий, чем при отправке сообщения открытым текстом. Основное преимущество изобретенного Вернамом метода засекречивания сообщений заключалось не в механическом шифровании открытого текста с последующей печатью результата на бумаге, что было осуществлено еще в начале 70-х годов XIX века французами Эмилем Винеем и Жозефом Госсеном. Вернам сумел слить воедино два процесса – шифрование и передачу сообщения. Он создал то, что впоследствии назвали линейным шифрованием, чтобы отличать его от ставшего традиционным предварительного шифрования. Вернам освободил процесс шифрования от оков времени и ошибок, исключив из этого процесса человека. Выдающийся вклад, внесенный Вернамом в практику шифрования, заключается именно в том, что он привнес в шифровальное дело автоматизацию, уже успевшую к тому времени сослужить людям огромную службу во многих областях их деятельности.
Вокруг идеи, высказанной Вернамом в кругу коллег, моментально развернулась кипучая деятельность. Сначала Вернама заставили изложить эту идею в краткой записке, датированной 17 декабря. Компания «AT&T» уведомила об изобретении Вернама американское военно-морское ведомство, с которым она поддерживала тесное сотрудничество. 18 февраля 1918 г. состоялось совещание, в котором приняли участие Паркер, Вернам и другие инженеры из телеграфного отделения компании «AT&T», с одной стороны, и военные моряки, с другой.
27 марта эти же инженеры встретились со своими коллегами из американской компании «Вестерн электрик», производственного филиала «AT&T», и договорились с ними об изготовлении первых двух линейных шифраторов с использованием как можно большего количества стандартных деталей. В лаборатории «Вестерн электрик» они подсоединили изготовленные шифраторы к телетайпам и осуществили первые испытания процесса, который назвали «автоматическим шифрованием». Все устройства, вовлеченные в него, работали превосходно. Компания «AT&T» проинформировала об этом факте майора Джозефа Моборна, который занимал тогда пост начальника отдела научно-исследовательских и конструкторских разработок войск связи США.
Нерешенным оставался всего один вопрос – откуда брать «гамму». В первые дни «гамма» для устройства Вернама представляла собой склеенные петлей короткие перфоленты, на которые были набиты знаки, извлеченные наугад из различных открытых текстов. Инженеры компании «AT&T» почти сразу обратили внимание на существенные изъяны такого процесса «автоматического шифрования», связанные с недостаточной длиной «гаммы». Поэтому, чтобы затруднить криптоанализ, они сделали перфоленты с «гаммой» более длинными. Но тогда с этими перфолентами стало слишком трудно обращаться.