Математики, шпионы и хакеры. Кодирование и криптография | страница 34
В результате каждый ротор имеет только три возможных позиции, а не 26, как в реальной машине.
Как мы видим, когда ротор машины «Энигма» находится в исходном положении, каждая буква открытого сообщения заменяется на другую, за исключением буквы А. После шифрования первой буквы ротор поворачивается на одну треть оборота.
В новой позиции буквам теперь соответствуют другие — не те, что в первом шифре.
Процесс завершается третьей буквой, после чего ротор возвращается в исходное положение и последовательность шифров повторяется.
Роторы стандартной машины «Энигма» имеют 26 позиций, по одной на каждую букву алфавита. Следовательно, с одним ротором можно применять 26 различных шифров. Таким образом, начальное положение ротора является ключевым.
Для увеличения количества возможных ключей дизайн «Энигмы» предусматривал до трех роторов, механически соединенных друг с другом. Когда первый ротор делал полный оборот, следующий переключался на одно положение, и так далее до полного оборота третьего ротора, что давало в общей сложности 26 х 26 х 26 = 17576 возможных шифров.
Кроме того, дизайн Шербиуса позволял изменять порядок переключателей, еще больше увеличивая количество шифров, как мы увидим ниже.
Трехроторная машина «Энигма» с частично открытым корпусом, позволяющим видеть коммутационную панель (спереди).
Кроме трех роторов «Энигма» также имела коммутационную панель, расположенную между первым ротором и клавиатурой. Коммутационная панель позволяла перекоммутировать соединения между буквами клавиатуры до соединения с ротором и таким образом добавляла значительное количество кодов к шифру. Стандартный дизайн «Энигмы» предусматривал шесть кабелей, которые могли соединять шесть пар букв. На следующем рисунке показана работа коммутационной панели, снова в упрощенной форме для трех букв и трех кабелей.
Таким образом, буква А меняется местами с буквой С, буква В — с буквой А, а С — с буквой В. С добавлением коммутационной панели упрощенная трехбуквенная «Энигма» будет работать следующим образом:
На сколько больше шифров мы получим при, казалось бы, простом добавлении коммутационной панели? Сначала посчитаем количество способов соединения шести пар букв, выбранных из 26 возможных. Число способов выбрать n пар букв из алфавита, содержащего N символов, определяется по формуле:
В нашем примере N = 26 и n = 6, что дает нам 100391791500 комбинаций.
Следовательно, общее количество шифров, возможных на машине «Энигма» с тремя роторами из 26 букв и коммутационной панелью с шестью кабелями, считается следующим образом.