Эта статья входит в число добротных статей

Циклометр

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Приблизительный внешний вид Циклометра, созданного Реевским в середине 1930-х годов для каталогизации  (англ.) перестановок «Энигмы».
В верхней части устройства расположены два набора роторов, представленные в закрытом и открытом виде.
В нижней части находится реостат для изменения силы тока (слева) и набор ламп, переключателей и соответствующих им букв (справа)[1].

Цикло́метр[2] — устройство, разработанное, вероятнее всего, в период с 1934 года по 1935 год польским криптологом Марианом Реевским — сотрудником польского Бюро шифров секции BS-4, которая занималась криптоанализом немецких систем шифрования. Данное устройство позволяло значительно облегчить расшифровку текста, зашифрованного немецкой портативной шифровальной машиной «Энигма»[3].

История[править | править код]

Первая для Бюро шифров возможность изучения «Энигмы» появилась предположительно в конце 1927 или в начале 1928 года, когда на польскую таможню в Варшаве прибыла посылка с радиооборудованием из Германии. Как оказалось, она была отправлена туда по ошибке, вместо неё должно было прийти другое оборудование. Сотрудников таможни насторожили настойчивые требования представителя немецкой фирмы, в которых он просил отправить посылку обратно без прохождения ею таможни. В связи с этим для изучения посылки была выбрана группа людей от Бюро шифров, которая обнаружила, что вместо радиооборудования в посылке находился коммерческий вариант шифровальной машины «Энигма». Содержимое посылки было тщательно изучено, а затем её запечатали, удалив следы вскрытия[4].

Первые зашифрованные машиной сообщения, посланные немецкой военной станции, появились 15 июля 1928 года. Бюро шифров предприняло попытку их дешифрования, но она оказалась безуспешной. Поэтому был основан курс криптологии в Познани для студентов, изучающих математику и свободно говорящих на немецком. По его окончании в Познани был создан отдел Бюро шифров, куда направили трёх изучивших этот курс математиков: Ежи Ружицкого, Генриха Зыгальского и Мариана Реевского. Их задачей являлась дешифровка сообщений, отправляемых немецкими войсками[4].

В октябре 1932 года, в рамках секретной операции, Реевский в одиночку был направлен на работу над расшифровкой новой немецкой шифровальной машины «Энигма I», которая получила широкое распространение у немецких войск[5]. Разгадав схему внутренней электропроводки роторов с помощью разведданных, предоставленных французскими шпионами, несколько позже Реевский понял, что, хотя конкретные буквы полностью зависели от настройки «Энигмы» для текущего дня, но количество цепочек и букв в них задавалось только настройками роторов[6].

Циклометр, созданный в 1934 или 1935 году, использовался для определения длины и количества циклов перестановок, создаваемых «Энигмой»[7].

Реевский писал, что полезность каталога характеристик зависела от количества контактов, которые использовали немцы на своих машинах «Энигма», и от воссоздания ключей сообщений. Подготовка каталога была трудоёмким процессом и заняла более года, но когда он был полностью готов, то в 1935 году ключи текущего дня можно было получать в течение примерно пятнадцати минут[3].

С 1 ноября 1937 года немцы изменили «реверсивный барабан» или «рефлектор», что вынудило Бюро шифров начать работу над новым каталогом характеристик. 15 сентября 1938 года немцы полностью изменили процедуру шифрования ключей сообщения, сделав каталог характеристик совершенно бесполезным[8]. Польские криптографы были вынуждены искать другие методы для расшифровки «Энигмы», что привело к созданию «Криптологической бомбы» Реевского и перфорированных листов Зыгальского.

Предпосылки создания[править | править код]

Ниже представлен пример процедуры шифровки сообщения, задания ключа сообщения и его расшифровки, использованный в немецкой инструкции к «Энигме» 1930 года[9][к 1].

Настройки ключа:
  Порядок роторов   :	II  I  III
  Положение колец   :	24  13  22
  Начальная позиция :	06  15  12
  Штекеры: 1/13, 6/9, 14/22, 16/19, 20/21, 23/26
  Штекеры в буквенной форме: A/M, F/I, N/V, P/S, T/U, W/Z

Зашифрованное сообщение:
  1035 – 90 – 341 – 
  PKPJX IGCDS EAHUG WTQGR
  KVLFG XUCAL XVYMI GMMNM
  FDXTG NVHVR MMEVO UYFZS
  LRHDR RXFJW CFHUH MUNZE
  FRDIS IKBGP MYVXU Z

Только шифротекст:
  GCDSE AHUGW TQGRK VLFGX 
  UCALX VYMIG MMNMF DXTGN 
  VHVRM MEVOU YFZSL RHDRR 
  XFJWC FHUHM UNZEF RDISI 
  KBGPM YVXUZ

Расшифровка:
  FEIND LIQEI NFANT ERIEK 
  OLONN EBEOB AQTET XANFA 
  NGSUE DAUSG ANGBA ERWAL 
  DEXEN DEDRE IKMOS TWAER 
  TSNEU STADT

Полностью воссозданное немецкое сообщение:
  FEINDLIQE INFANTERIEKOLONNE BEOBAQTET X
  ANFANG SUEDAUSGANG BAERWALDE X 
  ENDE DREI KM OSTWAERTS NEUSTADT

Переписанный немецкий текст:
  Feindliche Infanteriekolonne beobachtet.
  Anfang Sdausgang Brwalde.
  Ende 3 km ostwrts Neustadt.

«Энигма» эксплуатировалась для шифровки сообщений следующим образом. Первым делом оператор устанавливал роторы в первоначальную позицию, определённую для текущего дня («FOL»). Потом он менял положение соединительных проводов на коммутационной панели, вставляя их в соответствующие разъёмы. Затем он независимо выбирал уникальный ключ для данного сообщения («ABL»), представляющий собой три буквы, зашифрованные дважды. В результате чего он получал шесть букв, которые ставил в начало сообщения («PXPJXI»). Исходя из этого, можно сделать вывод, что уникальные ключи текущего дня имели две отличительные особенности[8]:

  1. Шифрование всех ключей сообщений начиналось с одной и той же первоначальной позиции, которая была неизвестна криптологу.
  2. Каждый ключ был зашифрован дважды, поэтому первая буква совпадала с четвёртой, вторая - с пятой, а третья - с шестой.

Таким образом, если иметь достаточное количество сообщений для данного дня (около 80), то все буквы алфавита встретятся в сообщениях во всех шести начальных позициях. В любом месте в сообщении из букв будет формироваться несколько наборов, в которых буквы заменяются друг на друга, то есть образуются группы перестановок. Эти перестановки, обозначенные соответственно буквами от «А» до «F», неизвестны криптологу. При этом переходы от первой буквы к четвёртой, от второй к пятой и от третьей к шестой ему известны. Эти перестановки, обозначенные AD, BE и СF, могут быть представлены в виде объединений циклов, а затем записаны в характерной форме, как правило, различной для каждого дня[8].

Пусть, например, имеются три выбранных зашифрованных ключа для заданного дня, такие, что четвёртая буква первого ключа совпадает с первой буквой второго ключа, а четвёртая буква второго ключа — с первой буквой третьего:

dmq vbn
von puy
puc fmq

Тогда из первых и четвёртых букв ключей AD можно составить цепочку из неповторяющихся букв (dvpf). Рассматривая большое количество ключей, можно получать новые цепочки и расширять существующие, в том числе и для BE и СF. Конечный набор цепочек, называемый Реевским характеристиками[6], может выглядеть, например, так:

  • AD = (dvpfkxgzyo) (eijmunqlht) (bc) (rw) (a) (s)
  • BE = (blfqveoum) (hjpswizrn) (axt) (cgy) (d) (k)
  • CF = (abviktjgfcqny) (duzrehlxwpsmo)

Это множество перестановок, полученных из начала перехваченных сообщений, представляло отправную точку для расшифровки «Энигмы». Тем не менее, реконструкция самой машины была необходимым, но недостаточным условием для овладения шифром «Энигмы» и непрерывного «взлома» в течение длительного периода времени. Также нужно было разработать методы для быстрого восстановления ежедневных ключей[8].

Одним из первых методов поиска установок «Энигмы» для текущего дня был метод решётки. Этот метод заключался в использовании листов перестановок для ротора N, в котором был выписан 31 вариант перестановок, полученных путем поворота ротора на одну букву вперед, а также соединения для трех роторов (bottom sheet). Также использовался лист с выписанными перестановками для каждой буквы A,…,F, полученными из анализа ключей в сообщениях, и щелями (top sheet). Листы накладывались друг на друга, и выполнялся поиск зависимостей между записями на разных листах, одинаковых для каждой из позиций A,…,F. Метод требовал концентрации и большого количества времени. Реевский описывал его как «примитивный и утомительный»[11]. В начале октября 1936 года немцы перестали использовать 6 штекеров на коммутационной панели в настройке «Энигмы», начав варьировать их число от пяти до восьми[7]. Это значительно усложнило использование метода решётки, и стало необходимо разработать новый метод поиска установок.

Формулы для перестановок AD, BE и CF показывали, что так называемая S-перестановка влияет исключительно на буквы внутри циклов, включающих в себя перестановки AD, BE и CF, но не изменяет фактическую конфигурацию этих циклов. В «Энигме» находятся три ротора, которые могут быть размещены на оси в шести различных позициях. Роторы могут содержать различных позиций, а можно составить лишь шесть их уникальных последовательностей, поэтому каталог характеристик содержал записей[12]. Если бы существовала машина, которые могла бы сосчитать длину и количество циклов, то эти каталогизированные данные для перестановок AD, BE и CF можно было бы сравнивать каждый день с другими перестановками подобной конфигурации. Такое устройство было разработано и создано.

Строение и принцип работы[править | править код]

Диаграмма циклометра:
I, II — два комплекта роторов, между которыми находятся лампы, загорающиеся при подаче напряжения (второй комплект расположен в обратном порядке для упрощения[12]);
Q — реверсивный барабан, включающий в себя отражатель R и два ротора L и M;
N — третий ротор, смещённый в одном наборе на три буквы относительно этого же ротора во втором наборе

Циклометр стал первой машиной, созданной из компонентов «Энигмы». Он использовался для взлома зашифрованных сообщений, однако позволял лишь составлять необходимые таблицы заранее, вместо того, чтобы непосредственно расшифровывать информацию, перехваченную в конкретные дни[13].

Циклометр содержал в себе копии соответствующих рефлекторов в закрытой электрической цепи. Он также состоял из двух комплектов роторов «Энигмы», связанных друг с другом и расположенных так, чтобы третий ротор в каждом наборе отстоял на три позиции от роторов в двух других (образуя, например, начальные позиции «NKU» и «NKX»). Это было связано с тем, что при шифровании сообщений с помощью «Энигмы» после набора буквы происходил поворот ротора N на от его изначального положения, то есть на одну букву[7]. Смещение ротора на три позиции позволяло, таким образом, получать перестановки AD, BE, CF.

Данное устройство имело эбонитовую панель, на которой располагались наборы ламп и переключателей, а также буквы латинского алфавита. Все компоненты были подключены к 26 проводам, которые соединяли между собой наборы роторов. Переключатель не гасил лампу, соответствующую ей. Электрическая проводка, проходившая через роторы циклометра и связывавшая их расположение, давала характеристики, соответствовавшие уникальному, буквенному циклу, который создавался с помощью имитации ключа текущего дня. Они могли были быть выведены на панель циклометра с помощью лампового интерфейса[3].

Прохождение тока через систему роторов:
ток подается на лампу A, проходя поочередно через системы роторов он зажигает ещё несколько ламп, образуя две группы перестановок.

Для получения характеристик на одну из ламп, например, «А», подавалось напряжение. Ток проходил через первую систему роторов и при выходе зажигал ещё одну лампу, например, соответствующую букве «N». Затем «N» подавалось на вторую систему и при выходе из него зажигалась, например, лампа «J». Ток от неё входил в первую систему роторов. Процесс продолжался до того, как ток возвращался на лампу «А»[1].

В рассмотренном примере, продемонстрированном также на иллюстрации, зажигаются 8 ламп, A, N, J, G, Q, S, E и H (лампы расположены в порядке прохождения через них тока). Стоит отметить, что подобные результаты будут получены при подаче тока на любую из 8 рассмотренных ламп. Подобная процедура позволяет получить информацию о двух циклах перестановок длины 4, (AJQE) и (GNHS). Первый из них образуется из ламп, от которых ток подавался на первую систему роторов, а второй — из ламп, от которых ток был подан на вторую систему[1].

Частью циклометра также является реостат. Он был предназначен для регулирования силы тока при зажжении ламп. При большом количестве включенных ламп силу тока следовало увеличить для усиления яркости, при малом количестве горящих ламп следовало уменьшить силу тока во избежание перегорания[1].

После получения одной пары циклов перестановок ток подавался на одну из ламп, которая ещё не горела. Это позволяло зажечь новую группу ламп, получив новую пару циклов длины в 2 раза меньшей, чем число загоревшихся ламп. Подобные операции продолжались до того, как будут выяснены длины всех циклов перестановок[1]. После этого положение роторов N в обоих системах смещалось на одну позицию (в рассматриваемом примере - в положения, соответственно, «NKV» и «NKY» для ротора N из первой и второй системы. Это делалось для нахождения циклов перестановок для позиций BE. То же самое делалось ещё раз для нахождения CF[1].

Поворачивая роторы, можно было получить характеристики для всех их 17 576 позиций. Поскольку всего могло быть 6 возможных положений роторов относительно друг друга, всего создавалось записей[12]. Созданная таким образом таблица использовалась тогда, когда индикаторы «Энигмы» показывали результат двойного шифрования в соответствии с первоначальными настройками машины в течение всего определённого дня.

Из перехваченных сообщений можно было составить алфавит, основанный на показаниях индикатора «Энигмы». Поскольку первоначальные настройки были всегда одинаковыми, то, если первая буква настроек выбиралась оператором как «A», то алфавит был бы одинаков как для первоначальных настроек, так и для позиции, сдвинутой на три буквы относительно них. Поэтому, если индикаторы показывали замену X—Q для одного сообщения, то во всех остальных сообщениях, в которых «A» была первой буквой стартовых настроек, сохранялась бы замена X—Q. Таким образом можно было составить алфавит, в котором буква «X» становилась буквой «Q» и так далее[14].

Особенность этого алфавита заключалась в том, что он обладал свойством циклического разложения — он оставался бы прежним при изменении коммутационной панели[15]. То есть алфавит мог быть составлен следующим образом: три буквы, которые оставались бы таким же; две пары букв, которые менялись бы местами друг с другом; и одна группа из трёх букв, в которой каждая была бы заменена следующей. Характеристики трёх алфавитов, созданных на основе показаний индикатора «Энигмы» для текущего дня, соответствовали бы трём последовательным алфавитам в таблице, получаемой с помощью циклометра до тех пор, пока основные настройки выбирались так, что средний ротор проходил по первым шести буквам.

2 ноября 1937 года, после того как таблицы для расшифровки были составлены, немцы заменили реверсивный барабан на новый, в связи с чем команде Реевского пришлось переделывать всю работу, начиная с реконструкции соединений. Начиная с 15 сентября 1938 года циклометр перестал выполнять свою задачу. Немцы стали использовать совершенно новые правила шифрования ключей сообщения. Отныне оператор «Энигмы» мог сам выбирать основную позицию для каждого зашифрованного ключа, имея при этом возможность каждый раз её менять. Ключ, как и прежде, зашифровывался дважды. Однако, основная позиция, известная криптологам, теперь различалась для каждого сообщения, следовательно, больше не было циклов перестановок AD, BE и CF в ежедневных характеристиках, чьи конфигурации могли быть найдены в каталоге[3].

См. также[править | править код]

Комментарии[править | править код]

  1. Данные могут быть проверены с помощью симуляции[10]. Необходимо выбрать машину «Enigma I», рефлектор A, установить порядок роторов (II, I, III), кольца (24, 13, 22), штекеры (AM, FI, NV, PS, TU, WZ), активировать коммутационную панель и установить роторы в начальные положения («FOL»). При вводе последовательности ABLABL на выходе должна получиться последовательность PKPJXI.

Примечания[править | править код]

  1. 1 2 3 4 5 6 Christensen, 2007, pp. 259—260.
  2. Агеенко Ф. Л., Зарва М. В. Словарь ударений для работников радио и телевидения: Ок. 75 000 словарных единиц / Под редакцией Д. Э. Розенталя. — Издание 6-е, стереотипное. — Москва: Русский язык, 1985. — С. 471. — 808 с.
  3. 1 2 3 4 Rejewski, 1981, p. 225.
  4. 1 2 Rejewski, 1981, p. 213.
  5. Rejewski, 1981, p. 216.
  6. 1 2 Rejewski, 1981, p. 217.
  7. 1 2 3 Rejewski, 1981, p. 224.
  8. 1 2 3 4 Rejewski, 1982, p. 3.
  9. Frode Weierud's CryptoCellar. Enigma Test Message from 1930. Дата обращения: октябрь 2014. Архивировано 30 октября 2014 года., цитируется «Schlsselanleitung zur Chiffriermachine Enigma I» [«Directions for use of Keys on the Cypher Machine 'Enigma I'»] 1930
  10. Daniel Palloks. Universal Enigma (англ.). Архивировано 14 октября 2017 года.
  11. Rejewski, 1982, p. 17.
  12. 1 2 3 Rejewski, 1982, p. 14—15.
  13. Rejewski, 1980, p. 543.
  14. John J. G. Savard. The Bombe (англ.). Дата обращения: 1 декабря 2013. Архивировано 25 мая 2013 года.
  15. Rejewski, 1982, p. 13.

Литература[править | править код]

  • Marian Rejewski. How Polish Mathematicians Deciphered the Enigma. Пер. с польского Christopher Kasparek. Online version (PDF) (англ.). — 1981.
  • Marian Rejewski. Mathematical Solution Of The Enigma Cipher. Пер. с польского Christopher Kasparek. Online version (PDF) (англ.). — 1982.
  • Chris Christensen. Polish Mathematicians Finding Patterns in Enigma Messages Online version (PDF) (англ.). — 2007.
  • Marian Rejewski. An Application Of The Theory Of Permutations In Breaking Of Enigma Cipher Online version (PDF) (англ.). — 1980.

Ссылки[править | править код]