Текст книги "Американская криптология (История спецсвязи)"
Автор книги: Вадим Гребенников
Жанр:
История
сообщить о нарушении
Текущая страница: 3 (всего у книги 14 страниц) [доступный отрывок для чтения: 6 страниц]
2. Изобретение «линейного» шифрования
В истории криптологии упрощение процедуры ручного шифрования путём механизации этого процесса издавна интересовало многих специалистов. Любознательные умы изобретателей неоднократно пытались решить эту проблему. Попыток было много, но лишь некоторые смогли оставить в истории заметный след и заложить фундамент для будущей механизации, а затем и автоматизации шифровального дела.
Толчком к необходимости автоматизировать процесс шифрования послужили технические достижения конца XIX века, такие как телеграф, телефон и радио, при использовании которых для передачи криптограмм удалось существенно повысить оперативность шифрованной связи. Вслед за изменениями в технологиях связи изменялась и криптология, которая стала сначала электромеханической, а затем электронной. Скорость передачи информации очень выросла и все большие объемы ее были подвержены перехвату и прочтению. Шифровальщики, которые вручную заменяли буквы и слоги специальными символами, уже не могли управиться с постоянно растущим потоком информации.
Радиосвязь оказалась более дешёвой и мобильной по сравнению с проводной. Появилась возможность активизировать общение между воинскими подразделениями, устанавливать связь с подвижными объектами (автомобилями, самолётами, кораблями). Однако при этом упростился перехват переданных таким образом сообщений, что, в частности, подтвердила практика Первой Мировой войны.
Несмотря на то, что все участники боевых действий постоянно разрабатывали новые коды и совершенствовали старые, обеспечить их сохранность удавалось далеко не всегда. В результате противник нередко был полностью проинформирован обо всём, что было в секретной переписке врага. С этим были связаны и некоторые трагические события, из которых вспомним в третьей части лишь разгром двух российских армий под командованием генералов Раненкампа и Самсонова в Восточной Пруссии в августе 1914 года. Причиной их разгрома была плохая организация «закрытой» связи, в результате чего переговоры по радио велись вообще без всякого шифрования.
Во время войны главным (и чаще всего единственным) средством засекречивания было кодирование. Коды часто применяли не только для того, чтобы обеспечить секретность переданной информации, но и, чтобы сократить длину сообщения или сделать его более понятным. Чаще всего код представлял собой набор символов (цифр или букв), которые заменяли конкретные названия.
Кстати, развитие технического шпионажа и, в частности, радиоперехвата, буквально ни на шаг не отставало от развития систем передачи сообщений, осваивая новые диапазоны и способы модуляции. Однако основная масса телеграфных и телефонных сообщений передавалась или после их закрытия шифрами простой замены, или просто открытым текстом.
Резкое увеличение объёмов зашифрованных передач и сравнительная простота радиоперехвата сообщений подтолкнули дешифровщиков к мысли о том, что исследование отдельной перехваченной криптограммы необходимо связать с анализом всего массива перехвата, в котором появилась эта криптограмма. Этот путь оказался достаточно плодотворным. Как справедливо отмечает Дэвид Кан (David Kahn), «телеграф создал современное шифровальное дело, радио – современный криптоанализ».
Шифрованный текст, переданный по радио, был доступен каждому, кто имел в своем распоряжении радиоприёмник. И даже, если этот текст нельзя было расшифровать сразу, его можно было использовать при анализе следующих сообщений. В этот период получили развитие методы дешифровки, основанные на парах открытых и шифрованных текстов; на нескольких шифровках, созданных с помощью одного ключа; на переборе вероятных ключей. Именно эти методы применялись англичанами для чтения секретной переписки немцев во время Первой мировой войны.
Телеграф и радио начали постепенно вытеснять кодирование с целью защиты информации в интересах применения шифров. Громоздкие и малоудобные при использовании секретные кодовые книги могли стать и становились добычей противника, а их изменение порождало серьёзные проблемы. Шифры оказались намного более мобильными и более дешёвыми. Секретное кодирование начало уменьшаться, но не исчезло совсем. Коды стали применяться вместе с шифрами. Такое соединение оказалось достаточно эффективным и дошло до наших дней. Подчеркнем, что при компрометации шифра достаточно лишь изменить его ключи, а не все кодовые книги. Отметим также, что коды очень чувствительны к лексике и словарному запасу языка общения. Появление новых терминов и понятий приводило к необходимости восстановления кодовых книг. Шифры в этом плане намного более важны, потому что их применение не связано с содержанием открытого текста.
Кстати, в 1881 году была запатентована первая идея телефонного шифратора Д.Х. Роджерсом (D.H. Rogers). Идея состояла в передаче телефонного сообщения несколькими (в самом простом случае – двумя) линиями с помощью поочередных импульсов в некоторой последовательности, которая быстро изменялась и напоминала телеграфное сообщение. Предлагалось разнести такие линии на значительное расстояние друг от друга для того, чтобы устранить возможность подключения сразу ко всем одновременно. Подключение же к одной из них позволяло бы слышать только отдельные неразборчивые сигналы.
В XIX веке применялось, в основном, так называемое предварительное шифрование сообщений. В этом случае отправитель зашифровывал передаваемое сообщение (в котором шифротекст удовлетворял требованиям телеграфной передачи), после чего относил шифрованное сообщение на телеграф. В XX веке такое замедление в передаче сообщений часто оказывалось неприемлемым. Нужно было разработать методы так называемой линейной передачи шифрованных сообщений, при которой аппарат шифрования (шифратор) находился бы непосредственно в аппаратуре передачи сообщений. Таким образом, передача шифрованного сообщения в принципе не отличалась бы от передачи несекретного сообщения.
Такую идею автоматического шифрования телеграфных сообщений в декабре 1917 года предложил американец Жильбер Вернам (Gilbert Vernam) (1890–1960), молодой инженер компании «АТ&Т» (англ. American Telephone and Telegraph) и талантливый изобретатель. Он работал в телеграфном отделении научно-исследовательского отдела компании, где занимались разработкой «телетайпа» – буквопечатающего телеграфного аппарата.
Ещё летом, через несколько месяцев после того, как Соединенные Штаты объявили войну Германии, в компании началась работа над секретным проектом по сохранению секретности сообщений, переданных телетайпом. Во время исследований оказалось, что колебания тока в линии связи могли быть записаны с помощью осциллографа и потом легко преобразованы в буквы переданного сообщения. Поэтому было решено внести изменения в соединение проводов печатающего механизма телетайпа. В результате текст сообщения шифровался методом одноалфавитной замены. В телеграфном отделении понимали, что такая защита была слишком слабой, однако ничего другого придумать не смогли и прекратили заниматься этой проблемой до тех пор, пока Вернам не рассказал им о своей идее.
Он предложил использовать особенности телетайпного кода Бодо, в котором каждый знак состоял из пяти элементов. Каждый из этих элементов символизировал наличие («+») или отсутствие («—») электрического тока в линии связи. Таким образом, были 32 разных комбинации «+» и «—». 26 из них должно было соответствовать буквам, а оставшиеся соответствовали «служебным комбинациям» (пробел между словами, переход с букв на цифры и знаки препинаний, обратный переход с цифр и знаков препинаний на буквы, возвращения каретки печатающего устройства, переход на новую строку и холостой ход).
Например, буква «А» отражалась комбинацией «++—», а переход на цифры и знаки препинаний отражался комбинацией «++—++». Закодированное сообщение набивалось на перфоленте: «+» были дырками, а «—» – их отсутствием. При считывании перфоленты металлические щупы проходили через дырки, замыкали электрическую цепь и посылали импульсы тока по проводам. А там, где на перфоленте находился «—», бумага не позволяла этим щупам замкнуть цепь, и в результате токовый импульс не передавался.
Вернам предложил готовить перфоленту со случайными знаками (так называемую «гамму») предварительно и потом электромеханически соединять её импульсы с импульсами знаков открытого текста. «Гамма» – это секретный ключ, созданный из хаотического набора букв того же алфавита. Полученная сумма представляла собой шифротекст, предназначенный для передачи по линии связи. Вернам установил такое правило сложения: если одновременно оба импульса были «+» или «—», то итоговый импульс будет «—», а если эти импульсы разные, то в результате выйдет «+».
Сложение, по современной терминологии, осуществляется «по модулю 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 года человек, который автоматизировал процесс шифрования, не умер практически в полном забвении.