Энигма
«Эни́гма» (от нем. Enigma — загадка) — переносная шифровальная машина, использовавшаяся для шифрования и расшифрования секретных сообщений. Первую версию роторной шифровальной машины запатентовал в 1918 году Артур Шербиус. На основе конструкции первоначальной модели «Энигмы» было создано целое семейство электромеханических роторных машин под тем же названием, применявшихся с 1920-х годов в сфере коммерческой и военной связи во многих странах мира, но наибольшее распространение получили в гитлеровской Германии во время Второй мировой войны[2]. Именно германская военная модель чаще всего подразумевается при упоминании «Энигмы».
По приблизительным оценкам Ф. Бауэра, было выпущено около 100 000 экземпляров шифровальных машин «Энигма»[3]. Вместе с тем, другие эксперты оценивают общее количество выпущенных единиц примерно в 40 000 штук[4].
Впервые шифр «Энигмы» удалось дешифровать в польском «Бюро шифров» в декабре 1932 года. Трое сотрудников разведки — Мариан Реевский, Ежи Ружицкий и Генрих Зыгальский — с помощью данных французской разведки, математической теории и методов обратной разработки смогли разработать и построить специальное устройство для дешифровки закодированных сообщений, которое назвали «криптологической бомбой» (см. Криптоанализ «Энигмы»). После этого немецкие инженеры усложнили устройство «Энигмы» и в 1938 году выпустили обновлённую версию, для дешифровки которой требовалось построить более сложные механизмы[5].
9 мая 1941 года при захвате силами Великобритании подводной лодки U-110 в руки англичан впервые попала шифровальная машина Энигма вместе с кодами, радиограммами и другими связанными документами. С помощью полученных материалов английские криптографы начали чтение сообщений немецких подлодок, использовавших «Дельфин»[что?][уточнить] на трёхроторной «Энигме».
В августе 1941 года англичане создали более совершенные «Turing Bombe», позволившие им оперативно расшифровывать немецкие радиограммы.
Через два месяца немцы ввели новый код для подлодок, но Блетчли-парк сумел взломать и его.
Англичане читали вражеские шифрограммы до февраля 1942 года, когда немецкий флот начал использовать новую четырёхроторную «Энигму». Ситуацию удалось исправить только когда 30 октября 1942 года противолодочный корабль «Petard» захватил модернизированную «Энигму» и документацию к ней с подводной лодки U-559[6]. Это позволило расшифровывать немецкие сообщения до самого конца войны.
Во время Второй мировой войны в Англии для расшифровки сообщений, зашифрованных с помощью «Энигмы», была создана машина с кодовым названием «Turing Bombe», оказавшая значительную помощь антигитлеровской коалиции. С целью сохранения секретности вся информация, полученная криптоанализом с её помощью, получила кодовое название «Ultra» и предназначалась для распространения среди очень ограниченного круга лиц[7]. Утверждалось, что это достижение являлось решающим фактором в победе над Германией[8].
Несмотря на то, что с точки зрения современной криптографии считается, что шифр «Энигмы» был относительно слаб[9][10], на практике только сочетание этого фактора с другими (такими, как ошибки операторов, процедурные изъяны, заведомо известный текст сообщений — например, при передаче метеосводок — и захваты экземпляров «Энигмы» и шифровальных книг) позволили взломщикам шифров разгадывать шифры «Энигмы» и читать сообщения[10].
Описание
[править | править код]Как и другие роторные машины, «Энигма» состояла из комбинации механических и электрических систем.
Механическая часть включала в себя клавиатуру, набор вращающихся дисков — роторов, — которые были расположены вдоль вала и прилегали к нему, и ступенчатого механизма, двигающего один или несколько роторов при каждом нажатии на клавишу.
Электрическая часть, в свою очередь, состояла из электрической схемы, соединяющей между собой клавиатуру, коммутационную панель, лампочки и роторы (для соединения роторов использовались скользящие контакты)[11].
Конкретный механизм работы мог быть разным, но общий принцип был таков: при каждом нажатии на клавишу самый правый ротор сдвигается на одну позицию, а при определённых условиях сдвигаются и другие роторы. Движение роторов приводит к различным криптографическим преобразованиям при каждом следующем нажатии на клавишу на клавиатуре[12].
Механические части двигались, замыкая контакты и образуя меняющийся электрический контур (то есть, фактически, сам процесс шифрования букв реализовывался электрически). При нажатии на клавишу клавиатуры контур замыкался, ток проходил через различные цепи и в результате включал одну лампочку из набора, отображающую искомую букву кода. (Например: при шифровке сообщения, начинающегося с ANX…, оператор вначале нажимал на клавишу A — загоралась лампочка Z — то есть Z и становилась первой буквой криптограммы. Далее оператор нажимал N и продолжал шифрование таким же образом далее)[12].
Для объяснения принципа работы машины приведена диаграмма слева. Диаграмма упрощена: на самом деле механизм состоял из двадцати шести лампочек, клавиш, разъёмов и электрических схем внутри роторов. Ток шёл от источника питания (часто это была батарея) (1) через переключатель (2) в коммутационную панель (3). Коммутационная панель позволяла перекоммутировать соединения между клавиатурой (2) и неподвижным входным колесом (4). Далее ток проходил через разъём (3), в данном примере неиспользуемый, входное колесо (4) и схему соединений трёх (в армейской модели) или четырёх (в военно-морской модели) роторов (5) и входил в рефлектор (6). Рефлектор возвращал ток обратно, через роторы и входное колесо, но уже по другому пути, далее через разъём «S», соединённый с разъёмом «D», через другой переключатель (9), и зажигалась лампочка[12].
Таким образом, постоянное изменение электрической цепи, через которую шёл ток вследствие вращения роторов, позволяло реализовать многоалфавитный шифр подстановки[13], что давало высокую, для того времени, устойчивость шифра.
Роторы
[править | править код]Роторы — сердце «Энигмы». Каждый ротор представлял собой диск примерно 10 см в диаметре, сделанный из эбонита или бакелита, с пружинными штыревыми контактами на правой стороне ротора, расположенными по окружности. На левой стороне находилось соответствующее количество плоских электрических контактов. Штыревые и плоские контакты соответствовали буквам в алфавите (обычно это были 26 букв от A до Z). При соприкосновении контакты соседних роторов замыкали электрическую цепь. Внутри ротора каждый штыревой контакт был соединён с одним из плоских. Порядок соединения был различным для каждого ротора[14].
Сам по себе ротор производил очень простой тип шифрования: элементарный шифр замены. Например, контакт, отвечающий за букву E, мог быть соединён с контактом буквы T на другой стороне ротора. Но при использовании нескольких роторов в связке (обычно трёх или четырёх) за счёт их постоянного движения получается более надёжный шифр[13].
Военные модели «Энигмы» выпускались с различным количеством роторов. Первая модель содержала только три. В более поздних моделях была возможность выбора из пяти (1934 г.), семи (1938 г.) или восьми (1939 г.) роторов. Роторы отмечались римскими цифрами I, …, VIII. До 1938 года германская армия использовала только три из пяти доступных роторов[15].
Четырёхроторная военно-морская модель «Энигмы», «Kriegsmarine M4» имела один дополнительный ротор, хотя была такого же размера, что и трёхроторная, за счёт более тонкого рефлектора. Существовало два типа этого ротора: «Бета» и «Гамма». В процессе шифрования он не двигался, но мог быть установлен вручную на любую из 26 различных позиций[15].
Ступенчатое движение роторов
[править | править код]Каждый ротор был прикреплён к шестерёнке с 26 зубцами (храповику), а группа собачек зацепляла зубцы шестерёнок. Собачки выдвигались вперёд одновременно с нажатием клавиши на машине. Если собачка цепляла зубец шестерёнки, то ротор поворачивался на один шаг[12].
В армейской модели «Энигмы» каждый ротор был прикреплён к регулируемому кольцу с выемками. Пять базовых роторов (I—V) имели по одной выемке, тогда как в военно-морской модели (VI—VIII) — по две. В определённый момент выемка попадала напротив собачки, позволяя ей зацепить храповик следующего ротора при последующем нажатии клавиши. Когда же собачка не попадала в выемку, она просто проскальзывала по поверхности кольца, не цепляя шестерёнку. В системе с одной выемкой второй ротор продвигался вперёд на одну позицию за то же время, что первый — на 26. Аналогично, третий ротор продвигался на один шаг за то же время, за которое второй делал 26 шагов[16]. Особенностью машины было то, что второй ротор также поворачивался, если поворачивался третий. Это означает, что второй ротор мог повернуться дважды при двух последовательных нажатиях клавиш — так называемое «двухшаговое движение», — что приводило к уменьшению периода обращения[17][18].
Двухшаговое движение отличает функционирование роторов от нормального одометра. Двойной шаг реализовывался следующим образом: первый ротор поворачивался, заставляя второй также повернуться на один шаг. И, если второй ротор продвинулся в нужную позицию, то третья собачка зацепляла третью шестерёнку. На следующем шаге эта собачка толкала шестерёнку и продвигала её, а также продвигала и второй ротор[17][18].
С тремя дисками и только с одной выемкой в первом и втором диске машина имела период 26 × 25 × 26 = 16 900[19][17]. Как правило, сообщения не превышали пары сотен символов, и, следовательно, не было риска повтора позиции роторов при написании одного сообщения.
При нажатии клавиши роторы поворачивались до замыкания электрической цепи.
Входное колесо
[править | править код]Входное колесо (нем. Eintrittswalze), или входной статор, соединяло коммутационную панель или (в случае её отсутствия) клавиатуру и ламповую панель с роторами. Несмотря на то, что фиксированное соединение проводов играло сравнительно небольшую роль с точки зрения безопасности, именно это оказалось некоторым препятствием в работе польского криптоаналитика Мариана Реевского, когда он пытался определить способ соединения проводов внутри роторов. Коммерческая модель «Энигмы» соединяла буквы в порядке их следования на клавиатуре: Q→A, W→B, E→C и так далее. Однако военная модель соединяла их в прямом алфавитном порядке: A→A, B→B, C→C и т. д.[20] Только интуитивная догадка Реевского позволила ему изменить расчёты и решить уравнения.
Рефлектор
[править | править код]За исключением ранних моделей «A» и «B», за последним ротором следовал рефлектор (нем. Umkehrwalze), запатентованная деталь, отличавшая семейство «Энигмы» от других роторных машин, разработанных в то время. Рефлектор соединял контакты последнего ротора попарно, коммутируя ток через роторы в обратном направлении, но по другому маршруту[13]. Наличие рефлектора гарантировало, что преобразование, осуществляемое «Энигмой», есть инволюция, то есть расшифрование представляет собой то же самое, что и шифрование[21]. Однако наличие рефлектора делает невозможным шифрование какой-либо буквы через саму себя. Это было серьёзным концептуальным недостатком, впоследствии пригодившимся дешифровщикам[22].
В коммерческой модели «Энигма-C» рефлектор мог быть расположен в двух различных позициях, а в модели D — в 26 возможных позициях, но при этом был неподвижен в процессе шифрования[20]. В модели, применявшейся в абвере, рефлектор двигался во время шифрования, как и остальные диски.
В армейской и авиационной моделях «Энигмы» рефлектор был установлен, но не вращался. Он существовал в четырёх разновидностях. Первая разновидность была помечена буквой A. Следующая, Umkehrwalze B, была выпущена 1 ноября 1937 года[23]. Третья, Umkehrwalze C, появилась в 1941 году. Четвёртая, Umkehrwalze D, впервые появившаяся 2 января 1944 года, позволяла оператору «Энигмы» управлять настройкой коммутации внутри рефлектора[24].
Коммутационная панель
[править | править код]Коммутационная панель (нем. Steckerbrett) позволяет оператору варьировать соединения проводов. Впервые она появилась в немецких армейских версиях в 1930 году и вскоре успешно использовалась и в военно-морских версиях[25]. Коммутационная панель внесла огромный вклад в усложнение шифрования машины, даже больший, чем введение дополнительного ротора. С «Энигмой» без коммутационной панели можно справиться практически вручную, однако после добавления коммутационной панели взломщики были вынуждены конструировать специальные машины.
Кабель, помещённый на коммутационную панель, соединял буквы попарно, например, «E» и «Q» могли быть соединены в пару. Эффект состоял в перестановке этих букв до и после прохождения сигнала через роторы. Например, когда оператор нажимал «E», сигнал направлялся в «Q», и только после этого уже во входной ротор. Обычно «Энигма» поставлялась с шестью кабелями[26]. Количество всех возможных способов соединений кабелей на коммутационной составляло 150738274937250 (2⁴⁷)[источник не указан 632 дня].
Каждая буква на коммутационной панели имела два гнезда. Вставка штепселя разъединяла верхнее гнездо (от клавиатуры) и нижнее гнездо (к входному ротору) этой буквы. Штепсель на другом конце кабеля вставлялся в гнёзда другой буквы, переключая тем самым соединения этих двух букв[26].
Аксессуары
[править | править код]Удобной деталью, использовавшейся на «Энигме» модели «M4», был так называемый «Schreibmax», маленькое печатающее устройство, которое могло печатать все 26 букв на небольшом листе бумаги. В связи с этим не было необходимости в дополнительном операторе, следящем за лампочками и записывающем буквы. Печатное устройство устанавливалось поверх «Энигмы» и было соединено с панелью лампочек. Чтобы установить печатающее устройство, необходимо было убрать крышечки от ламп и все лампочки[27]. Кроме того, это нововведение повышало безопасность: теперь принимающему офицеру-связисту не обязательно было видеть незашифрованный текст. Печатающее устройство было установлено в каюте командира подводной лодки, а офицер-связист только вводил зашифрованный текст, не получая доступа к секретной информации.
Другим аксессуаром была отдельная удалённая панель с лампочками. В варианте с дополнительной панелью деревянный корпус «Энигмы» был более широким. Существовала модель панели с лампочками, которая могла быть впоследствии подключена, но это требовало, как и в случае с печатающим устройством «Schreibmax», замены заводской панели с лампочками[28]. Удалённая панель позволяла человеку прочитать расшифрованный текст без участия оператора.
В 1944 году военно-воздушные силы ввели дополнительный переключатель коммутационной панели, названный «Uhr» (часы). Это была небольшая коробка, содержащая переключатель с 40 позициями. Он заменял стандартные штепсели. После соединения штепселей, как определялось в списке кодов на каждый день, оператор мог поменять переключатель в одной из этих 40 позиций. Каждая позиция приводила к различной комбинации телеграфирования штепселя. Большинство из этих соединений штепселей, в отличие от стандартных штепселей, были непарными[15].
Математическое описание
[править | править код]Преобразование «Энигмы» для каждой буквы может быть определено математически как результат перестановок. Рассмотрим трёхроторную армейскую модель. Положим, что P обозначает коммутационную панель, U обозначает рефлектор, а L, M, R обозначают действия левых, средних и правых роторов соответственно. Тогда шифрование E может быть выражено как
После каждого нажатия клавиш ротор движется, изменяя трансформацию. Например, если правый ротор R проворачивается на i позиций, происходит трансформация , где ρ — циклическая перестановка, проходящая от «A» к «B», от «B» к «C», и так далее. Таким же образом, средний и левый ротор могут быть обозначены как «M» и «L», производящие соответственно j и k вращений. Функция шифрования в этом случае может быть отображена следующим образом[29]:
Процедуры для использования «Энигмы»
[править | править код]В германских вооружённых силах средства связи были разделены на разные сети, причём у каждой были собственные настройки кодирования для машин «Энигмы». В английском центре дешифровки Блетчли-парк (англ. Bletchley Park) эти коммуникационные сети именовались ключами и им были присвоены кодовые имена, такие как Red, Chaffinch или Shark. Каждой единице, работающей в сети, на новый промежуток времени назначались новые настройки. Чтобы сообщение было правильно зашифровано и расшифровано, машины отправителя и получателя должны были быть одинаково настроены, конкретно идентичными должны были быть: выбор роторов, начальные позиции роторов и соединения коммутационной панели. Эти настройки оговаривались заранее и записывались в специальных шифровальных книгах[13].
Первоначальное состояние шифровального ключа «Энигмы» включает следующие параметры.
- Расположение роторов: выбор роторов и их расположение.
- Первоначальные позиции роторов: выбранные оператором, различные для каждого сообщения.
- Настройка колец: позиция алфавитного кольца, совпадающая с роторной схемой.
- Настройки штепселей: соединения штепселей на коммутационной панели.
«Энигма» была разработана таким образом, чтобы безопасность сохранялась даже в тех случаях, когда шпиону известны роторные схемы, хотя на практике настройки хранятся в секрете. С неизвестной схемой общее количество возможных конфигураций может быть порядка 10114 (около 380 бит), с известной схемой соединений и других операционных настроек этот показатель снижается до 1023 (76 бит). Пользователи «Энигмы» были уверены в её безопасности из-за такого огромного количества возможных вариантов. Нереальным было даже начать подбирать возможную конфигурацию.
Индикаторы
[править | править код]Большинство ключей хранилось лишь определённый период времени, обычно сутки. Однако для каждого нового сообщения задавались новые начальные позиции роторов. Это обуславливалось тем, что если число сообщений, посланных с идентичными настройками, будет велико, то криптоаналитик, досконально изучивший несколько сообщений, может подобрать шифр к сообщениям, используя частотный анализ. Подобная идея используется в принципе «инициализационного вектора» в современном шифровании. Эти начальные позиции отправлялись вместе с криптограммой, перед зашифрованным текстом. Такой принцип именовался «индикаторная процедура». И именно слабость подобных индикационных процедур привела к первым успешным случаям взлома кода «Энигмы»[30].
Одни из ранних индикационных процедур использовались польскими криптоаналитиками для взлома кода. Процедура заключалась в том, что оператор настраивал машину в соответствии со списком настроек, которые содержат главные первоначальные стартовые позиции роторов. Допустим, главное ключевое слово — AOH. Оператор вращал роторы вручную до тех пор, пока слово AOH не читалось в роторных окошках. После этого оператор выбирал свой собственный ключ для нового сообщения и вводил его на клавиатуре. Допустим, оператор выбрал слово EIN. Это слово становилось ключевым для данного сообщения. Далее оператор ещё один раз вводил слово EIN в машину для избежания ошибок при передаче. В результате, после двойного ввода слова EIN в криптограмме отображалось слово XHTLOA, которое предшествовало телу основного сообщения. И наконец, оператор снова поворачивал роторы в соответствии с выбранным ключом, в данном примере EIN, и вводил далее уже основной текст сообщения[30].
При получении данного шифрованного сообщения вся операция выполнялась в обратном порядке. Оператор-получатель вводил в машину начальные настройки (ключевое слово AOH) и вводил первые шесть букв полученного сообщения (XHTLOA). В приведённом примере отображалось слово EINEIN, то есть оператор-получатель понимал, что ключевое слово — EIN. После этого он устанавливал роторы на позицию EIN и вводил оставшуюся часть зашифрованного сообщения, на выходе получая чистый расшифрованный текст[30].
В этом методе было два недостатка. Во-первых, использование главных ключевых настроек. Впоследствии это было изменено тем, что оператор выбирал собственные начальные позиции для шифрования индикатора и отправлял начальные позиции в незашифрованном виде. Вторая проблема состояла в повторяемости выбранного оператором-шифровщиком слова-индикатора, которая была существенной трещиной в безопасности. Ключ сообщения шифровался дважды, в результате чего прослеживалось закономерное сходство между первым и четвёртым, вторым и пятым, третьим и шестым символами. Этот недостаток позволил польским дешифровщикам взломать код «Энигмы» уже в 1932 году[30]. Однако, начиная с 1940 года, немцы изменили процедуры для повышения безопасности[22].
Во время Второй мировой войны немецкие операторы использовали шифровальную книгу только для установки роторов и настройки колец. Для каждого сообщения оператор выбирал случайную стартовую позицию, к примеру, WZA, и случайный ключ сообщения, допустим, SXT. Далее оператор устанавливал роторы в стартовую позицию WZA, и шифровал ключ сообщения SXT. Предположим, что в результате получится UHL. После этого оператор устанавливал слово SXT как начальную позицию роторов и ключ к сообщению. Далее он отправлял стартовую позицию WZA и шифровальный ключ UHL вместе с сообщением. Получатель устанавливал стартовую позицию роторов в соответствии с первой триграммой WZA и расшифровывал вторую триграмму UHL для распознания ключа сообщения SXT. Далее получатель использовал этот ключ как стартовую позицию для расшифровки сообщения. Таким образом, каждый раз главный ключ оказывался различным и был ликвидирован недостаток, свойственный процедуре с двойным шифрованием ключа.
Аббревиатуры и директивы
[править | править код]Армейская версия «Энигмы» использовала только 26 букв. Прочие символы заменялись редкими комбинациями букв. Пробел пропускался либо заменялся на «X». Символ «X» в основном использовался для обозначения точки либо конца сообщения. В отдельных подразделениях использовались некоторые особые символы. В шифровках армии запятая заменялась на сочетание «ZZ», а вопросительный знак — на «FRAGE» либо «FRAQ». В шифровках, использовавшихся военно-морскими силами, запятая заменялась на «Y», а вопросительный знак — на комбинацию «UD». Комбинация символов «CH», например, в словах «ACHT» (восемь), «RICHTUNG» (направление) заменялась символом «Q» («AQT», «RIQTUNG»). Два, три или четыре нуля заменялись словами «CENTA», «MILLE» и «MYRIA» соответственно[31].
Шифровальщики в армии и люфтваффе отправляли сообщения группами по пять символов. Военно-морские шифровальщики, использующие, как сказано выше, четырёхроторные машины, отправляли сообщения группами по четыре символа[32]. Часто употребляемые слова и имена очень сильно варьировались. Например, слово «Minensuchboot» (минный тральщик) могло быть написано как «MINENSUCHBOOT», «MINBOOT», «MMMBOOT» или «MMM354[прояснить]». Чтобы осложнить криптоанализ, отдельные сообщения не содержали более 250 символов. Более длинные сообщения разбивались на части, и каждая часть использовала свой ключ. Кроме того, иногда операторы специально забивали зашифрованные сообщения «мусором» (например, бессвязный набор букв, несвязанные с основным текстом слова́) для усложнения дешифровки перехватов противником[31].
История и развитие машины
[править | править код]Семейство шифровальных машин «Энигма» насчитывает огромное количество моделей и вариаций дизайна. Ранние модели были коммерческими, начиная с 1920-х годов. Начиная с середины 1920-х различные немецкие военные службы стали использовать эти машины, внося большое количество собственных изменений для повышения безопасности. Кроме того, другие страны использовали чертежи Энигмы для создания своих собственных шифровальных машин.
Коммерческая «Энигма»
[править | править код]23 февраля 1918 года немецкому инженеру Артуру Шербиусу был выдан патент на шифровальную машину, использующую роторы (эта машина и является первым вариантом «Энигмы»)[33], и совместно с Рихардом Риттером[нем.] основал фирму Scherbius & Ritter[нем.] (Шербиус и Риттер). Они пытались наладить отношения с германским военно-морским флотом и с Министерством иностранных дел, но на тот момент те не были заинтересованы в шифровальных машинах[26]. В дальнейшем они зарегистрировали патенты на предприятие Gewerkschaft Securitas[нем.] (Геверкшафт Секуритас), которое 9 июля 1923 года основало корпорацию производителей шифровальных машин Chiffriermaschinen Aktiengesellschaft[нем.]. Шербиус и Риттер состояли в совете директоров этой корпорации.
Корпорация Chiffriermaschinen AG начала рекламировать роторную машину, «Энигму» модели «A», которая была выставлена на обозрение на конгрессе Всемирного почтового союза в 1923 и 1924 годах. Машина напоминала печатную машину, была тяжёлой и очень большой: габариты 65 × 45 × 35 см при массе около 50 кг[34]. Потом была представлена модель «B» подобной же конструкции. Первые две модели «A» и «B» были совсем не похожи на более поздние версии. Они были различных размеров и формы. Отличались они и с шифровальной точки зрения — в ранних версиях не хватало рефлектора.
Рефлектор — идея, предложенная коллегой Шербиуса Вилли Корном[нем.] — был ключевой особенностью «Энигмы» и впервые был внедрён в модели «C» (1926)[35].
Модель «C» была меньше по размеру и более портативной, чем предшественники[34], но в этой модели не хватало пишущей машинки, чтобы заменить дополнительного оператора, следящего за лампочками, отсюда и альтернативное название «Glowlamp Enigma», для отличия её от моделей «A» и «B». «Энигма» модели «C» вскоре устарела, уступая новой модели «D» (1927). Эта версия широко использовалась в Швеции, Нидерландах, Великобритании, Японии, Италии, Испании, США и Польше[36].
«Энигма» на военной службе
[править | править код]Немецкий военно-морской флот первым начал использовать машины «Энигма». Модель, названная «Funkschlüssel C[нем.]», начала разрабатываться с 1925 года и уже в следующем году массово поступать в армию[37]. Клавиатура и панель с лампочками состояли из 29 букв от A до Z, а также Ä, Ö и Ü, расположенных в алфавитном порядке, в отличие от системы QWERTZU[нем.]. Роторы имели по 28 контактов, буква X кодировалась напрямую, не зашифрованной. Три ротора из пяти и рефлектор могли быть установлены в четыре различные позиции, обозначенные буквами α, β, γ и δ. Незначительные исправления в машину были внесены в июле 1933 года.
15 июля 1928 года немецкой армией была внедрена собственная модель «Энигмы» — «Enigma-G[нем.]», модифицированная в июне 1930 года в модель «Enigma I[нем.]»[25]. «Энигма I», также известная как «Энигма» вермахта, или «войсковая» «Энигма», широко использовалась немецкими военными службами и другими государственными организациями (например, железными дорогами) во время Второй мировой войны. Существенное различие между «Энигмой I» и коммерческими моделями «Энигмы» была коммутационная панель для замены пар букв, существенно увеличившая уровень защиты шифрограмм[16]. Также были и другие отличия: использование неподвижного рефлектора и перемещение прорезей с тела ротора на движущиеся буквенные кольца. Размеры машины составляли 28 × 34 × 15 см, масса — около 12 кг.
В 1934 году ВМФ принял на вооружение военно-морскую модификацию армейской «Энигмы», которая была названа «Funkschlüssel M[нем.]»[38]. В то время как армейские модели использовали на тот момент всего три ротора, для большей безопасности в морской модификации можно было выбирать три ротора из пяти. В декабре 1938 года в модель вермахта были также добавлены два дополнительных ротора. Позднее, в 1938 году в комплект «Энигмы» ВМФ было добавлено ещё два дополнительных ротора, а потом и ещё один в 1939 году, так что появилась возможность выбирать из восьми роторов[39]. В августе 1935 года военно-воздушные силы также стали использовать армейские модели «Энигмы» для собственной секретной связи. С 1 февраля 1942 года немецкие подводные лодки стали использовать четырёхроторную, названную «Enigma-M4[нем.]» (в немецком наименовании эта новая сеть получила название «Triton», а у союзников — «Shark»). Дополнительный ротор не занимал большего пространства благодаря разделению рефлектора на комбинацию более тонкого рефлектора и тонкого четвёртого ротора[40].
Также существовала «Enigma II[нем.]» — большая восьмироторная печатающая модель. В 1933 году польские специалисты по взламыванию шифров обнаружили, что «Энигма II» использовалась для связи высших армейских структур, но вскоре Германия прекратила её использование: машина была слишком ненадёжна и часто заклинивала[41].
Немецкая военная разведка (Абвер) использовала «Enigma-G[нем.]» (известна как «Энигма абвера»). Эта была четырёхроторная модель «Энигмы» без контактной панели, но с бо́льшим количеством выемок на роторах. Эта модель была оснащена счётчиком нажатий клавиш, поэтому она также известна как «счётная машина» (англ. counter machine)[42].
Другие страны также использовали «Энигму». Итальянские военно-морские силы использовали коммерческий вариант «Энигмы» под названием «Navy Cipher D»; испанцы также использовали коммерческую «Энигму» во время гражданской войны. Британские специалисты по взламыванию шифров преуспели в дешифровке этих машин, лишённых коммутационной панели. Швейцарцы использовали для военных и дипломатических целей «Enigma-K[нем.]», которая была похожа на коммерческую «Enigma-D[нем.]». Эти машины были взломаны большим числом дешифровщиков, включая польских, французских, британских и американских. «Enigma-T[нем.]» (кодовое название «Тирпиц») была выпущена для Японии.
По приблизительным оценкам, всего было выпущено около 100 тыс. экземпляров шифровальных машин «Энигма»[3]. По окончании Второй мировой войны союзнические силы продали трофейные машины, по-прежнему считавшиеся на тот момент надёжными, в различные развивающиеся страны.
Криптоанализ «Энигмы»
[править | править код]В течение всего периода активного применения «Энигмы» различные правительственные организации стран Европы предпринимали попытки «взлома» машины с целью защиты от нарастающей угрозы со стороны Германии. «Энигма» была необходима Германии для проведения быстрого и скоординированного наступления против ряда стран в рамках Второй мировой войны[5]. В довоенном периоде наибольших успехов в дешифровке сообщений «Энигмы» достигло польское Бюро шифров и лично Мариан Реевский[43]. Во время Второй мировой войны пальму первенства в деле криптоанализа «Энигмы» взял центр британской разведки «Station X», также известный как Блетчли-парк[44].
Клоны «Энигмы»
[править | править код]«Энигма» внесла существенное влияние в сферу изобретения шифровальных машин вообще и роторных машин в частности[45]:
- «Тайпекс» («Typex») была разработана в Великобритании по чертежам «Энигмы» — она даже содержит детали, изъятые из «Энигмы»[46].
- «GREEN» — японский клон «Энигмы», малоиспользуемая машина, содержащая четыре ротора, расположенных вертикально[45].
- В США криптоаналитик Уильям Фридман изобрёл «M-325», шифровальную машину, подобную «Энигме» в логических операциях, хотя отличную по конструкции.
- Уникальная роторная машина «Cryptograph» была изобретена в 2002 году голландским криптоаналитиком Татьяной ван Варк (нидерл. Tatjana van Vark). Она базируется на принципе работы «Энигмы», но имеет ряд существенных отличий — например, увеличенное число роторов и наличие «переключателя супершифрования». Татьяна ван Варк не раскрывает деталей устройства машины, обещая это сделать только в том случае, если кто-либо расшифрует закодированное с помощью этой машины послание[47].
- Советская роторная шифровальная машина М-125 «Фиалка», созданная на основе «Энигмы», использовалась в советской армии и спецслужбах, а также войсках стран социалистического блока после Второй мировой войны. Считается, что в конструкцию «Фиалки» были внесены изменения, обеспечивавшие более высокую криптостойкость (большее количество роторов, способность роторов вращаться в обоих направлениях, использование отражателя для шифрования буквы в самой себе и т. д.)[48].
«Энигма» сегодня
[править | править код]Попытки «взломать» «Энигму» не предавались гласности до конца 1970-х годов. После этого интерес к «Энигме» значительно возрос, и множество шифровальных машин представлено к публичному обозрению в музеях США и Европы.
В Немецком музее в Мюнхене находятся оба немецких военных варианта трёх- и четырёхроторной «Энигмы», есть и устаревшие гражданские модели. Работающая модель представлена также в Международном шифровальном музее в Форт-Миде, в Музее компьютерной истории (США), в Блетчли-Парке (Великобритания), в познанском Центре шифров Энигма (Польша), в Австралийском военном мемориале в Канберре, а также в некоторых других странах Европы.
В 2007 году запущен проект распределённых вычислений «Enigma@Home», целью которого являлся взлом трёх зашифрованных сообщений «Энигмы», перехваченных в северной Атлантике в 1942 году[49]. Два сообщения были успешно расшифрованы в 2009 году[50], третье (изначально неполное и повреждённое) — в 2013 году[51].
В настоящее время разработано множество компьютерных программ[англ.], симулирующих работу разных моделей «Энигмы» и показывающих, как именно происходит зашифрование сообщения.
В культуре
[править | править код]«Энигма» имеет достаточно большую ценность для истории криптоаналитики. В связи с тем, что до наших дней сохранилось достаточно небольшое число экземпляров «Энигмы», каждая такая машина очень высоко ценится среди коллекционеров[52]. В Польше, в городе Познань в 2021 году был открыт интерактивный Центр шифров Энигма, рассказывающий о внутреннем устройстве этой шифровальной машины, а также о её влиянии на ход Второй Мировой Войны[53][54].
Тема расшифровки машины «Энигмы» в значительной степени затрагивается и в кинематографе. Сюжет значительной части фильмов с «Энигмой» рассматривает непосредственно сам процесс расшифровки, а также рассказывает о некоторых исторических личностях, тесно связанных с «Энигмой». Однако, историческая точность данных произведений вызывает у экспертов сомнения[55].
Ниже приведены примеры произведений кино и литературы, в той или иной степени рассматривающие «Энигму».
В кино
[править | править код]- «Энигма» — британский фильм 1982 года режиссёра Жанно Шварца о немецком диссиденте, пытающемся выкрасть из советского посольства очень необходимую американцам шифровальную машину — «Энигму».
- «Энигма» (другое название — «Код „Энигма“») — фильм 2001 года режиссёра Майкла Эптида, рассказывающий о вымышленном английском математике Томе Джерико, который занимается расшифровкой «Энигмы» во время Второй мировой войны. Действия происходят в Блетчли-парке — штабе главного шифровального подразделения Великобритании.
- «Игра в имитацию» — британо-американский фильм 2014 года, драма о британском криптографе военного времени Алане Тьюринге, который обеспечил оперативное расшифровывание кода «Энигмы» во время Второй мировой войны. Основан на реальных событиях. Фильм получил множество наград, включая «Оскар» за лучший адаптированный сценарий.
- «U-571 (фильм)» — фильм 2000 года режиссёра Джонатана Мостоу об американской военной подлодке, в котором рассказывается о мужестве военных подводников, получивших приказ захватить немецкую подводную лодку с находившейся на её борту шифровальной машиной «Энигма», но выполнить это задание и вернуться живыми оказалось совершенно непросто.
В литературе
[править | править код]- «Энигма» — шпионский детектив Р. Харриса о борьбе за обладание секретом немецкой шифровальной машины «Энигма».
- «Криптономикон» — Нил Стивенсон.
- «Дождь забвения» — научно-фантастический роман Аластера Рейнольдса, в котором люди из будущего попав в параллельный мир используют «Энигму».
Примечания
[править | править код]- ↑ "Показана работа нацистской шифровальной машины «Энигма»". lenta.ru. 2017-06-06. Архивировано 31 мая 2020. Дата обращения: 8 июня 2017.
- ↑ Stripp, 1993, с. XVI.
- ↑ 1 2 Бауэр, 2007, с. 139.
- ↑ Florian Stark (2020-06-05). "Auktion: Wehrmachts-Chiffriermaschine Enigma erzielt Sensationspreis". DIE WELT. Архивировано 23 февраля 2022. Дата обращения: 23 февраля 2022.
- ↑ 1 2 Сингх, 2007, с. 30.
- ↑ Тайны проекта Ultra . Дата обращения: 30 сентября 2021. Архивировано 11 апреля 2021 года.
- ↑ Сингх, 2007, с. 34—36.
- ↑ Сингх, 2007, с. 35.
- ↑ Леонид Черняк. Тайны проекта Ultra Архивная копия от 26 июня 2019 на Wayback Machine.
- ↑ 1 2 Жельников, 1996.
- ↑ Бауэр, 2007, с. 132—133.
- ↑ 1 2 3 4 Stripp, 1993, с. 85.
- ↑ 1 2 3 4 Сингх, 2007, с. 25.
- ↑ Khan, 1998, начало главы №3.
- ↑ 1 2 3 Бауэр, 2007, с. 137.
- ↑ 1 2 Gladwin, с. 204.
- ↑ 1 2 3 Stripp, 1993, с. 86.
- ↑ 1 2 Девид Хамер. «„Энигма“: что участвует в двухшаговом движении среднего ротора» (архив первоисточника от 2011-07-19).
- ↑ Kruh, Deavours. The commercial Enigma, 2002, с. 8.
- ↑ 1 2 Kruh, Deavours. The commercial Enigma, 2002, с. 7.
- ↑ Бауэр, 2007, с. 134.
- ↑ 1 2 Сингх, 2007, с. 34.
- ↑ Kozaczuk, 1984, с. 311.
- ↑ Kozaczuk, 1984, с. 308.
- ↑ 1 2 Kruh, Deavours. The commercial Enigma, 2002, с. 11.
- ↑ 1 2 3 Сингх, 2007, с. 26.
- ↑ Moon, 2014.
- ↑ Рижменантс.
- ↑ Kruh, Deavours. The commercial Enigma, 2002, с. 6.
- ↑ 1 2 3 4 Сингх, 2007, с. 29.
- ↑ 1 2 The translated 1940 Enigma General Procedure . codesandciphers.org.uk. Дата обращения: 16 октября 2006. Архивировано 1 мая 2021 года.
- ↑ The translated 1940 Enigma Officer and Staff Procedure . codesandciphers.org.uk. Дата обращения: 16 октября 2006. Архивировано 1 мая 2021 года.
- ↑ Reichspatentamt Patentschrift. Chiffrierapparat Архивная копия от 3 апреля 2016 на Wayback Machine.
- ↑ 1 2 Kruh, Deavours. The commercial Enigma, 2002, с. 5.
- ↑ Khan, 1998.
- ↑ Бауэр, 2007, с. 135.
- ↑ Сингх, 2007, с. 27.
- ↑ Kruh, Deavours. The commercial Enigma, 2002, с. 14.
- ↑ Khan, 1998, с. 47.
- ↑ Khan, 1998, с. 245.
- ↑ Kozaczuk, 1984, с. 28.
- ↑ Stripp, 1993, с. 125.
- ↑ Сингх, 2007, с. 29—31.
- ↑ Сингх, 2007, с. 31—34.
- ↑ 1 2 Kruh, Deavours. Cryptologia, с. 146.
- ↑ Kruh, Deavours. Cryptologia, с. 145.
- ↑ Алексеева Т. Необычные физические приборы Татьяны ван Варк Архивная копия от 15 ноября 2015 на Wayback Machine // Популярная Механика. 2012.
- ↑ Криптомашина М-125 «Фиалка» — малоизвестный советский аналог германской Enigma . RusNext.ru (18 августа 2019). Дата обращения: 10 июля 2024. Архивировано 2 мая 2024 года.
- ↑ Enigma@Home Архивная копия от 18 января 2012 на Wayback Machine.
- ↑ Enigma@Home — проект взлома шифров Второй мировой войны Архивная копия от 29 июня 2016 на Wayback Machine.
- ↑ Dan Girard. M4 Project . The Enigma Message Breaking Project (14 января 2013). Дата обращения: 14 ноября 2017. Архивировано 14 ноября 2017 года.
- ↑ Алексей Качалин. Экземпляр шифровальной машины Enigma времен Второй мировой продан за рекордные $365 тысяч // ТАСС. Архивировано 8 декабря 2015 года.
- ↑ Ирина Полина. В Польше планируют создать музей шифровальной машины Enigma // ТАСС. Архивировано 8 декабря 2015 года.
- ↑ Центр шифров Энигма . csenigma.pl. Дата обращения: 22 февраля 2022. Архивировано 11 февраля 2022 года.
- ↑ Анна Лихова. Правда и вымысел о немецком шифраторе Enigma // ТВЦ. Архивировано 8 декабря 2015 года.
Литература
[править | править код]- Сингх С. Книга шифров. Тайная история шифров и их расшифровки. — Астрель, 2007. — ISBN 978-5-17-038477-8.
- Жельников В. Кpиптография от папируса до компьютера. — ABF, 1996. — ISBN 5-87484-054-0.
- Бауэр Ф. Расшифрованные секреты. Методы и принципы криптологии. — Мир, 2007. — ISBN 5-03-003551-6.
- Рижменантс, Дирк. Технические детали Энигмы. Шифровальные машины и криптология .
- Kruh L., Deavours C. The commercial Enigma: beginnings of machine cryptography (англ.). — 2002.
- Kozaczuk W. Enigma: how the German machine cipher was broken, and how it was read by the Allies in World War Two. — 1984. — ISBN 978-0313270079.
- Khan D. Seizing the Enigma: The Race to Break the German U-Boat Codes. — Pen & Sword books, 1998. — ISBN 978-0395427392.
- Gladwin A. Alan Turing, Enigma, and the breaking of German machine ciphers in World War II (англ.).
- Stripp A. Codebreakers: The Inside Story of Bletchley Park. — 1993. — ISBN 978-0192801326.
- Kruh L., Deavours C. Cryptologia. The typex cryptograph (англ.).
- Hamer, David H. Enigma Variations: an Extended Family of Machines (англ.). — 1998.
- Smith, Michael. Station X (Macmillan). — 1998. — ISBN 0-7522-7148-2.
- Ulbricht, Heinz. Die Chiffriermaschine Enigma — Trügerische Sicherheit: Ein Beitrag zur Geschichte der Nachrichtendienste (нем.). — 2005. Архивировано 5 марта 2016 года.
- Смарт Н. Криптография. Серия «Мир программирования». — Техносфера, 2005. — 528 с. — ISBN 5-94836-043-1.
- Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. — Триумф, 2003. — 816 с. — ISBN 5-89392-055-4.
- Корн Г., Корн Т. Справочник по математике (для научных работников и инженеров). — Наука, 1973. — 832 с. — ISBN 5-8114-0485-9 .
- Moon A. Alan Turing and Enigma Machine. — Lulu Press, 2014. — ISBN 1312728906 .
- Великая Победа: в 15 т. / под общ. ред. С. Е. Нарышкина, А. В. Торкунова. — М.: МГИМО–Университет, 2015. — Т. 10: Война в эфире. — 356 с. — ISBN 978-5-9228-1300-6.
Ссылки
[править | править код]- Тайна проекта Ultra // OSP.ru, 2003-07-08
- Шифровальная машина Enigma онлайн
- Скачать визуально правдоподобный симулятор шифрмашины «Энигма»
- Без грифа секретно: Охота за «Энигмой». Журнал «Братишка», Январь 2013 года.
- Enigma на http://www.cryptomuseum.com/
- 158 962 555 217 826 360 000 (Энигма, русская озвучка)
- Изъян в коде Энигмы
- Как работала машина "Энигма"?
- DenisSivtsev. Алгоритм Энигмы . Habr (28 марта 2014). Дата обращения: 3 августа 2024.