Страница 8 из 12
Толчком к необходимости автоматизировать процесс шифрования послужили технические достижения конца ХІХ века, такие как телеграф, телефон и радио, при использовании которых для передачи криптограмм удалось существенно повысить оперативность шифрованной связи. Вслед за изменениями в технологиях связи изменялась и криптология, которая стала сначала электромеханической, а затем электронной. Скорость передачи информации очень выросла и все большие объемы ее были подвержены перехвату и прочтению. Шифровальщики, которые вручную заменяли буквы и слоги специальными символами, уже не могли управиться с постоянно растущим потоком информации.
Радиосвязь оказалась более дешёвой и мобильной по сравнению с проводной. Появилась возможность активизировать общение между воинскими подразделениями, устанавливать связь с подвижными объектами (автомобилями, самолётами, кораблями). Однако при этом упростился перехват переданных таким образом сообщений, что, в частности, подтвердила практика Первой Мировой войны.
Несмотря на то, что все участники боевых действий постоянно разрабатывали новые коды и совершенствовали старые, обеспечить их сохранность удавалось далеко не всегда. В результате противник нередко был полностью проинформирован обо всём, что было в секретной переписке врага. С этим были связаны и некоторые трагические события, из которых вспомним в третьей части лишь разгром двух российских армий под командованием генералов Раненкампа и Самсонова в Восточной Пруссии в августе 1914 года. Причиной их разгрома была плохая организация «закрытой» связи, в результате чего переговоры по радио велись вообще без всякого шифрования.
Во время войны главным (и чаще всего единственным) средством засекречивания было кодирование. Коды часто применяли не только для того, чтобы обеспечить секретность переданной информации, но и, чтобы сократить длину сообщения или сделать его более понятным. Чаще всего код представлял собой набор символов (цифр или букв), которые заменяли конкретные названия.
Кстати, развитие технического шпионажа и, в частности, радиоперехвата, буквально ни на шаг не отставало от развития систем передачи сообщений, осваивая новые диапазоны и способы модуляции. Однако основная масса телеграфных и телефонных сообщений передавалась или после их закрытия шифрами простой замены, или просто открытым текстом.
Резкое увеличение объёмов зашифрованных передач и сравнительная простота радиоперехвата сообщений подтолкнули дешифровщиков к мысли о том, что исследование отдельной перехваченной криптограммы необходимо связать с анализом всего массива перехвата, в котором появилась эта криптограмма. Этот путь оказался достаточно плодотворным. Как справедливо отмечает Дэвид Кан (David Kahn), «телеграф создал современное шифровальное дело, радио – современный криптоанализ».
Шифрованный текст, переданный по радио, был доступен каждому, кто имел в своем распоряжении радиоприёмник. И даже, если этот текст нельзя было расшифровать сразу, его можно было использовать при анализе следующих сообщений. В этот период получили развитие методы дешифровки, основанные на парах открытых и шифрованных текстов; на нескольких шифровках, созданных с помощью одного ключа; на переборе вероятных ключей. Именно эти методы применялись англичанами для чтения секретной переписки немцев во время Первой мировой войны.
Телеграф и радио начали постепенно вытеснять кодирование с целью защиты информации в интересах применения шифров. Громоздкие и малоудобные при использовании секретные кодовые книги могли стать и становились добычей противника, а их изменение порождало серьёзные проблемы. Шифры оказались намного более мобильными и более дешёвыми. Секретное кодирование начало уменьшаться, но не исчезло совсем. Коды стали применяться вместе с шифрами. Такое соединение оказалось достаточно эффективным и дошло до наших дней. Подчеркнем, что при компрометации шифра достаточно лишь изменить его ключи, а не все кодовые книги. Отметим также, что коды очень чувствительны к лексике и словарному запасу языка общения. Появление новых терминов и понятий приводило к необходимости восстановления кодовых книг. Шифры в этом плане намного более важны, потому что их применение не связано с содержанием открытого текста.
Кстати, в 1881 году была запатентована первая идея телефонного шифратора Д.Х. Роджерсом (D.H. Rogers). Идея состояла в передаче телефонного сообщения несколькими (в самом простом случае – двумя) линиями с помощью поочередных импульсов в некоторой последовательности, которая быстро изменялась и напоминала телеграфное сообщение. Предлагалось разнести такие линии на значительное расстояние друг от друга для того, чтобы устранить возможность подключения сразу ко всем одновременно. Подключение же к одной из них позволяло бы слышать только отдельные неразборчивые сигналы.
В XIX веке применялось, в основном, так называемое предварительное шифрование сообщений. В этом случае отправитель зашифровывал передаваемое сообщение (в котором шифротекст удовлетворял требованиям телеграфной передачи), после чего относил шифрованное сообщение на телеграф. В ХХ веке такое замедление в передаче сообщений часто оказывалось неприемлемым. Нужно было разработать методы так называемой линейной передачи шифрованных сообщений, при которой аппарат шифрования (шифратор) находился бы непосредственно в аппаратуре передачи сообщений. Таким образом, передача шифрованного сообщения в принципе не отличалась бы от передачи несекретного сообщения.
Такую идею автоматического шифрования телеграфных сообщений в декабре 1917 года предложил американец Жильбер Вернам (Gilbert Vernam) (1890–1960), молодой инженер компании «AT&T» (англ. Аmerican Тelephone and Тelegraph) и талантливый изобретатель. Он работал в телеграфном отделении научно-исследовательского отдела компании, где занимались разработкой «телетайпа» – буквопечатающего телеграфного аппарата.
Ещё летом, через несколько месяцев после того, как Соединенные Штаты объявили войну Германии, в компании началась работа над секретным проектом по сохранению секретности сообщений, переданных телетайпом. Во время исследований оказалось, что колебания тока в линии связи могли быть записаны с помощью осциллографа и потом легко преобразованы в буквы переданного сообщения. Поэтому было решено внести изменения в соединение проводов печатающего механизма телетайпа. В результате текст сообщения шифровался методом одноалфавитной замены. В телеграфном отделении понимали, что такая защита была слишком слабой, однако ничего другого придумать не смогли и прекратили заниматься этой проблемой до тех пор, пока Вернам не рассказал им о своей идее.
Он предложил использовать особенности телетайпного кода Бодо, в котором каждый знак состоял из пяти элементов. Каждый из этих элементов символизировал наличие («+») или отсутствие («—») электрического тока в линии связи. Таким образом, были 32 разных комбинации «+» и «—». 26 из них должно было соответствовать буквам, а оставшиеся соответствовали «служебным комбинациям» (пробел между словами, переход с букв на цифры и знаки препинаний, обратный переход с цифр и знаков препинаний на буквы, возвращения каретки печатающего устройства, переход на новую строку и холостой ход).
Например, буква «А» отражалась комбинацией «++—», а переход на цифры и знаки препинаний отражался комбинацией «++—++». Закодированное сообщение набивалось на перфоленте: «+» были дырками, а «—» – их отсутствием. При считывании перфоленты металлические щупы проходили через дырки, замыкали электрическую цепь и посылали импульсы тока по проводам. А там, где на перфоленте находился «—», бумага не позволяла этим щупам замкнуть цепь, и в результате токовый импульс не передавался.
Вернам предложил готовить перфоленту со случайными знаками (так называемую «гамму») предварительно и потом электромеханически соединять её импульсы с импульсами знаков открытого текста. «Гамма» – это секретный ключ, созданный из хаотического набора букв того же алфавита. Полученная сумма представляла собой шифротекст, предназначенный для передачи по линии связи. Вернам установил такое правило сложения: если одновременно оба импульса были «+» или «—», то итоговый импульс будет «-», а если эти импульсы разные, то в результате выйдет «+».