Взломщики кодов
Шрифт:
Предположим, что криптоаналитик пытается дешифровать четырехбуквенное военное сообщение, применяя все «гаммы», начиная с «АААА». Используя «AABI» в качестве «гаммы», он получает открытый текст «kiss» 56 . Неподходящий вариант для данного контекста. Криптоаналитик не останавливается на достигнутом. С помощью «AAEL» получается открытый текст «kill» 57 . Уже лучше, но хочется удостовериться, нет ли чего более подходящего. Исследование продолжается, и при «гамме» «ААЕМ» выходит слово «kilt» 58 . «AAER» дает «kiln» 59 , «GZBM» – «fast» 60 , «KHIA» – «slow» 61 , «HRIW» – «stop» 62 ,
56
«Поцелуй».
57
«Убей»
58
«Килт».
59
«Обжигать».
60
«Быстро»
61
«Медленно»
62
«Остановиться».
63
«Трудно»
64
«Легко».
У криптоаналитика остается последняя надежда. Предположим, что он получил н свое распоряжение открытый текст какой-то отдельной криптограммы (например, в результате ошибки связиста). В состоянии ли криптоаналитик использовать «гамму», которую он сможет теперь вычислить, имея на руках открытый и соответствующий ему шифрованный тексты, для определения алгоритма, с помощью которого была выработана эта «гамма», чтобы потом предугадать все будущие «гаммы»? Нет, не в состоянии. Ведь если «гамма» действительно случайна, это значит, что она не подчиняемся никаким видимым закономерностям.
Правильный ответ опять ускользает от криптоаналитика. Одноразовая случайная «гамма» полностью подавляет его, растворяя все усилия криптоаналитика в хаосе, с одной стороны, и в бесконечности, с другой. Здесь он сталкивается с пропастью, непреодолимой для человека.
Почему же горда этот самый совершенный шифр не нашел всеобщего применения? Ответ прост, из-за огромного количества «гаммы», которая требуется при его использовании. Проблемы, возникающие при изготовлении, рассылке и уничтожении «гаммы», человеку непосвященному во все тонкости организации шифрсвязи могут показаться пустячными, однако в военное время объемы переписки зачастую удивляют даже самых бывалых связистов. В течение суток может понадобиться зашифровать сотни тысяч слов, а для этого требуется изготовить миллионы знаков «гаммы». И поскольку «гамма» для каждого сообщения должна быть единственной и неповторимой, то ее общий объем будет эквивалентен объему всей переписки за время воины.
В общем, практические проблемы не позволяют применять одноразовые шифрблокноты в быстро меняющихся ситуациях, например в ходе проведения военных операций. Этих проблем не существует в более стабильных условиях: в высших военных штабах, дипломатических представительствах или в агентурной переписке одноразовые шифрблокноты достаточно практичны и находят повсеместное применение. Однако и здесь возникают непреодолимые трудности, если объем переписки слишком велик.
Это как раз и произошло, когда Моборн, устроив первое крупное испытание шифрсистемы Вернама, установил его машины сразу в трех городах. Даже при сравнительно небольшом объеме переписки (до 135 коротких сообщений в день) оказалось невозможным изготовить достаточное количество качественной «гаммы». Поэтому, не найдя другого выхода из затруднительного положения, Моборн стал комбинировать две относительно короткие «гаммы», чтобы получать из них более длинную «гамму», как это первоначально предлагал делать сам Вернам.
В сентябре 1918 г. Вернам отправился в Вашингтон и подал там заявку на патент. Первая мировая война успела закончиться прежде, чем шифрсистема Вернама сумела хоть как-то проявить свои достоинства на практике. Тем не менее 22 июля 1919 г. на нее был выдан патент № 1310719, являющийся, по-видимому, самым важным в истории криптографии. Эксперты из вашингтонского патентного бюро признали возможную полезность этого изобретения и в мирное время.
Однако, хотя устройство, придуманное Вернамом, несомненно являлось ценным плодом творческой инженерной мысли талантливого изобретателя, в коммерческом плане оно потерпело полный провал. Телеграфные компании и коммерческие фирмы, которые, по мнению «AT&T», должны были в массовых количествах покупать запатентованные шифрприставки Вернама к своим телетайпам, отдавали предпочтение старомодным кодам, которые существенно снижали длину сообщений, тем самым уменьшая телеграфные расходы и одновременно обеспечивая хоть какую-то, пусть небольшую, безопасность переписки. После окончания Первой мировой войны бюджеты вооруженных сил всех стран
были сокращены до минимума. Недостаток средств и нехватка материальных ресурсов вынудили армейских связистов снова вернуться к комбинированию двух относительно коротких лент с «гаммой», а продемонстрированная военными криптоаналитиками слабая стойкость такой системы генерации «гаммы» привела к тому, что шифрсистема Вернама на некоторое время была предана забвению.Что же касается самого Вернама, то он продолжал заниматься научно-исследовательской работой в компании «AT&T». Он немного усовершенствовал свою шифрсистему, а также изобрел устройство для автоматического зашифрования написанного от руки текста во время его передачи фототелеграфом. В 1929 г. Вернама со значительным повышением перевели в один из филиалов компании «AT&T». Однако через четыре месяца в США разразился финансовый кризис, и, так как Вернам еще не успел заработать достаточный трудовой стаж на новом месте, его вскоре уволили. Он перешел на работу в другую крупную компанию, но резкая перемена в его личной судьбе, видимо, подействовала на него угнетающе. С каждым годом о Вернаме было слышно все меньше и меньше, пока, наконец, 7 февраля 1960 г. человек, автоматизировавший процесс шифрования, умер в полной безвестности у себя дома.
История науки изобилует совпадениями. Например английский астроном Джон Адамс и его французский коллега Урбен Леверье почти одновременно сделали вывод о существовании планеты Нептун. Неудивительно, что подобные совпадения имели место и в криптографии. Случилось так, что в период между двумя мировыми войнами одно из таких совпадений затронуло сразу несколько человек. Как и Вернам, побуждаемые широким использованием секретной связи в военное время и вдохновляемые наступлением эпохи механизации, они независимо друг от друга изобрели машину, принцип действия которой на протяжении очень продолжительного времени находил наиболее широкое применение в криптографии. Этот принцип основывается на использовании колеса с перепайками – так называемого шифрдиска.
Шифрдиск представляет собой толстую круглую пластину, изготовленную из изоляционного материала (например, из твердой резины). С обеих сторон шифрдиска по окружности на равном расстоянии друг от друга закреплены по 26 электрических контактов (чаще всего они делались из латуни). Каждый контакт соединяется перепайкой с каким-либо другим контактом на противоположной поверхности шифрдиска. Таким образом, образуется электрическая цепь, которая начинается на одной стороне шифрдиска и заканчивается на другой.
Если условиться, что контакты на одной (входной) поверхности представляют буквы открытого текста, а контакты на другой (выходной) поверхности – буквы шифртекста, то проволочные перепайки между входной и выходной поверхностью обеспечивают преобразование открытого текста в криптограмму. Для зашифрования буквы открытого текста нужно только подать импульс тока на входной контакт, соответствующий этой букве. Ток пройдет по соединительному проводнику и появится на выходном контакте, представляющем букву шифртекста. Если записать все перепайки диска, зафиксировав соединения между входной и выходной поверхностью, то получится шифр одноалфавитной замены. Таким образом, шифрдиск воплощает процесс шифрования в форме, удобной для электромеханических манипуляций.
Для выполнения этих манипуляций шифрдиск устанавливается между двумя неподвижными круглыми пластинами, каждая из которых также изготовлена из изоляционного материала и снабжена 26 контактами, которые закреплены по кругу и соответствуют контактам, имеющимся на шифрдиске. Контакты входной пластины соединены с клавишами пишущей машинки, на которой набивается открытый текст. А каждый контакт выходной пластины связан с каким-либо устройством, предназначенным для вывода шифртекста (например, с сигнальной лампочкой). В результате, например, когда шифровальщик нажимает на клавишу «А» на пишущей машинке, он посылает токовый импульс от источника тока на контакт неподвижной входной пластины, закрепленный за буквой «А». Затем этот импульс попадает на входной контакт шифрдиска, соответствующий «А», и далее через перепайку проходит на выходной контакт, а с него – на лампочку, которая загорается над буквой шифртекста (пусть это будет буква «R»), которая ставится в соответствие букве «А».
Если бы все на этом и заканчивалось, то шифрдиск не был бы таким замечательным устройством. Тогда каждый раз при нажатии на клавишу «А» ток протекал бы по одной и той же электрической цепи и в итоге указывал бы на одну и ту же букву шифртекста.
Но все дело в том, что шифрдиск не остается неподвижным. Он вращается. Предположим, что он повернулся на одну позицию. Ток, который раньше, покидая контакт «А» входной пластины, попадал на контакт «R» выходной пластины, теперь преобразуется в совершенно другую букву, так как новый контакт шифрдиска с перепайкой, отличной от прежней, теперь встал против контакта «А» входной пластины. Подобным же образом всем другим буквам открытого текста ставятся в соответствие иные буквы шифртекста. Получается новый шифралфавит, причем каждый раз, когда шифрдиск поворачивается, используется другой шифралфавит. Можно выписать все эти шифралфавиты в виде таблицы из 26 строк и такого же количества столбцов. Если шифровальная машина сконструирована так, что шифрдиск поворачивается ровно на одну позицию каждый раз, когда зашифровывается какая-либо буква открытого текста, то итоговый результат будет таким же, как и при циклическом использовании этой таблицы строка за строкой сверху вниз. Получится не что иное, как шифр многоалфавитной замены с периодом 26.