Машина-шифратор Энигма: как она работала и почему считалась неуязвимой

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Статья | Оффтопик

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

Чтобы понять, почему десятилетиями Энигму считали неприступной, нужно сначала разобраться, как она была устроена и что именно делала с текстом.

Из чего была сделана Энигма

В основе Энигмы лежал набор роторов. Это были цилиндры из изоляционного материала с двумя венцами контактов по двадцать шесть точек на каждом, по числу букв латинского алфавита. Внутри ротора контакты соединялись проводами в фиксированную «перестановку»: при одном положении диска буква A могла превращаться, например, в G, при следующем шаге ротора та же дорожка вела уже к другой букве.

Роторы стояли цепочкой на общей оси. В стандартной военной версии оператор вставлял три из нескольких доступных роторов в выбранном порядке. Позднее морские модификации получили четвёртый, дополнительный диск, который не вращался, но добавлял ещё один уровень преобразования.

Автор: Общественное достояние Источник: ru.wikipedia.org

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

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

Роторы Энигмы
Автор: Bob Lord Источник: ru.wikipedia.org

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

Вся система помещалась в переносной деревянный корпус весом около 12-14 килограммов. Таких машин, в разных вариантах, выпустили десятки тысяч. Они работали на фронте, на кораблях, в штабах и на подлодках.

Как обычная буква превращалась в зашифрованную

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

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

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

Электрическая схема Энигмы
Автор: MesserWoland Источник: ru.wikipedia.org

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

Всё это превращало шифр Энигмы в полиалфавитный. Порядок замены букв постоянно менялся и зависел от предыдущей истории набора. Простому частотному анализу такие тексты уже не поддавались.

Как эволюционировали военные версии

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

Автор: Jszigetvari Источник: ru.wikipedia.org

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

Морские версии для флота получили ещё больше особенностей. Появился дополнительный тонкий ротор, который не вращался, но стоял в цепи перед отражателем и добавлял ещё один шаг трансформации. Для него разработали специальный «тонкий» отражатель, чтобы всё помещалось в прежний корпус. Флот активно менял типы отражателей и набор роторов, вводил свои кодовые книги, а также отдельные инструкции для подлодок.

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

Математика за клавишами

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

Рефлектор был особой перестановкой. Он соединял буквы попарно и не позволял ни одной букве превратиться саму в себя. Буква A никогда не шифровалась как A, B — как B и так далее. Это имело важные последствия для атак, но одновременно добавляло машине симметричности: одна и та же настройка работала и для шифрования, и для обратного преобразования.

Коммутационная панель в передней части машины
Автор: Bob Lord Источник: ru.wikipedia.org

Пространство возможных настроек трёхроторной военной Энигмы было гигантским. Нужно было выбрать порядок трёх роторов из пяти доступных, выставить начальные положения, задать положение колец, а также соединения на панели, где одновременно связывали несколько пар букв. Даже грубые оценки давали число комбинаций, которое измерялось десятками и сотнями квинтиллионов, то есть единицами с двадцатью и более нулями. На языке криптографии это означало десятки бит энтропии. Для вычислительной техники 1930-1940-х годов такой перебор был нереалистичным даже при идеальной организации работы.

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

Первые успехи

Однако идеальных систем безопасности не бывает. Если математика безупречна, всегда остаётся человеческий фактор и организационные привычки.

Первыми слабости Энигмы заметили поляки. В конце 1920-х годов польская разведка получила от французских союзников образцы документов и инструкций к немецкой машине. В Бюро шифров в Познани молодой математик Мариан Реевский вместе с коллегами Ежи Ружицким и Генрихом Зыгальским попробовал подойти к задаче как к чистой теории перестановок.

Немецкая процедура отправки сообщений тогда требовала дважды шифровать начальные настройки сеанса. Иными словами, в начале каждой телеграммы оказывались два фрагмента, связаны между собой довольно простым законом. Реевский использовал это повторение, чтобы восстанавливать структуру перестановок роторов. Его команда построила специальные таблицы, придумала циклометр — устройство, которое помогало автоматизировать работу с цепочками перестановок, — а затем перешла к идее машинного перебора «бомб» с несколькими связками Энигм.

Приблизительный внешний вид Циклометра, созданного Реевским в середине 1930-х годов
Автор: Matt Crypto Источник: ru.wikipedia.org

К концу 1930-х годов поляки научились регулярно вскрывать немецкие сообщения. Но по мере усложнения процедур и добавления панели их ресурсы перестали хватать. Летом 1939 года, уже на пороге войны, они передали свои методы и макеты машин французам и британцам.

Блетчли-парк и машины против машины

В Великобритании центр работы по немецким шифрам разместили в загородной усадьбе Блетчли-парк. Там собрались математики, лингвисты, шахматисты, кроссвордисты, инженеры. Одним из ключевых фигур стал Алан Тьюринг. Он опирался и на польский опыт, и на собственные идеи.

Тьюринг обратил внимание на так называемые cribs — предполагаемые фрагменты открытого текста в определённых местах шифрованных телеграмм. Военные любили повторять формулировки, использовать однотипные приветствия и стандартные фразы вроде сообщений о погоде. Если угадать, где в шифротексте спрятано, скажем, слово «WETTER» или «KEINE BESONDEREN EREIGNISSE», можно резко сократить число возможных настроек.

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

Для автоматизации этих проверок в Блетчли-парке создали новые электромеханические машины, которые тоже назвали бомбами. Они имитировали работу множества связок Энигм сразу и перебирали настройки до тех пор, пока не находили варианты, не противоречащие заданному crib. Конструкция, предложенная Тьюрингом, позже была дополнена идеями Гордона Уэлшмана, который предложил использовать особую схему учёта связей панели.

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

К середине войны в Британии и США работали десятки бомб, круглосуточно перебирающих ключи. К концу конфликта союзники могли читать значительную часть немецкого оперативного трафика практически в реальном времени.

Почему Энигму считали неуязвимой

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

С точки зрения теории Энигма действительно была очень сильной системой для своего времени. Даже сегодня такая конструкция, если правильно выбрать параметры и убрать уязвимости вроде отражателя, вполне могла бы использоваться как основа для шифра, устойчивого к простым атакам.

Немцы опирались на эту математическую мощь и считали, что её достаточно. Они недооценили сочетание чужой математики, инженерного таланта и разведки.

Как Энигма всё-таки пала

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

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

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

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

Изображение в превью:
Автор: Flux
Источник: Локальная модель Flux
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе

capib25@gmail.com

2 комментария

C
После войны на основе опыта «Энигмы» был создан ряд электромеханических роторных шифраторов, одним из которых была советская М-125 «Фиалка», считающаяся «Энигмой на максималках», лишённая недостатков типа невозможности шифрования символа самим собой. «Фиалка» считается невзломанной до сох пор.
P
Одним из ключевых факторов провала Энигмы стала стандартная фраза, которую нацисты добавляли в конец каждого сообщения — что-то там типа «Во славу великого Рейха и Гитлера».

Добавить комментарий

Сейчас на главной

Новости

Публикации

На Марсе найдены микроскопические рубины: первая находка минералов, рожденных космическим ударом

На протяжении последних лет марсоход Perseverance планомерно изучает кратер Езеро. Изначально аппарат двигался по дну высохшего озера, исследуя осадочные породы и дельту древней реки. Однако сейчас...

Зачем в Китае строили города-призраки, что с ними происходит сейчас, и причем здесь Эйфелева башня

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

Смогут ли океаны когда-нибудь забыть глубоководную добычу: 44 года спустя — первые признаки жизни или приговор на века

Глубоководная добыча полезных ископаемых — один из самых спорных вопросов 2020-х. С одной стороны, полиметаллические конкреции на дне Тихого океана (в зоне Кларион-Клиппертон) содержат...

Это вообще законно? Выгодный повербанк-монстр Qoovi на 50 000 мА·ч с мощностью 100 Вт

Если ищете мощный, но недорогой повербанк для зарядки своего ноутбука, смартфонов и других устройств, то возможно обращали внимание на устройства под брендом Qoovi. Они выпускают очень доступные...

Simgot Supermix 5 — не только приятный баланс — обзор внутриканальных трибридных наушников с драйвером костной проводимости 1BC+1DD+2BA+1MP

В продолжение линейки наушников с четырьмя видами драйверов компания Simgot выпустила новую модель Supermix 5. В отличие от предыдущей модели Supermix 4, у которой в наборе был также и...

Обзор УФ фонаря Sofirn SR15 UV 365nm: Пробую приготовить яичницу

Фонарик с ультрафиолетовым светом может стать весьма полезным гаджетом, а порой и незаменимым инструментом в различных ситуациях. В этом обзоре я расскажу о модели Sofirn SR15 UV 365 nm, проведу...