Шрифт:
Интервал:
Закладка:
Что же касается самого Вернама, то он продолжал заниматься научно-исследовательской работой в компании «AT&T». Он немного усовершенствовал свою шифрсистему, а также изобрел устройство для автоматического зашифрования написанного от руки текста во время его передачи фототелеграфом. В 1929 г. Вернама со значительным повышением перевели в один из филиалов компании «AT&T». Однако через четыре месяца в США разразился финансовый кризис, и, так как Вернам еще не успел заработать достаточный трудовой стаж на новом месте, его вскоре уволили. Он перешел на работу в другую крупную компанию, но резкая перемена в его личной судьбе, видимо, подействовала на него угнетающе. С каждым годом о Вернаме было слышно все меньше и меньше, пока, наконец, 7 февраля 1960 г. человек, автоматизировавший процесс шифрования, умер в полной безвестности у себя дома.
История науки изобилует совпадениями. Например английский астроном Джон Адамс и его французский коллега Урбен Леверье почти одновременно сделали вывод о существовании планеты Нептун. Неудивительно, что подобные совпадения имели место и в криптографии. Случилось так, что в период между двумя мировыми войнами одно из таких совпадений затронуло сразу несколько человек. Как и Вернам, побуждаемые широким использованием секретной связи в военное время и вдохновляемые наступлением эпохи механизации, они независимо друг от друга изобрели машину, принцип действия которой на протяжении очень продолжительного времени находил наиболее широкое применение в криптографии. Этот принцип основывается на использовании колеса с перепайками – так называемого шифрдиска.
Шифрдиск представляет собой толстую круглую пластину, изготовленную из изоляционного материала (например, из твердой резины). С обеих сторон шифрдиска по окружности на равном расстоянии друг от друга закреплены по 26 электрических контактов (чаще всего они делались из латуни). Каждый контакт соединяется перепайкой с каким-либо другим контактом на противоположной поверхности шифрдиска. Таким образом, образуется электрическая цепь, которая начинается на одной стороне шифрдиска и заканчивается на другой.
Если условиться, что контакты на одной (входной) поверхности представляют буквы открытого текста, а контакты на другой (выходной) поверхности – буквы шифртекста, то проволочные перепайки между входной и выходной поверхностью обеспечивают преобразование открытого текста в криптограмму. Для зашифрования буквы открытого текста нужно только подать импульс тока на входной контакт, соответствующий этой букве. Ток пройдет по соединительному проводнику и появится на выходном контакте, представляющем букву шифртекста. Если записать все перепайки диска, зафиксировав соединения между входной и выходной поверхностью, то получится шифр одноалфавитной замены. Таким образом, шифрдиск воплощает процесс шифрования в форме, удобной для электромеханических манипуляций.
Для выполнения этих манипуляций шифрдиск устанавливается между двумя неподвижными круглыми пластинами, каждая из которых также изготовлена из изоляционного материала и снабжена 26 контактами, которые закреплены по кругу и соответствуют контактам, имеющимся на шифрдиске. Контакты входной пластины соединены с клавишами пишущей машинки, на которой набивается открытый текст. А каждый контакт выходной пластины связан с каким-либо устройством, предназначенным для вывода шифртекста (например, с сигнальной лампочкой). В результате, например, когда шифровальщик нажимает на клавишу «А» на пишущей машинке, он посылает токовый импульс от источника тока на контакт неподвижной входной пластины, закрепленный за буквой «А». Затем этот импульс попадает на входной контакт шифрдиска, соответствующий «А», и далее через перепайку проходит на выходной контакт, а с него – на лампочку, которая загорается над буквой шифртекста (пусть это будет буква «R»), которая ставится в соответствие букве «А».
Если бы все на этом и заканчивалось, то шифрдиск не был бы таким замечательным устройством. Тогда каждый раз при нажатии на клавишу «А» ток протекал бы по одной и той же электрической цепи и в итоге указывал бы на одну и ту же букву шифртекста.
Но все дело в том, что шифрдиск не остается неподвижным. Он вращается. Предположим, что он повернулся на одну позицию. Ток, который раньше, покидая контакт «А» входной пластины, попадал на контакт «R» выходной пластины, теперь преобразуется в совершенно другую букву, так как новый контакт шифрдиска с перепайкой, отличной от прежней, теперь встал против контакта «А» входной пластины. Подобным же образом всем другим буквам открытого текста ставятся в соответствие иные буквы шифртекста. Получается новый шифралфавит, причем каждый раз, когда шифрдиск поворачивается, используется другой шифралфавит. Можно выписать все эти шифралфавиты в виде таблицы из 26 строк и такого же количества столбцов. Если шифровальная машина сконструирована так, что шифрдиск поворачивается ровно на одну позицию каждый раз, когда зашифровывается какая-либо буква открытого текста, то итоговый результат будет таким же, как и при циклическом использовании этой таблицы строка за строкой сверху вниз. Получится не что иное, как шифр многоалфавитной замены с периодом 26.
Такая машина по-прежнему не оправдывает возлагаемых на нее надежд, поскольку реализуемый с ее помощью процесс шифрования слишком нестоек. Однако, если вместо неподвижной выходной пластины установить рядом с первым диском второй и заставить его перемешаться на одну позицию всякий раз, когда первый диск совершает полный оборот, то это позволит существенно усовершенствовать процесс шифрования. За счет поворота второго шифрдиска создается новый шифралфавит – 27-й по счету. И каждый новый вариант расположения этих двух шифрдисков между неподвижными пластинами будет приводить к созданию нового шифралфавита. Следовательно, двухдисковая шифровальная машина реализует многоалфавитную замену со значительно большим периодом, чем однодисковая. Теперь он равняется 676.
Добавление третьего диска приводит к тому, что это число умножается на 26, так как все три диска возвращаются в свое исходное положение только через 17576 последовательных тактов зашифрования. При четырех и пяти дисках периоды равны 456976 и 11881376 соответственно.
Получается, что каждая буква открытого текста зашифровывается при помощи различных шифралфавитов. В этом и заключается сила дисковой системы: применение дополнительных дисков быстро доводит число шифралфавитов до таких астрономических величин, что количественные различия перерастают в качественные. Теперь можно создать свой шифралфавит для каждой буквы открытого текста, длина которого намного превосходит полное собрание сочинений Шекспира, «Войну и мир» Толстого, «Илиаду» Гомера, «Дон-Кихота» Сервантеса и «Кентерберийские рассказы» Чосера, вместе взятые.
Подобная длина сводит на нет всякую практическую возможность непосредственного вскрытия шифрсистемы на основе частоты встречаемости букв. Для такого вскрытия требуется примерно 50 букв на каждый шифралфавит, а это означает, что все пять дисков должны по 50 раз совершить свой полный оборот. Никакой криптоаналитик не может всерьез рассчитывать на то, чтобы стать обладателем такого трофея, даже если он сделает это делом всей своей жизни. Те же дипломаты, которые бывают не менее красноречивыми, чем политические деятели, редко поднимаются до подобных высот словоохотливости. Что уж тут говорить о военных и о шпионах, которые издавна славятся своей способностью держать язык за зубами и не тратят слов попусту.
Поэтому при вскрытии дисковых шифраторов криптоаналитик должен опираться на особые случаи, например, на получение открытого текста в полном объеме. Заполучить его криптоаналитик может несколькими путями. Случается, что для шифрования двух и более сообщении применяется одна и та же начальная установка шифрдисков или что эти установки очень близки одна к другой и последовательность шифралфавитов перекрывается на нескольких сообщениях. Иногда двум криптограммам соответствует один и тот же открытый текст (так бывает при рассылке идентичных приказов по нескольким подразделениям). Время от времени открытый текст становится известным в результате ошибок шифровальщика или опубликования дипломатических нот. На практике подобные ситуации встречаются довольно часто, что позволяет криптоаналитику использовать их с наибольшей выгодой для себя.
При вскрытии дисковых шифраторов криптоаналитики обычно применяют методы высшей математики, которые очень хорошо подходят для работы со многими неизвестными, связанными с шифрдисками. В основном этими неизвестными являются перепайки в каждом шифрдиске. Криптоаналитик математически разграничивает их, измеряя сдвиг между входными и выходными контактами. Например, перепайка со входного контакта 3 на выходной контакт 10 означает сдвиг, равный 7. Подобным же образом всем буквам придаются числовые значения, чаще всего «А» = 0, «В» = 1… «Z» = 25. Используя числовые значения известного или предполагаемого открытого текста, криптоаналитик составляет уравнения, в которых сдвиги в нескольких дисках являются неизвестными величинами, и затем решает эти уравнения.
- Заставьте данные говорить. Как сделать бизнес-дашборд в Excel. Руководство по визуализации данных - Алексей Сергеевич Колоколов - Прочая околокомпьтерная литература / Менеджмент и кадры / Руководства
- Секреты и ложь. Безопасность данных в цифровом мире - Шнайер Брюс - Прочая околокомпьтерная литература
- Основы программирования на JavaScript - Марк Кан - Прочая околокомпьтерная литература
- Панели индикаторов как инструмент управления. Ключевые показатели эффективности, мониторинг деятельности, оценка результатов - Уэйн Эккерсон - Прочая околокомпьтерная литература
- Медиа-пиратство в развивающихся экономиках - Джо Караганис - Прочая околокомпьтерная литература