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