Кто создал шифровальную машину энигма. Как были взломаны шифровальные коды гитлеровской германии

ENIGMA. Как союзники взламывали код лучшей шифровальной машины Второй мировой.

Шифровальная машина Enigma широко использовалась в нацистской Германии и, в частности, в ходе Второй мировой войны. В довоенное время она использовалась в основном для передачи зашифрованных сообщений тайных служб, полиции и СС.

Свое название "Enigma" получила от греческого слова "Загадка".
Enigma была разработана и запатентована немецким инженером Артуром Шербиусом в
1918 г. К новому изобретению проявили огромный интерес военные и тайные службы, которые после смерти изобретателя создали специальную компанию по выпуску этих машин. По оценке специалистов за все время Второй мировой войны было выпущено более 30.000 машин, по другим оценкам - свыше 200.000. Enigma выпускалась в различных вариантах и исполнениях, среди которых наиболее распространенным была модель
"Enigma-1, активно использовавшаяся сначала Рейсхвером, а затем Вермахтом.
Вес машины составлял около 10 кг при размерах 310 х 255 х 130 мм. Внешне Enigma была весьма схожа с пишущей машинкой, содержащей тастатуру, набор валов и панель индикаторных ламп. Сердцем машины являлся набор валов.

Enigma была для своего времени тероретически и практически весьма надежной машиной. Немцы полностью доверяли ее возможностям. Именно это стало их роковой ошибкой.
Специалисты и ученые из Франции, США, Польши и Англии всерьез занялись вопросом взлома кода шифровальной машины. Существенные работы в этом направлении были произведены, в частности, криптологами Польши и Англии. Сам проект взлома кода получил кодовое название ULTRA.

Польские математики, считавшиеся в то время одними из лучших в мире, еще до начала Второй мировой войны осознавали важность Энигмы как основы немецкой шифровальной техники. По этой причине еще в 1928 г. в Польше было создано специальное армейское подразделение, которое занималось лишь вопросами дешифрования передваемых с помощью Энигмы сообщений.
За четре года не было достигнуто ни одного положительного результата. Создавалось впечатление, что зашифрованные сообщение не поддаются расшифровке. Только в 1932 г. математику Мариану Реевски и его сотрудникам удалось взломать первое сообщение Энигмы.
Приниц работы машины предполагал, что перед ее использованием шифровальщик выбирал определенное исходное позиционирование валов. Передача каждого нового сообщения предполагала обязательную необходимость нового позиционирования комплекта валов. Со временем немецкие шифровальщики обленились настолько, что использовали первоначально выставленное позиционирование валов в течение целого дня. Это привело к тому, что каждое новое сообщение в этот день начиналось с одних и тех же первых шести букв. Это заметил Реевски, который исследовал каждое перехваченное переданное немцами сообщение. Он прекрасно разбирался в устройстве машины, поскольку сразу после ее пантентования ее можно было свободно купить, и сразу понял связь между одинаковыми буквами и исходным позиционированием валов. После еще более тщательной проработки проблемы поляки, наконец, смогли расшифровывать немецкие передачи.
В 1938 г. немцы дооснастили "Энигму" еще двумя сменными валами. В результате этого система машины существенно усложнилась и поляки вновь начали "блуждать в темноте".
В июле 1939 г. к полякам присоединилась группа английских и францзуских криптологов с целью совместно поиска пути решения проблемы.

Англия
В первое время англичане недооценивали важность "Энигмы". Конечно, в армии существовали специальные отделы, но дешифрование осуществлялось исключительно по шифровальным книгам. Кроме того, из-за скудного финанансирования эти отделы развивались весьма медленно и их рукодство не могло привлекать к своей работе гражданских специалистов при одновременной нехватке специалистов в этой области в ВМФ. Когда в Англии поняли важность проблемы, было уже поздно. "Энигма", которая в довоенное время была доступна в свободной продаже, была известна англичанам, равно как они постоянно вели радиоперехват сообщений немцев, однако, англичанам не удалось добиться того, чего давно добились поляки.
В 1938 г.руководительно отдела Betchley Park по имени Dillwyn Knox принял участие в конференции с поляками. Первоначально он отнесся к достижениям поляков пессимизмом, однако, уже в июле 1939 г. англичане получили от Польши соответствующую документацию по "Энигме" и могли начинать работать.


Алан Тюринг
В 1940 г. к работам подключился Алан Тюринг (Alan Mathison Turing, 1912 - 1954), весьма известный и почитаемый математик, серьезно занимавшийся проблемами математической логики. Ему удалось существенно расширить теоретическую базу и материатические расчеты, которые в последствии привели ко взлому кода Энигмы. Вместе со своим коллегой Гордоном Вельхманом он разработал машину "Bombe". Это была не бомба в буквальном смысле слова, а машина, которая расшифровывала коды Энигмы, прототип нынешней вычислительной машины. После непосредственного обращения к Черчиллю Тюрингу удалось также наладить надлежащее финансирование группы и ее материальное обеспечение. Все это позволило собрать первый опытный образец "Бомбы", а затем начать ее серийное производство.
"Бомбы" были достаточно объемными (приблизительно два метра в высоту и пять метров в ширину) и устанавливались в специальных помещениях. Машины обслуживали женщины, которые, правда, даже не имели понятия, с чем они работают. Их задача заключалась в позиционировании роторов по указаниям криптологов и информировании криптологов об остановке той или иной машины.
Алан Тюринг даже написал книгу, посвященную взлому Энигмы. Эта книга была заскречена и рассекречена правительством только в 1996 (!) г.

Ошибка немцев
Как это не парадоксально, но и сами немцы внесли существенную лепту в решении проблемы взлома Энигмы.
Метеосводки, которыми обменивались немецкие субмарины, передавались как в зашифрованном виде, так и открытым текстом, что существенно облегчило работу английских и польских дешифровальщиков на основе сравнения шифрованных и переданных открытым текстом сообщений.
В свое время стал известен случай, когда немецкий шифровальщик "от скуки" нажимал одну и ту же буквенную клавишу. Здесь следует отметить, что особенностью Энгимы была невозможность заменения определенной буквы на ту же букву, то есть машина не могла зашифровать "A" как "А" или "В" как "В". То есть при длительном однократном нажатии одной и той же буквенной клавиши машина выдавала длинную цепочку различных букв, которые содержали любые буквы, кроме нажатой, что было незамедлительно зафиксировано противниками в Betchley Park. Эти данные оказались весьма полезными экспертами в вопросе определения позиционирования роторов. Кроме того, как уже отмечалось, некоторые немецкие шифровальщики иногда работали целыми днями на одной базовой настройке машины без изменения позиций валов.
Следующая ошибка немецких солдат заключалась в том, что практически в любом сообщении присутствовало слово"Vaterland" ("отчизна") и "Kaiserreich" ("имперский рейх"), чем, в свою очередь, незамедлительно воспользовались эксперты по "native speakers", то есть носители немецкого языка, фильтровавшие зашифрованные сообщения по этим словам. В результате им достаточно быстро удавалось определить использующийся код.

Использовавшие "Энигму" немцы были вполне уверены в невозможности расшировки переданных машиной сообщений с помощью обычных методов. В свое время такая уверенность была обоснована. Немцы не учли, однако, что при дешифровании ручным методом может использоваться также метод машинного цифрового дешифрования. В целом же машина проявила себя как чрезвычайно надежное средство для передачи зашифрованных сообщений. Ошибка немцев выразилась в слепом доверии к высокому уровню надежности шифрования посредством "Энигмы".

После завершения Второй мировой войны "Энигма" продолжала активно использоваться. Ее продавали на Ближний Восток и в Африку и в целом она использовалась вплоть до 1975 г. Сейчас исправных экземпляров "Энигмы" практически не осталось, а если таковой и найдется, то желающий приобрести ее должен быть готов выложить немалые деньги. Так, в апреле 2006 г. одна из последних машин была продана за 55.050 долларов США.

Энигма

Трёхроторная военная немецкая шифровальная машина Энигма (версия с метками).

Энигма использовалась в коммерческих целях, а также в военных и государственных службах во многих странах мира, но наибольшее распространение получила в нацистской Германии во время Второй мировой войны - именно Энигма вермахта (Wehrmacht Enigma ) - германская военная модель - чаще всего является предметом дискуссий.

Эта машина получила дурную славу, потому что криптоаналитики Антигитлеровской коалиции (точнее, Великобритании) смогли расшифровать большое количество сообщений, зашифрованных с её помощью. Специально для этих целей была создана машина с кодовым названием Turing Bombe , оказавшая значительную помощь Антигитлеровской коалиции (точнее, Великобритании) в войне. Вся информация, полученная криптоанализом с её помощью, имела кодовое название ULTRA .

Несмотря на то, что с точки зрения современной криптографии шифр Энигмы и был слаб , на практике только сочетание этого фактора с другими (такими как ошибки операторов, процедурные изъяны, заведомо известный текст сообщений (например, при передаче метеосводок), захваты экземпляров Энигмы и шифровальных книг) позволили взломщикам шифров разгадывать шифры Энигмы и читать сообщения . Также есть мнение, что это был один из самых сильных шифров времён Второй мировой войны. И только захват англичанами неповреждённой Энигмы с подводной лодки и бомбардировщика (что принципиально важно, эти факты так и остались неизвестными немцам), с учётом высочайшего научного и высокого технологического уровня Великобритании, позволили ей (после напряжённых и продолжительных работ в этом направлении) создать контр-Энигму. Важность и уникальность этого успеха прекрасно понимало руководство Великобритании - оставив свой успех «за семью печатями», до конца держа его в тайне даже от партнёров по Антигитлеровской коалиции.

Было выпущено, по приблизительным оценкам, около 100 000 экземпляров шифровальных машин Энигма.

Описание

Роторы

Левая сторона ротора Энигмы, видны плоские электрические контакты.

Правая сторона ротора, видны штыревые контакты. Римская V идентифицирует электропроводку ротора.

Роторы - сердце Энигмы. Каждый ротор представлял собой диск примерно 10 см в диаметре, сделанный из эбонита или бакелита , с пружинными штыревыми контактами на одной стороне ротора, расположенными по окружности. На другой стороне находилось соответствующее количество плоских электрических контактов. Штыревые и плоские контакты соответствовали буквам в алфавите (обычно это были 26 букв от A до Z). При соприкосновении контакты соседних роторов замыкали электрическую цепь. Внутри ротора каждый штыревой контакт был соединён с одним из плоских. Порядок соединения мог быть различным.

Три ротора и шпиндель, к которому они крепятся.

Сам по себе ротор производил очень простой тип шифрования: элементарный шифр замены . Например, контакт, отвечающий за букву E, мог быть соединён с контактом буквы T на другой стороне ротора. Но при использовании нескольких роторов в связке (обычно трёх или четырёх) за счёт их постоянного движения получается более надёжный шифр.

Ротор в разобранном виде Три последовательно соединённых ротора
  1. кольцо с выемками
  2. маркирующая точка для контакта «A»
  3. алфавитное кольцо
  4. залужённые контакты
  5. электропроводка
  6. штыревые контакты
  7. пружинный рычаг для настройки кольца
  8. втулка
  9. пальцевое кольцо
  10. храповое колесо

Военные модели Энигмы выпускались с различным количеством роторов. Первая модель содержала только три. 15 декабря 1938 года их стало пять, но только три из них одновременно использовались в машине. Эти типы роторов были маркированы римскими числами от I до V, и у каждого была одна выемка, расположенная в разных местах алфавитного кольца. В военно-морских моделях всегда содержалось бо́льшее количество роторов, чем в других: шесть, семь или восемь. Эти дополнительные роторы маркировались числами VI, VII и VIII, все с различной электропроводкой. Все они содержали по две выемки около букв «N» и «A», что обеспечивало более частые повороты роторов.

Четырёхроторная военно-морская модель Энигмы, M4 имела один дополнительный ротор, хотя была такого же размера, что и трёхроторная, за счёт более тонкого рефлектора. Существовало два типа этого ротора: Бета и Гамма. В процессе шифрования он не двигался, но мог быть установлен вручную на любую из 26 различных позиций.

Ступенчатое движение роторов

Ступенчатое движение роторов Энигмы. Все три собачки (обозначены зелёным) двигаются одновременно. Для первого ротора (1), храповик (красный) всегда зацеплен, и он поворачивается при каждом нажатии клавиши. В данном случае выемка на первом роторе позволяет собачке зацепить и второй ротор (2), он повернётся при следующем нажатии клавиши. Третий ротор (3) не зацеплен, так как собачка третьего ротора не попала в выемку второго, собачка будет просто скользить по поверхности диска.

Каждый ротор был прикреплён к шестерёнке с 26 зубцами (храповику), а группа собачек зацепляла зубцы шестерёнок. Собачки выдвигались вперёд одновременно с нажатием клавиши на машине. Если собачка цепляла зубец шестерёнки, то ротор поворачивался на один шаг.

В армейской модели Энигмы каждый ротор был прикреплён к регулируемому кольцу с выемками. Пять базовых роторов (I-V) имели по одной выемке, тогда как в военно-морской модели (VI-VIII) - по две. В определённый момент выемка попадала напротив собачки, позволяя ей зацепить храповик следующего ротора при последующем нажатии клавиши. Когда же собачка не попадала в выемку, она просто проскальзывала по поверхности кольца, не цепляя шестерёнку. В системе с одной выемкой второй ротор продвигался вперёд на одну позицию за то же время, что первый - на 26. Аналогично, третий ротор продвигался на один шаг за то же время, за которое второй делал 26 шагов. Особенностью машины было то, что второй ротор также поворачивался, если поворачивался третий. Это означает, что второй ротор мог повернуться дважды при двух последовательных нажатиях клавиш - так называемое «двухшаговое движение», - что приводило к уменьшению периода .

Двухшаговое движение отличает функционирование роторов от нормального одометра . Двойной шаг реализовывался следующим образом: первый ротор поворачивался, заставляя второй также повернуться на один шаг. И, если второй ротор продвинулся в нужную позицию, то третья собачка зацепляла третью шестерёнку. На следующем шаге эта собачка толкала шестерёнку и продвигала её, а также продвигала и второй ротор.

С тремя дисками и только с одной выемкой в первом и втором диске, машина имела период 26×25×26 = 16 900. Как правило, сообщения не превышали пары сотен символов, и, следовательно, не было риска повтора позиции роторов при написании одного сообщения.

В четырёхроторных военно-морских моделях никаких изменений в механизм внесено не было. Собачек было только три, то есть четвёртый ротор никогда не двигался, но мог быть вручную установлен на одну из 26 позиций.

При нажатии клавиши роторы поворачивались до замыкания электрической цепи.

Роторы Энигмы в собранном состоянии. Три подвижных ротора помещены между двумя неподвижными деталями: входное кольцо и рефлектор (помечен «B» слева).

Входное колесо

Рефлектор

За исключением ранних моделей A и B, за последним ротором следовал рефлектор (нем. Umkehrwalze ), запатентованная деталь, отличавшая семейство Энигмы от других роторных машин, разработанных в то время. Рефлектор соединял контакты последнего ротора попарно, коммутируя ток через роторы в обратном направлении, но по другому маршруту. Наличие рефлектора гарантировало, что преобразование, осуществляемое Энигмой, есть инволюция , то есть дешифрование представляет собой то же самое, что и шифрование . Однако наличие рефлектора делает невозможным шифрование какой-либо буквы через саму себя. Это было серьёзным концептуальным недостатком, впоследствии пригодившимся дешифровщикам.

В коммерческой модели Энигмы C рефлектор мог быть расположен в двух различных позициях, а в модели D - в 26 возможных позициях, но при этом был неподвижен в процессе шифрования. В модели, применявшейся в абвере , рефлектор двигался во время шифрования, как и остальные диски.

В армейской и авиационной моделях Энигмы рефлектор был установлен, но не вращался. Он существовал в четырёх разновидностях. Первая разновидность была помечена буквой A. Следующая, Umkehrwalze B , была выпущена 1 ноября 1937 года. Третья, Umkehrwalze C , появилась в 1941 году. Четвёртая, Umkehrwalze D , впервые появившаяся 2 января 1944 года, позволяла оператору Энигмы управлять настройкой коммутации внутри рефлектора.

Коммутационная панель

Коммутационная панель в передней части машины. Могло использоваться до 13 соединений. На фотографии переключены две пары букв (S-O и J-A).

Коммутационная панель (нем. Steckerbrett ) позволяет оператору варьировать соединения проводов. Впервые она появилась в немецких армейских версиях в 1930 году и вскоре успешно использовалась и в военно-морских версиях. Коммутационная панель внесла огромный вклад в усложнение шифрования машины, даже больший, чем введение дополнительного ротора. С Энигмой без коммутационной панели можно справиться практически вручную, однако после добавления коммутационной панели взломщики были вынуждены конструировать специальные машины.

Кабель, помещённый на коммутационную панель, соединял буквы попарно, например, E и Q могли быть соединены в пару. Эффект состоял в перестановке этих букв до и после прохождения сигнала через роторы. Например, когда оператор нажимал E, сигнал направлялся в Q, и только после этого уже во входной ротор. Одновременно могло использоваться несколько таких пар (до 13).

Каждая буква на коммутационной панели имела два гнезда. Вставка штепселя разъединяла верхнее гнездо (от клавиатуры) и нижнее гнездо (к входному ротору) этой буквы. Штепсель на другом конце кабеля вставлялся в гнезда другой буквы, переключая тем самым соединения этих двух букв.

Аксессуары

Удобной деталью, использовавшейся на Энигме модели M4, был так называемый «Schreibmax», маленькое печатающие устройство, которое могло печатать все 26 букв на небольшом листе бумаги. В связи с этим, не было необходимости в дополнительном операторе, следящем за лампочками и записывающем буквы. Печатное устройство устанавливалось поверх Энигмы и было соединено с панелью лампочек. Чтобы установить печатающее устройство, необходимо было убрать крышечки от ламп и все лампочки. Кроме того, это нововведение повышало безопасность: теперь офицеру-связисту не обязательно было видеть незашифрованный текст. Печатающее устройство было установлено в каюте командира подводной лодки, а офицер-связист только вводил зашифрованный текст, не получая доступа к секретной информации.

Другим аксессуаром была отдельная удалённая панель с лампочками. В варианте с дополнительной панелью деревянный корпус Энигмы был более широким. Существовала модель панели с лампочками, которая могла быть впоследствии подключена, но это требовало, как и в случае с печатающим устройством «Schreibmax», замены заводской панели с лампочками. Удалённая панель позволяла человеку прочитать расшифрованный текст без участия оператора. В 1944 году военно-воздушные силы ввели дополнительный переключатель коммутационной панели, названный «Uhr» (часы). Это была небольшая коробка, содержащая переключатель с 40 позициями. Он заменял стандартные штепсели. После соединения штепселей, как определялось в списке кодов на каждый день, оператор мог поменять переключатель в одной из этих 40 позиций. Каждая позиция приводила к различной комбинации телеграфирования штепселя. Большинство из этих соединений штепселей, в отличие от стандартных штепселей, были непарными.

Математическое описание

Преобразование Энигмы для каждой буквы может быть определено математически как результат перестановок . Рассмотрим трёхроторную армейскую модель. Положим, что P обозначает коммутационную панель, U обозначает отражатель, а L, M, R обозначают действия левых, средних и правых роторов соответственно. Тогда шифрование E может быть выражено как:

После каждого нажатия клавиш ротор движется, изменяя трансформацию. Например, если правый ротор R проворачивается на i позиций, происходит трансформация , где ρ - циклическая перестановка, проходящая от A к B, от B к C, и так далее. Таким же образом, средний и левый ротор могут быть обозначены как j и k вращений M и L. Функция шифрования в этом случае может быть отображена следующим образом:

Процедуры для использования Энигмы

В германских вооружённых силах средства связи были разделены на разные сети, причём у каждой были собственные настройки кодирования для машин Энигмы. В английском центре дешифровки Блетчли-Парк (англ. Bletchley Park ) эти коммуникационные сети именовались ключами и им были присвоены кодовые имена, такие как Red, Chaffinch или Shark. Каждой единице, работающей в сети, на новый промежуток времени назначались новые настройки. Чтобы сообщение было правильно зашифровано и расшифровано, машины отправителя и получателя должны были быть одинаково настроены, конкретно идентичными должны были быть: выбор роторов, начальные позиции роторов и соединения коммутационной панели. Эти настройки оговаривались заранее и записывались в специальных шифровальных книгах.

Первоначальное состояние шифровального ключа Энигмы включает следующие параметры:

  • Расположение роторов: выбор роторов и их расположение.
  • Первоначальные позиции роторов: выбранные оператором, различные для каждого сообщения.
  • Настройка колец: позиция алфавитного кольца, совпадающая с роторной схемой.
  • Настройки штепселей: соединения штепселей на коммутационной панели.

Энигма была разработана таким образом, чтобы безопасность сохранялась даже в тех случаях, когда шпиону известны роторные схемы, хотя на практике настройки хранятся в секрете. С неизвестной схемой общее количество возможных конфигураций может быть порядка 10 114 (около 380 бит), с известной схемой соединений и других операционных настроек этот показатель снижается до 10 23 (76 бит). Пользователи Энигмы были уверены в её безопасности из-за большого количества возможных вариантов. Нереальным было даже начать подбирать возможную конфигурацию.

Индикаторы

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

Одни из ранних индикационных процедур использовались польскими криптоаналитиками для взлома кода. Процедура заключалась в том, что оператор настраивал машину в соответствии со списком настроек, которые содержат главные первоначальные стартовые позиции роторов. Допустим, главное ключевое слово - AOH. Оператор вращал роторы вручную до тех пор, пока слово AOH не читалось в роторных окошках. После этого оператор выбирал свой собственный ключ для нового сообщения. Допустим, оператор выбрал слово EIN. Это слово становилось ключевым для данного сообщения. Далее оператор ещё один раз вводил слово EIN в машину для избежания ошибок при передаче. В результате, после двойного ввода слова EIN в криптограмме отображалось слово XHTLOA, которое предшествовало телу основного сообщения. И наконец, оператор снова поворачивал роторы в соответствии с выбранным ключом, в данном примере EIN, и вводил далее уже основной текст сообщения.

При получении данного шифрованного сообщения вся операция выполнялась в обратном порядке. Оператор-получатель вводил в машину начальные настройки (ключевое слово AOH) и вводил первые шесть букв полученного сообщения (XHTLOA). В приведённом примере отображалось слово EINEIN, то есть оператор-получатель понимал, что ключевое слово - EIN. После этого он устанавливал роторы на позицию EIN, и вводил оставшуюся часть зашифрованного сообщения, на выходе получая чистый дешифрованный текст.

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

  • «GREEN» - японский клон Энигмы, малоиспользуемая машина, содержащая четыре ротора, расположенных вертикально.
  • В США криптоаналитик Уильям Фридман изобрёл «M-325», шифровальную машину, подобную Энигме в логических операциях, хотя отличную по конструкции.
  • Уникальная роторная машина была изобретена в 2002 году голландским криптоаналитиком Татьяной ван Варк (Tatjana van Vark).

Энигма сегодня

Попытки «взломать» Энигму не предавались гласности до конца

  • Криптография
  • В данном сообществе я нашел много статей про известную шифровальную машинку «Enigma», но нигде из них не описывался подробный алгоритм ее работы. Наверняка многие скажут, что это не нуждается в афишировании, - я же надеюсь, что кому-нибудь да будет полезно об этом узнать. С чего все началось? Во времена Первой мировой войны большой популярностью пользовался шифр Playfair. Его суть заключалась в том, что буквы латинского алфавита записывались в квадрат 5х5, после чего буквы исходного алфавита разбивались по парам. Далее, используя квадрат в качестве ключа, эти биграммы заменяли на другие по определенному алгоритму. Преимущество данного шифра было в том, что он не требовал дополнительных устройств, и, как правило, к тому моменту, когда сообщение расшифровывали, оно уже теряло актуальность. Еще одним способом тайнописи был шифратор Джефферсона.

    Сие устройство состояло из определенного количества дисков, нанизанных на единую ось (обычно, дисков было 36). Каждый из них делился на 26 частей, каждая из которых обозначало букву. Буквы на дисках были расставлены в случайном порядке. Оператор путем вращения дисков набирал нужное сообщение, а затем переписывал другую строчку. Человек, принявший данное сообщение, должен был обладать точно таким же устройством с точно такой же расстановкой букв. И тот и другой способы были относительно неплохими для тех времен, но учитывая, что человечество вступило уже в XX век, возникла необходимость механизации процесса шифрования. В 1920 году голландский изобретатель Александр Кох изобрел первую роторную шифровальную машинку. Затем, на нее получили патент немецкие изобретатели, которые усовершенствовали ее и выпустили в производство, под названием «Enigma» (от греч. – загадка). Таким образом, эта машинка приобреталась многими фирмами, которые желали сохранить в тайне свои переписки. В этом и состояла вся гениальность Энигмы – все знали алгоритм шифрования, но никто не мог подобрать нужный ключ, так как число возможных комбинаций превосходило 15 квадриллионов. Если хотите узнать, каким образом Энигму взламывали, советую прочитать книгу Саймона Сингха «Книга шифров». Подытоживая все вышесказанное, хочу сказать, что шифр Энигмы являлся некой смесью шифратора Джефферсона и шифра Цезаря.

    Итак, приступим к изучению алгоритма. На данном сайте имеется очень неплохой симулятор, который в доступной и наглядной форме показывает весь процесс целиком и полностью. Давайте же разберем принцип работы трехроторной Энигмы. В ней имелось три отсека для помещения трех роторов и дополнительный отсек для размещения рефлектора. Всего за время Второй мировой войны было изготовлено восемь роторов и четыре рефлектора, но одновременно могло использоваться ровно столько, на сколько была рассчитана машина. Каждый ротор имел 26 сечений, что соответствовало отдельной букве алфавита, а так же 26 контактов для взаимодействия с соседними роторами. Как только оператор нажимал на нужную букву, - замыкалась электрическая цепь, в результате чего появлялась шифрованная буква. Замыкание цепи происходило за счет рефлектора.

    На рисунке представлена иллюстрация нажатия клавиши «А» с последующей дешифрацией в букву «G». После ввода буквы крайний правый ротор перемещался вперед, меняя тем самым ключ. Так каким же образом одна букву заменялась на другую? Как я уже говорил, для Энигмы было разработано восемь различных роторов. Внутри каждого из них было установлено 26 различных коммутаций. представлена подробная спецификация на каждый из них. Например, если на вход первого ротора поступала буква «N», то на выходе должна быть только «W» и никакая другая буква больше. Попади это буква на второй ротор, она бы уже преобразовалась в «T» и т.д. То есть, каждый ротор выполнял четко поставленную задачу в плане коммуникации. А какую же роль играли кольца? Рассмотрим следующий пример. Установим роторы III, II и I, а порядок колец «C», «U» и «Q».

    Нажмем на клавишу «A». Крайний правый ротор повернется вперед на один шаг, то есть, буква «Q» перейдет в «R». Ротор посередине также повернется вперед на букву «V», но об этом я расскажу чуть позже. Итак, наша буква «А» начинает путешествие с первого отсека, в котором установлен ротор I и на котором выставлена уже буква «R». Уже перед тем как попасть на первый ротор буква претерпевает свое первое преобразование, а именно: сложение с буквой «R» по модулю 26. Фактически, это шифр Цезаря. Если пронумеровать все буквы от 0 до 25, то буква «А» будет как раз таки нулевой. Значит, результатом сложения будет буква «R». Далее, мы с вами знаем, что в первом отсеке ротор I, а в его конструкции заложено, что буква «R» всегда переходит в «U». Теперь на очереди второй отсек с ротором II. Опять, перед попаданием на второй ротор, теперь уже буква «U» меняется по несколько иному алгоритму: к ней прибавляется разница значений последующего ротора и предыдущего. Поясню. На втором роторе ожидает нас буква «V», а на предыдущем, - «R», их разница равна четырем буквам, и именно они прибавляются к нашей букве «U». Поэтому, на второй ротор поступает буква «Y». Далее по таблице находим, что во втором роторе букве «Y» соответствует «O». Далее опять смотрим разницу букв «C» и «V», - она равна семи. Значит, букву «O» сдвигаем на семь позиций и получаем «V». В роторе III «V» переходит в «M». Перед тем как попасть на рефлектор, из нашей буквы вычитается буква «C», преображая ее в букву «K». Далее происходит отражение. Если вы заметите, то в каждом роторе образуются большие циклические группы, например: (A – E – L – T – P – H – Q – X – R – U), а в рефлекторе они разбиты по парам: (A - Y)(B - R)(C - U) и т.д. Это сделано для того, чтобы потом это возможно было расшифровать. Предположим, что установлен рефлектор B, в котором «K» заменяется на «N» (и наоборот). Половина пути пройдена. Теперь мы опять прибавляем значение буквы «С», получив тем самым букву «P». Здесь наоборот, в строке третьего ротора находим «P» и смотрим, в при нажатии какой буквы она бы появилась. Это буква «H». Преобразование в третьем роторе закончено. Теперь из этой буквы вычитается разница букв «C» и «V», то есть семь. Получаем букву «A». Во втором роторе она переходит саму в себя, поэтому оставляем ее без изменений. Далее, вычитаем разницу букв «V» и «R», то есть четверку и получаем букву «W». В первом роторе её обратно преобразование отображается в букву «N». Остается только вычесть из нее букву «R» и получим искомую букву «W». Как видите, алгоритм работы машинки оказался не таким сложным каким казался. Для усовершенствования шифра немцы внедрили коммутационную панель, которая позволяла попарно менять местами буквы. Если мы соединим буквы «Q» и «W», то при вводе той же «A» мы получили бы «Q», так как по факту должна быть «W», но она заменена буквой «Q». Вот прилагаемая схема действия.


    Осталось лишь рассказать про смещения роторов относительно друг друга. Правый ротор поворачивался всегда при нажатии клавиши на один шаг. Например, для ротора I эта позиция равна букве «R». Именно поэтому в нашем примере второй ротор повернулся: первый ротор прошел через букву «R». Далее, пройдя через определенную позицию, правый ротор приводил в движение левый на один шаг. В более усовершенствованных моделях левый ротор прокручивался два, а то и три раза.

    В завершение скажу, что

    Немецкая шифровальная машинка была названа «Загадкой» не для красного словца. Вокруг истории ее захвата и расшифровки радиоперехватов ходят легенды, и во многом этому способствует кинематограф. Мифы и правда о немецком шифраторе - в нашем материале.

    Перехвату противником сообщений, как известно, можно противопоставить только их надежную защиту или шифрование. История шифрования уходит корнями в глубь веков - один из самых известных шифров называется шифром Цезаря. Потом предпринимались попытки механизации процесса шифрования и дешифрования: до нас дошел диск Альберти, созданный в 60-х годах XV века Леоном Баттиста Альберти, автором «Трактата о шифрах» - одной из первых книг об искусстве шифровки и дешифровки.

    Машинка Enigma, использовавшаяся Германией в годы Второй мировой войны, была не уникальна. Но от аналогичных устройств, взятых на вооружение другими странами, она отличалась относительной простотой и массовостью использования: применить ее можно было практически везде - и в полевых условиях, и на подводной лодке. История Enigma берет начало в 1917 году - тогда голландец Хьюго Коч получил на нее патент. Работа ее заключалась в замене одних букв другими за счёт вращающихся валиков.

    Историю декодирования машины Enigma мы знаем в основном по голливудским блокбастерам о подводных лодках. Однако фильмы эти, по мнению историков, имеют мало общего с реальностью.

    Например, в картине 2000 года U-571 рассказывается о секретном задании американских моряков захватить шифровальную машинку Enigma, находящуюся на борту немецкой субмарины U-571. Действие разворачивается в 1942 году в Северной Атлантике. Несмотря на то, что фильм отличается зрелищностью, история, рассказанная в нем, совершенно не отвечает историческим фактам. Подводная лодка U-571 действительно состояла на вооружении нацистской Германии, но была потоплена в 1944 году, а машинку Enigma американцам удалось захватить лишь в самом конце войны, и серьезной роли в приближении Победы это не сыграло. К слову, в конце фильма создатели сообщают исторически верные факты о захвате шифратора, однако появились они по настоянию консультанта картины, англичанина по происхождению. С другой стороны режиссер фильма Джонатан Мостов заявил, что его лента «представляет собой художественное произведение».

    Европейские же фильмы стараются соблюсти историческую точность, однако доля художественного вымысла присутствует и в них. В фильме Майкла Аптеда «Энигма», вышедшего в 2001 году, рассказывается история математика Тома Джерико, которому предстоит всего за четыре дня разгадать обновленный код немецкой шифровальной машинки. Конечно, в реальной жизни на расшифровку кодов ушло гораздо больше времени. Сначала этим занималась криптологическая служба Польши. И группа математиков - Мариан Реевский, Генрих Зыгальский и Ежи Рожицкий, - изучая вышедшие из употребления немецкие шифры, установили, что так называемый дневной код, который меняли каждый день, состоял из настроек коммутационной панели, порядка установки роторов, положений колец и начальных установок ротора. Случилось это в 1939 году, еще перед захватом Польши нацистской Германией. Также польское «Бюро шифров», созданное специально для «борьбы» с Enigma, имело в своем распоряжении несколько экземпляров работающей машинки, а также электромеханическую машинку Bomba, состоявшую из шести спаренных немецких устройств, которая помогала в работе с кодами. Именно она впоследствии стала прототипом для Bombe - изобретения Алана Тьюринга.

    Свои наработки польская сторона сумела передать британским спецслужбам, которые и организовали дальнейшую работу по взлому «загадки». Кстати, впервые британцы заинтересовались Enigma еще в середине 20–х годов, однако, быстро отказались от идеи расшифровать код, видимо, посчитав, что сделать это невозможно. Однако,с началом Второй мировой войны ситуация изменилась: во многом благодаря загадочной машинке Германия контролировала половину Атлантики, топила европейские конвои с продуктами и боеприпасами. В этих условиях Великобритании и другим странам антигитлеровской коалиции обязательно нужно было проникнуть в загадку Enigma.

    Сэр Элистер Деннисон, начальник Государственной школы кодов и шифров, которая располагалась в огромном замке Блетчли -парк в 50 милях от Лондона, задумал и провел секретную операцию Ultra, обратившись к талантливым выпускникам Кембриджа и Оксфорда, среди которых был и известный криптограф и математик Алан Тьюринг. Работе Тьюринга над взломом кодов машинки Enigma посвящен вышедший в 2014 году фильм «Игра в имитацию». Еще в 1936 году Тьюринг разработал абстрактную вычислительную «машину Тьюринга», которая может считаться моделью компьютера - устройства, способного решить любую задачу, представленную в виде программы - последовательности действий. В школе кодов и шифров он возглавлял группу Hut 8, ответственную за криптоанализ сообщений ВМФ Германии и разработал некоторое количество методов взлома немецкого шифратора. Помимо группы Тьюринга, в Блетчли–парке трудились 12 тысяч сотрудников. Именно благодаря их упорному труду коды Enigma поддались расшифровке, но взломать все шифры так и не удалось. Например, шифр «Тритон» успешно действовал около года, и даже когда «парни из Блетчли» раскрыли его, это не принесло желаемого результата, так как с момента перехвата шифровки до передачи информации британских морякам проходило слишком много времени.

    Все дело в том, что по распоряжению Уинстона Черчилля все материалы расшифровки поступали только начальникам разведслужб и сэру Стюарту Мензису, возглавлявшему МИ-6. Такие меры предосторожности были предприняты, чтобы немцы не догадались о раскрытии шифров. В то же время и эти меры не всегда срабатывали, тогда немцы меняли варианты настройки Enigma, после чего работа по расшифровке начиналась заново.

    В «Игре в имитацию» затронута и тема взаимоотношений британских и советских криптографов. Официальный Лондон действительно был не уверен в компетенции специалистов из Советского Союза, однако по личному распоряжению Уинстона Черчилля 24 июля 1941 года в Москву стали передавать материалы с грифом Ultra. Правда, для исключения возможности раскрытия не только источника информации, но и того, что в Москве узнают о существовании Блетчли–парка, все материалы маскировались под агентурные данные. Однако в СССР узнали о работе над дешифровкой Enigma еще в 1939 году, а спустя три года на службу в Государственную школу кодов и шифров поступил советский шпион Джон Кэрнкросс, который регулярно отправлял в Москву всю необходимую информацию.

    Многие задаются вопросами, почему же СССР не расшифровал радиоперехваты немецкой «Загадки», хотя советские войска захватили два таких устройства еще в 1941 году, а в Сталинградской битве в распоряжении Москвы оказалось еще три аппарата. По мнению историков, сказалось отсутствие в СССР современной на тот момент электронной техники.

    К слову, специальный отдел ВЧК, занимающийся шифровкой и дешифровкой, был созван в СССР 5 мая 1921 года. На счету сотрудников отдела было не очень много, по понятным причинам – отдел работал на разведку и контрразведку, - афишируемых побед. Например, раскрытие уже в двадцатых годах дипломатических кодов ряда стран. Был создан и свой шифр - знаменитый «русский код», который, как говорят, расшифровать не удалось никому.

    С её помощью, имела кодовое название «Ultra » . Утверждалось, что это достижение явилось решающим фактором в победе союзников .

    Несмотря на то, что с точки зрения современной криптографии шифр «Энигмы» был слаб , на практике только сочетание этого фактора с другими (такими как ошибки операторов, процедурные изъяны, заведомо известный текст сообщений (например, при передаче метеосводок), захваты экземпляров «Энигмы» и шифровальных книг) позволили взломщикам шифров разгадывать шифры «Энигмы» и читать сообщения .

    Было выпущено, по приблизительным оценкам, около 100 000 экземпляров шифровальных машин «Энигма» .

    Энциклопедичный YouTube

      1 / 5

      ✪ 158,962,555,217,826,360,000 (Энигма) - Numberphile по-русски

      ✪ Шифровальная машина "Энигма" (учебный пример)

      ✪ Изъян в коде Энигмы - Numberphile по-русски

      ✪ Взломать Энигму. Секретный шифр

      ✪ Засекреченную шифровальную машину третьего Рейха «Энигма» продали в Румынии

      Субтитры

    Описание

    Как и другие роторные машины, «Энигма» состояла из комбинации механических и электрических подсистем. Механическая часть включала в себя клавиатуру , набор вращающихся дисков - роторов, - которые были расположены вдоль вала и прилегали к нему, и ступенчатого механизма, двигающего один или несколько роторов при каждом нажатии на клавишу. Электрическая часть, в свою очередь, состояла из электрической схемы, соединяющей между собой клавиатуру, коммутационную панель, лампочки и роторы (для соединения роторов использовались скользящие контакты) .

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

    Для объяснения принципа работы машины приведена диаграмма слева. Диаграмма упрощена: на самом деле механизм состоял из 26 лампочек, клавиш, разъёмов и электрических схем внутри роторов. Ток шёл от (часто это была батарея) (1) через переключатель (2) в коммутационную панель (3). Коммутационная панель позволяла перекоммутировать соединения между клавиатурой (2) и неподвижным входным колесом (4). Далее ток проходил через разъём (3), в данном примере неиспользуемый, входное колесо (4) и схему соединений трёх (в армейской модели) или четырёх (в военно-морской модели) роторов (5) и входил в рефлектор (6). Рефлектор возвращал ток обратно, через роторы и входное колесо, но уже по другому пути, далее через разъём «S», соединённый с разъёмом «D», через другой переключатель (9), и зажигалась лампочка .

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

    Роторы

    Роторы - сердце «Энигмы». Каждый ротор представлял собой диск примерно 10 см в диаметре, сделанный из эбонита или бакелита , с пружинными штыревыми контактами на правой стороне ротора, расположенными по окружности. На левой стороне находилось соответствующее количество плоских электрических контактов. Штыревые и плоские контакты соответствовали буквам в алфавите (обычно это были 26 букв от A до Z). При соприкосновении контакты соседних роторов замыкали электрическую цепь. Внутри ротора каждый штыревой контакт был соединён с одним из плоских. Порядок соединения был различным для каждого ротора .

    Сам по себе ротор производил очень простой тип шифрования: элементарный шифр замены . Например, контакт, отвечающий за букву E, мог быть соединён с контактом буквы T на другой стороне ротора. Но при использовании нескольких роторов в связке (обычно трёх или четырёх) за счёт их постоянного движения получается более надёжный шифр .

    Ротор в разобранном виде Три последовательно соединённых ротора

    1. кольцо с выемками
    2. маркирующая точка для контакта «A»
    3. алфавитное кольцо
    4. залужённые контакты
    5. электропроводка
    6. штыревые контакты
    7. пружинный рычаг для настройки кольца
    8. втулка
    9. пальцевое кольцо
    10. храповое колесо

    Военные модели «Энигмы» выпускались с различным количеством роторов. Первая модель содержала только три. В более поздних моделях была возможность выбора из пяти (1934 г.), семи (1938 г.) или восьми (1939 г.) роторов. Роторы отмечались римскими цифрами I, …, VIII. До 1938 года германская армия использовала только три из пяти доступных роторов .

    Четырёхроторная военно-морская модель «Энигмы», «Kriegsmarine M4 » имела один дополнительный ротор, хотя была такого же размера, что и трёхроторная, за счёт более тонкого рефлектора. Существовало два типа этого ротора: «Бета» и «Гамма». В процессе шифрования он не двигался, но мог быть установлен вручную на любую из 26 различных позиций .

    Ступенчатое движение роторов

    Каждый ротор был прикреплён к шестерёнке с 26 зубцами (храповику), а группа собачек зацепляла зубцы шестерёнок. Собачки выдвигались вперёд одновременно с нажатием клавиши на машине. Если собачка цепляла зубец шестерёнки, то ротор поворачивался на один шаг .

    В армейской модели «Энигмы» каждый ротор был прикреплён к регулируемому кольцу с выемками. Пять базовых роторов (I-V) имели по одной выемке, тогда как в военно-морской модели (VI-VIII) - по две. В определённый момент выемка попадала напротив собачки, позволяя ей зацепить храповик следующего ротора при последующем нажатии клавиши. Когда же собачка не попадала в выемку, она просто проскальзывала по поверхности кольца, не цепляя шестерёнку. В системе с одной выемкой второй ротор продвигался вперёд на одну позицию за то же время, что первый - на 26. Аналогично, третий ротор продвигался на один шаг за то же время, за которое второй делал 26 шагов . Особенностью машины было то, что второй ротор также поворачивался, если поворачивался третий. Это означает, что второй ротор мог повернуться дважды при двух последовательных нажатиях клавиш - так называемое «двухшаговое движение», - что приводило к уменьшению периода обращения .

    С тремя дисками и только с одной выемкой в первом и втором диске, машина имела период 26×25×26 = 16 900 . Как правило, сообщения не превышали пары сотен символов, и, следовательно, не было риска повтора позиции роторов при написании одного сообщения.

    При нажатии клавиши роторы поворачивались до замыкания электрической цепи.

    Входное колесо

    Рефлектор

    За исключением ранних моделей «A» и «B», за последним ротором следовал рефлектор (нем. Umkehrwalze ), запатентованная деталь, отличавшая семейство «Энигмы» от других роторных машин, разработанных в то время. Рефлектор соединял контакты последнего ротора попарно, коммутируя ток через роторы в обратном направлении, но по другому маршруту . Наличие рефлектора гарантировало, что преобразование, осуществляемое «Энигмой», есть инволюция , то есть расшифрование представляет собой то же самое, что и шифрование . Однако наличие рефлектора делает невозможным шифрование какой-либо буквы через саму себя. Это было серьёзным концептуальным недостатком, впоследствии пригодившимся дешифровщикам .

    В коммерческой модели «Энигма-C» рефлектор мог быть расположен в двух различных позициях, а в модели D - в 26 возможных позициях, но при этом был неподвижен в процессе шифрования . В модели, применявшейся в абвере , рефлектор двигался во время шифрования, как и остальные диски.

    В армейской и авиационной моделях «Энигмы» рефлектор был установлен, но не вращался. Он существовал в четырёх разновидностях. Первая разновидность была помечена буквой A. Следующая, Umkehrwalze B , была выпущена 1 ноября 1937 года . Третья, Umkehrwalze C , появилась в 1941 году. Четвёртая, Umkehrwalze D , впервые появившаяся 2 января 1944 года, позволяла оператору «Энигмы» управлять настройкой коммутации внутри рефлектора .

    Коммутационная панель

    Коммутационная панель (нем. Steckerbrett ) позволяет оператору варьировать соединения проводов. Впервые она появилась в немецких армейских версиях в 1930 году и вскоре успешно использовалась и в военно-морских версиях . Коммутационная панель внесла огромный вклад в усложнение шифрования машины, даже больший, чем введение дополнительного ротора. С «Энигмой» без коммутационной панели можно справиться практически вручную, однако после добавления коммутационной панели взломщики были вынуждены конструировать специальные машины.

    Кабель, помещённый на коммутационную панель, соединял буквы попарно, например, «E» и «Q» могли быть соединены в пару. Эффект состоял в перестановке этих букв до и после прохождения сигнала через роторы. Например, когда оператор нажимал «E», сигнал направлялся в «Q», и только после этого уже во входной ротор. Обычно, «Энигма» поставлялась с шестью кабелями .

    Каждая буква на коммутационной панели имела два гнезда. Вставка штепселя разъединяла верхнее гнездо (от клавиатуры) и нижнее гнездо (к входному ротору) этой буквы. Штепсель на другом конце кабеля вставлялся в гнезда другой буквы, переключая тем самым соединения этих двух букв .

    Аксессуары

    Удобной деталью, использовавшейся на «Энигме» модели «M4», был так называемый «Schreibmax», маленькое печатающее устройство, которое могло печатать все 26 букв на небольшом листе бумаги. В связи с этим, не было необходимости в дополнительном операторе, следящем за лампочками и записывающем буквы. Печатное устройство устанавливалось поверх «Энигмы» и было соединено с панелью лампочек. Чтобы установить печатающее устройство, необходимо было убрать крышечки от ламп и все лампочки . Кроме того, это нововведение повышало безопасность: теперь офицеру-связисту не обязательно было видеть незашифрованный текст. Печатающее устройство было установлено в каюте командира подводной лодки, а офицер-связист только вводил зашифрованный текст, не получая доступа к секретной информации.

    Другим аксессуаром была отдельная удалённая панель с лампочками. В варианте с дополнительной панелью деревянный корпус «Энигмы» был более широким. Существовала модель панели с лампочками, которая могла быть впоследствии подключена, но это требовало, как и в случае с печатающим устройством «Schreibmax», замены заводской панели с лампочками . Удалённая панель позволяла человеку прочитать расшифрованный текст без участия оператора.

    В 1944 году военно-воздушные силы ввели дополнительный переключатель коммутационной панели, названный «Uhr» (часы). Это была небольшая коробка, содержащая переключатель с 40 позициями. Он заменял стандартные штепсели. После соединения штепселей, как определялось в списке кодов на каждый день, оператор мог поменять переключатель в одной из этих 40 позиций. Каждая позиция приводила к различной комбинации телеграфирования штепселя. Большинство из этих соединений штепселей, в отличие от стандартных штепселей, были непарными .

    Математическое описание

    Преобразование «Энигмы» для каждой буквы может быть определено математически как результат перестановок . Рассмотрим трёхроторную армейскую модель. Положим, что «P» обозначает коммутационную панель, «U» обозначает отражатель, а «L», «M», «R» обозначают действия левых, средних и правых роторов соответственно. Тогда шифрование «E» может быть выражено как:

    E = P R M L U L − 1 M − 1 R − 1 P − 1 {\displaystyle E=PRMLUL^{-1}M^{-1}R^{-1}P^{-1}}

    После каждого нажатия клавиш ротор движется, изменяя трансформацию. Например, если правый ротор «R» проворачивается на i позиций, происходит трансформация ρ i R ρ − i {\displaystyle \rho ^{i}R\rho ^{-i}} , где ρ - циклическая перестановка, проходящая от «A» к «B», от «B» к «C», и так далее. Таким же образом, средний и левый ротор могут быть обозначены как j и k вращений «M» и «L». Функция шифрования в этом случае может быть отображена следующим образом:

    E = P (ρ i R ρ − i) (ρ j M ρ − j) (ρ k L ρ − k) U (ρ k L − 1 ρ − k) (ρ j M − 1 ρ − j) (ρ i R − 1 ρ − i) P − 1 {\displaystyle E=P(\rho ^{i}R\rho ^{-i})(\rho ^{j}M\rho ^{-j})(\rho ^{k}L\rho ^{-k})U(\rho ^{k}L^{-1}\rho ^{-k})(\rho ^{j}M^{-1}\rho ^{-j})(\rho ^{i}R^{-1}\rho ^{-i})P^{-1}}

    Процедуры для использования «Энигмы»

    В германских вооружённых силах средства связи были разделены на разные сети, причём у каждой были собственные настройки кодирования для машин «Энигмы». В английском центре дешифровки Блетчли-Парк (англ. Bletchley Park ) эти коммуникационные сети именовались ключами и им были присвоены кодовые имена, такие как Red, Chaffinch или Shark. Каждой единице, работающей в сети, на новый промежуток времени назначались новые настройки. Чтобы сообщение было правильно зашифровано и расшифровано, машины отправителя и получателя должны были быть одинаково настроены, конкретно идентичными должны были быть: выбор роторов, начальные позиции роторов и соединения коммутационной панели. Эти настройки оговаривались заранее и записывались в специальных шифровальных книгах .

    Первоначальное состояние шифровального ключа «Энигмы» включает следующие параметры.

    • Расположение роторов: выбор роторов и их расположение.
    • Первоначальные позиции роторов: выбранные оператором, различные для каждого сообщения.
    • Настройка колец: позиция алфавитного кольца, совпадающая с роторной схемой.
    • Настройки штепселей: соединения штепселей на коммутационной панели.

    «Энигма» была разработана таким образом, чтобы безопасность сохранялась даже в тех случаях, когда шпиону известны роторные схемы, хотя на практике настройки хранятся в секрете. С неизвестной схемой общее количество возможных конфигураций может быть порядка 10 114 (около 380 бит), с известной схемой соединений и других операционных настроек этот показатель снижается до 10 23 (76 бит). Пользователи «Энигмы» были уверены в её безопасности из-за большого количества возможных вариантов. Нереальным было даже начать подбирать возможную конфигурацию.

    Индикаторы

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

    Одни из ранних индикационных процедур использовались польскими криптоаналитиками для взлома кода. Процедура заключалась в том, что оператор настраивал машину в соответствии со списком настроек, которые содержат главные первоначальные стартовые позиции роторов. Допустим, главное ключевое слово - AOH. Оператор вращал роторы вручную до тех пор, пока слово AOH не читалось в роторных окошках. После этого оператор выбирал свой собственный ключ для нового сообщения. Допустим, оператор выбрал слово EIN. Это слово становилось ключевым для данного сообщения. Далее оператор ещё один раз вводил слово EIN в машину для избежания ошибок при передаче. В результате, после двойного ввода слова EIN в криптограмме отображалось слово XHTLOA, которое предшествовало телу основного сообщения. И наконец, оператор снова поворачивал роторы в соответствии с выбранным ключом, в данном примере EIN, и вводил далее уже основной текст сообщения .

    При получении данного шифрованного сообщения вся операция выполнялась в обратном порядке. Оператор-получатель вводил в машину начальные настройки (ключевое слово AOH) и вводил первые шесть букв полученного сообщения (XHTLOA). В приведённом примере отображалось слово EINEIN, то есть оператор-получатель понимал, что ключевое слово - EIN. После этого он устанавливал роторы на позицию EIN, и вводил оставшуюся часть зашифрованного сообщения, на выходе получая чистый дешифрованный текст .

    В этом методе было два недостатка. Во-первых, использование главных ключевых настроек. Впоследствии это было изменено тем, что оператор выбирал собственные начальные позиции для шифрования индикатора и отправлял начальные позиции в незашифрованном виде. Вторая проблема состояла в повторяемости выбранного оператором-шифровщиком слова-индикатора, которая была существенной трещиной в безопасности. Ключ сообщения шифровался дважды, в результате чего прослеживалось закономерное сходство между первым и четвёртым, вторым и пятым, третьим и шестым символами. Этот недостаток позволил польским дешифровщикам взломать код «Энигмы» уже в 1932 году . Однако, начиная с 1940 года, немцы изменили процедуры для повышения безопасности .

    История и развитие машины

    Семейство шифровальных машин «Энигма» насчитывает огромное количество моделей и вариаций дизайна. Ранние модели были коммерческими, начиная с 1920-х годов. Начиная с середины 1920-х различные немецкие военные службы стали использовать эти машины, внося большое количество собственных изменений для повышения безопасности. Кроме того, другие страны использовали чертежи Энигмы для создания своих собственных шифровальных машин.

    Коммерческая «Энигма»

    23 февраля 1918 года немецкому инженеру Артуру Шербиусу (Arthur Scherbius) был выдан патент на шифровальную машину, использующую роторы (эта машина и является первым вариантом «Энигмы») , и совместно с Рихардом Риттером (E. Richard Ritter) основал фирму Шербиус и Риттер (Scherbius & Ritter). Они пытались наладить отношения с германским военно-морским флотом и с Министерством иностранных дел, но на тот момент те не были заинтересованы в шифровальных машинах . В дальнейшем они зарегистрировали патенты на предприятие Геверкшафт Секуритас (Gewerkschaft Securitas), которое 9 июля 1923 года основало корпорацию производителей шифровальных машин Chiffriermaschinen Aktien-Gesellschaft. Шербиус и Риттер состояли в совете директоров этой корпорации.

    Корпорация «Chiffriermaschinen AG» начала рекламировать роторную машину, «Энигму» модели «A», которая была выставлена на обозрение на конгрессе Международного почтового союза в 1923 и 1924 годах. Машина была тяжёлой и очень большой и напоминала печатную машину. Её размеры были 65×45×35 см, и весила она около 50 кг . Потом была представлена модель «B» подобной же конструкции. Первые две модели «A» и «B» были совсем не похожи на более поздние версии. Они были различных размеров и формы. Отличались они и с шифровальной точки зрения - в ранних версиях не хватало рефлектора.

    Рефлектор - идея, предложенная коллегой Шербиуса Вилли Корном (Willi Korn) - впервые был внедрён в «Энигме» модели «C» (1926). Рефлектор был ключевой особенностью «Энигмы» .

    Модель «C» была меньше по размеру и более портативной, чем предшественники . В этой модели не хватало пишущей машинки, чтобы заменить дополнительного оператора, следящего за лампочками, отсюда и альтернативное название «Glowlamp Enigma», для отличия её от моделей «A» и «B». «Энигма» модели «C» вскоре устарела, уступая новой модели «D» (1927). Эта версия широко использовалась в Швеции, Нидерландах, Великобритании, Японии, Италии, Испании, США и Польше .

    «Энигма» на военной службе

    Немецкий военно-морской флот первым начал использовать машины «Энигма». Модель, названная «Funkschlüssel C», начала разрабатываться с 1925 года и уже в следующем году массово поступать в армию . Клавиатура и панель с лампочками состояли из 29 букв от A до Z, а также Ä, Ö и Ü, расположенных в алфавитном порядке, в отличие от системы QWERTZU. Роторы имели по 28 контактов, буква X кодировалась напрямую, не зашифрованной. Три ротора из пяти и рефлектор могли быть установлены в четыре различные позиции, обозначенные буквами α, β, γ и δ. Незначительные исправления в машину были внесены в июле 1933 года.

    15 июля 1928 года немецкой армией была внедрена собственная модель «Энигмы» - «Энигма G», модифицированная в июне 1930 года в модель «Энигма I» . «Энигма I», также известная как «Энигма» вермахта, или «войсковая» «Энигма», широко использовалась немецкими военными службами и другими государственными организациями (например, железными дорогами) во время Второй мировой войны . Существенное различие между «Энигмой I» и коммерческими моделями «Энигмы» была коммутационная панель для замены пар букв, существенно увеличившая уровень защиты шифрограмм . Также были и другие отличия: использование неподвижного рефлектора и перемещение прорезей с тела ротора на движущиеся буквенные кольца. Размеры машины составляли 28×34×15 см, она весила около 12 кг.

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

    Другие страны также использовали «Энигму». Итальянские военно-морские силы использовали коммерческий вариант «Энигмы» под названием «Navy Cipher D», испанцы также использовали коммерческую «Энигму» во время гражданской войны. Британские специалисты по взламыванию шифров преуспели в дешифровке этих машин, лишённых коммутационной панели. Швейцарцы использовали для военных и дипломатических целей «Энигму K», которая была похожа на коммерческую «Энигму D». Эти машины были взломаны большим числом дешифровщиков, включая польских, французских, британских и американских. «Энигма T» (кодовое название «Тирпиц») была выпущена для Японии.

    По приблизительным оценкам, всего было выпущено около 100 000 экземпляров шифровальных машин «Энигма»



    Понравилась статья? Поделитесь с друзьями!