Взломщики кодов
Шрифт:
В сентябре 1918 г. Вернам отправился в Вашингтон и подал там заявку на патент. Первая мировая война успела закончиться прежде, чем шифрсистема Вернама сумела хоть как-то проявить свои достоинства на практике. Тем не менее 22 июля 1919 г. на нее был выдан патент № 1310719, являющийся, по-видимому, самым важным в истории криптографии. Эксперты из вашингтонского патентного бюро признали возможную полезность этого изобретения и в мирное время.
Однако, хотя устройство, придуманное Вернамом, несомненно являлось ценным плодом творческой инженерной мысли талантливого изобретателя, в коммерческом плане оно потерпело полный провал. Телеграфные компании и коммерческие фирмы, которые, по мнению «AT&T», должны были в массовых количествах покупать запатентованные шифрприставки Вернама к своим телетайпам, отдавали
Что же касается самого Вернама, то он продолжал заниматься научно-исследовательской работой в компании «AT&T». Он немного усовершенствовал свою шифрсистему, а также изобрел устройство для автоматического зашифрования написанного от руки текста во время его передачи фототелеграфом. В 1929 г. Вернама со значительным повышением перевели в один из филиалов компании «AT&T». Однако через четыре месяца в США разразился финансовый кризис, и, так как Вернам еще не успел заработать достаточный трудовой стаж на новом месте, его вскоре уволили. Он перешел на работу в другую крупную компанию, но резкая перемена в его личной судьбе, видимо, подействовала на него угнетающе. С каждым годом о Вернаме было слышно все меньше и меньше, пока, наконец, 7 февраля 1960 г. человек, автоматизировавший процесс шифрования, умер в полной безвестности у себя дома.
История науки изобилует совпадениями. Например английский астроном Джон Адамс и его французский коллега Урбен Леверье почти одновременно сделали вывод о существовании планеты Нептун. Неудивительно, что подобные совпадения имели место и в криптографии. Случилось так, что в период между двумя мировыми войнами одно из таких совпадений затронуло сразу несколько человек. Как и Вернам, побуждаемые широким использованием секретной связи в военное время и вдохновляемые наступлением эпохи механизации, они независимо друг от друга изобрели машину, принцип действия которой на протяжении очень продолжительного времени находил наиболее широкое применение в криптографии. Этот принцип основывается на использовании колеса с перепайками – так называемого шифрдиска.
Шифрдиск представляет собой толстую круглую пластину, изготовленную из изоляционного материала (например, из твердой резины). С обеих сторон шифрдиска по окружности на равном расстоянии друг от друга закреплены по 26 электрических контактов (чаще всего они делались из латуни). Каждый контакт соединяется перепайкой с каким-либо другим контактом на противоположной поверхности шифрдиска. Таким образом, образуется электрическая цепь, которая начинается на одной стороне шифрдиска и заканчивается на другой.
Если условиться, что контакты на одной (входной) поверхности представляют буквы открытого текста, а контакты на другой (выходной) поверхности – буквы шифртекста, то проволочные перепайки между входной и выходной поверхностью обеспечивают преобразование открытого текста в криптограмму. Для зашифрования буквы открытого текста нужно только подать импульс тока на входной контакт, соответствующий этой букве. Ток пройдет по соединительному проводнику и появится на выходном контакте, представляющем букву шифртекста. Если записать все перепайки диска, зафиксировав соединения между входной и выходной поверхностью, то получится шифр одноалфавитной замены. Таким образом, шифрдиск воплощает процесс шифрования в форме, удобной для электромеханических манипуляций.
Для выполнения этих манипуляций шифрдиск устанавливается между двумя неподвижными круглыми пластинами, каждая из которых также изготовлена из изоляционного материала и снабжена 26 контактами, которые закреплены по кругу и соответствуют контактам, имеющимся на шифрдиске. Контакты входной пластины соединены с клавишами пишущей машинки,
Если бы все на этом и заканчивалось, то шифрдиск не был бы таким замечательным устройством. Тогда каждый раз при нажатии на клавишу «А» ток протекал бы по одной и той же электрической цепи и в итоге указывал бы на одну и ту же букву шифртекста.
Но все дело в том, что шифрдиск не остается неподвижным. Он вращается. Предположим, что он повернулся на одну позицию. Ток, который раньше, покидая контакт «А» входной пластины, попадал на контакт «R» выходной пластины, теперь преобразуется в совершенно другую букву, так как новый контакт шифрдиска с перепайкой, отличной от прежней, теперь встал против контакта «А» входной пластины. Подобным же образом всем другим буквам открытого текста ставятся в соответствие иные буквы шифртекста. Получается новый шифралфавит, причем каждый раз, когда шифрдиск поворачивается, используется другой шифралфавит. Можно выписать все эти шифралфавиты в виде таблицы из 26 строк и такого же количества столбцов. Если шифровальная машина сконструирована так, что шифрдиск поворачивается ровно на одну позицию каждый раз, когда зашифровывается какая-либо буква открытого текста, то итоговый результат будет таким же, как и при циклическом использовании этой таблицы строка за строкой сверху вниз. Получится не что иное, как шифр многоалфавитной замены с периодом 26.
Такая машина по-прежнему не оправдывает возлагаемых на нее надежд, поскольку реализуемый с ее помощью процесс шифрования слишком нестоек. Однако, если вместо неподвижной выходной пластины установить рядом с первым диском второй и заставить его перемешаться на одну позицию всякий раз, когда первый диск совершает полный оборот, то это позволит существенно усовершенствовать процесс шифрования. За счет поворота второго шифрдиска создается новый шифралфавит – 27-й по счету. И каждый новый вариант расположения этих двух шифрдисков между неподвижными пластинами будет приводить к созданию нового шифралфавита. Следовательно, двухдисковая шифровальная машина реализует многоалфавитную замену со значительно большим периодом, чем однодисковая. Теперь он равняется 676.
Добавление третьего диска приводит к тому, что это число умножается на 26, так как все три диска возвращаются в свое исходное положение только через 17576 последовательных тактов зашифрования. При четырех и пяти дисках периоды равны 456976 и 11881376 соответственно.
Получается, что каждая буква открытого текста зашифровывается при помощи различных шифралфавитов. В этом и заключается сила дисковой системы: применение дополнительных дисков быстро доводит число шифралфавитов до таких астрономических величин, что количественные различия перерастают в качественные. Теперь можно создать свой шифралфавит для каждой буквы открытого текста, длина которого намного превосходит полное собрание сочинений Шекспира, «Войну и мир» Толстого, «Илиаду» Гомера, «Дон-Кихота» Сервантеса и «Кентерберийские рассказы» Чосера, вместе взятые.
Подобная длина сводит на нет всякую практическую возможность непосредственного вскрытия шифрсистемы на основе частоты встречаемости букв. Для такого вскрытия требуется примерно 50 букв на каждый шифралфавит, а это означает, что все пять дисков должны по 50 раз совершить свой полный оборот. Никакой криптоаналитик не может всерьез рассчитывать на то, чтобы стать обладателем такого трофея, даже если он сделает это делом всей своей жизни. Те же дипломаты, которые бывают не менее красноречивыми, чем политические деятели, редко поднимаются до подобных высот словоохотливости. Что уж тут говорить о военных и о шпионах, которые издавна славятся своей способностью держать язык за зубами и не тратят слов попусту.