Книга шифров. Тайная история шифров и их расшифровки - Сингх Саймон (электронные книги бесплатно TXT) 📗
При таком применении шифровального диска существенным является то, что способ шифрования меняется в процессе зашифровывания. Хотя из-за этого дополнительного усложнения взломать шифр труднее, но оно все же не делает его невзламываемым, поскольку здесь мы имеем дело просто с механизированным вариантом шифра Виженера; шифр же Виженера был взломан Бэббиджем и Касиски. Однако спустя пять столетий реинкарнация шифровального диска, придуманного Альберти, в более усложненном виде привела к появлению нового поколения шифров, взломать которые было на порядок сложнее, чем любой из ранее используемых.
В 1918 году немецкий изобретатель Артур Шербиус и его близкий друг Ричард Рйттер основали компанию Шербиус-энд-Риттер, конструкторскую фирму, которая занималась всем — от турбин до подушек с подогревом. Шербиус отвечал за проведение исследований и конструкторских работ и постоянно изыскивал новые возможности. Один из лелеемых им замыслов заключался в замене несовершенных систем криптографии, применявшихся в Первой мировой войне, когда обменивались шифрами, подготовленными вручную карандашом на бумаге, способом шифрования, в котором применялась бы технология двадцатого века. Изучив электротехнику в Ганновере и Мюнхене, он разработал криптографическое устройство, которое являлось по сути электрическим вариантом шифровального диска Альберти. Под названием «Энигма» изобретение Шербиуса станет самой грозной системой шифрования в истории.
«Энигма» Шербиуса состояла из ряда остроумно выполненных деталей, которые он соединил в огромную и сложную шифровальную машину. Однако если мы разберем машину на комплектующие и поэтапно станем воссоздавать ее заново, то станут понятны ее основные принципы. Основой изобретения Шербиуса являются три соединенных проводами узла: клавиатура для ввода каждой буквы открытого текста, шифратор, который зашифровывает каждую букву открытого текста в соответствующую букву шифртекста, и индикаторное табло, состоящее из различных ламп для высвечивания букв шифртекста. На рисунке 33 показана стилизованная конструкция машины, ограниченная, для простоты, алфавитом, содержащим шесть букв. Чтобы зашифровать букву открытого текста, оператор нажимает на клавиатуре клавишу с нужной буквой открытого текста, которая посылает электрический импульс через центральный шифратор на противоположную сторону, где на панели с лампочками высвечивается соответствующая буква шифртекста.
Рис. 33 Упрощенный вариант «Энигмы» с алфавитом, состоящим всего из шести букв. Самым важным элементом машины является шифратор. При наборе на клавиатуре буквы b ток поступает в шифратор, проходит по проводам внутри него, а затем зажигает лампочку А. Короче говоря, b зашифровывается как А. Справа в прямоугольнике показано, как зашифровывается каждая из шести букв.
Шифратор, толстое колесо из резины, пронизанное проводами, является важнейшей частью машины. Провода с клавиатуры входят в шифратор в шести точках, затем несколько раз изгибаются и выходят в шести точках на другой стороне. То, как провода идут внутри шифратора, и определяет, как будут зашифровываться буквы открытого текста. Например, при таком расположении проводов, которое показано на рисунке 33:
при наборе а будет высвечиваться буква В, которая означает, что а зашифрована как В,
при наборе b будет высвечиваться буква А, которая означает, что b зашифрована как А,
при наборе с будет высвечиваться буква D, которая означает, что с зашифрована как D,
при наборе d будет высвечиваться буква F, которая означает, что d зашифрована как F,
при наборе е будет высвечиваться буква Е, которая означает, что е зашифрована как Е,
при наборе f будет высвечиваться буква С, которая означает, что f зашифрована как С.
Сообщение cafe будет зашифровано как DBCE. По сути, при данной базовой схеме шифратор определяет шифралфавит, и в машине применяется простой одноалфавитный шифр замены.
Однако идея Шербиуса заключалась в том, чтобы после того, как очередная буква будет зашифрована, шифрующий диск автоматически поворачивался на 1/6 (или на 1/26, в случае, если используется алфавит из 26 букв). На рисунке 34 (а) показано то же самое устройство, что и на рисунке 33; и точно так же при наборе буквы b будет высвечиваться буква А. Однако на сей раз, сразу же после того, как будет набрана буква и загорится лампочка на панели, шифратор сделает 1/6 оборота и перейдет в положение, показанное на рисунке 34 (b). Здесь, если еще раз ввести букву b, загорится уже другая буква — С. Тотчас же шифратор повернется снова и окажется в положении, показанном на рисунке 34 (с). Теперь уже, если снова набрать букву b, высветится буква Е. Вводя букву b шесть раз подряд, мы получим шифртекст ACEBDC. Другими словами, шифралфавит меняется после каждого зашифровывания, и способ зашифровывания буквы b постоянно меняется. Вращающееся шифрующее устройство фактически задает шесть шифралфавитов, и в машине реализуется использование многоалфавитного шифра.
Рис. 34 Каждый раз после того, как на клавиатуре будет набрана и зашифрована буква, шифратор поворачивается на одну позицию, изменяя, тем самым способ, которым может быть зашифрована каждая буква. В (а) шифратор зашифровывает b как А, в (b) шифратор в новом положении зашифровывает b как С. В (с), после поворота на следующую позицию, шифратор зашифровывает b как Е. После того как будут зашифрованы еще четыре буквы и шифратор повернется еще на четыре позиции, он окажется в своем исходном положении.
Вращение шифратора является самым важным в конструкции Шербиуса. Однако у машины в данной ситуации есть заведомо слабое место. Если набрать b шесть раз, то шифратор окажется в исходном положении; при дальнейшем вводе букв b комбинации символов будут повторяться. Вообще говоря, криптографы всеми силами стремятся избегать повторений, поскольку они приводят к появлению упорядоченности и структуры в шифртексте, что является признаком слабости шифра. Эта проблема может быть частично разрешена за счет использования второго шифрующего диска.
На рисунке 35 дано схематическое изображение шифровальной машины с двумя шифраторами. Поскольку показать трехмерный вид шифратора с трехмерной внутренней разводкой сложно, на рисунке 35 дано только двумерное представление. Всякий раз после зашифровывания буквы первый шифратор поворачивается на одну позицию, то есть на двумерной диаграмме каждая распайка перемещается вниз на одну позицию. В отличии от первого, второй шифрующий диск почти все время остается неподвижным. Он приходит в движение только после того, как первый шифратор совершит полный оборот. У первого шифратора имеется зубец и только когда этот зубец доходит до определенной точки, он поворачивает второй шифратор на одну позицию.
На рисунке 35 (а) первый шифратор находится в положении, когда он готов повернуть второй шифратор. При наборе и зашифровывании очередной буквы первый шифратор поворачивается на одну позицию, заставляя при этом повернуться на одну позицию и второй шифратор (рис. 35 (b). После набора и зашифровывания следующей буквы первый шифратор снова поворачивается на одну позицию (рис. 35 (с), но на сей раз второй шифратор остается неподвижным. Второй шифратор не будет двигаться, пока первый шифратор не совершит полный оборот, что произойдет после набора и зашифровывания еще пяти букв. Такая конструкция напоминает одометр автомобиля — быстрее всего вращается барабанчик, который показывает километры, и когда этот барабанчик сделает полный оборот, достигнув цифры «9», он переведет на одно деление барабанчик, показывающий десятки километров.