Криптоанализ «Энигмы»

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Немецкая трёхроторная военная шифровальная машина «Энигма» (версия с метками).

Криптоанализ «Энигмы» — криптоанализ немецкой шифровальной машины «Энигма» во время Второй мировой войны силами польских и британских спецслужб. Расшифровка сообщений внесла заметный вклад в поражение нацистской Германии.

Появление «Энигмы»[править | править вики-текст]

История электрической роторной шифровальной машины «Энигма» начинается в 1917 году с патента, полученного голландцем Хьюго Кочем. В следующем году патент был перекуплен Артуром Шербиусом (англ.), начавшим коммерческую деятельность с продажи экземпляров машины как частным лицам, так и немецким армии и флоту[1]. До середины 1920-х годов продажи шли плохо, в частности, из-за высокой цены[2].

В июне 1924 года британская криптографическая служба (Room 40) заинтересовалась устройством машины. С этой целью была закуплена партия машин у германской компании Chiffrier-maschinen AG, производившей «Энигму». Одним из условий сделки была регистрация патента в британском патентном бюро, благодаря чему криптографическая служба получила доступ к описанию криптографической схемы[2].

Начиная с 1925 года, когда германские военные начали массовые закупки шифровальной машины, и до конца Второй мировой войны было произведено около 200 тысяч машин[2]. С 1926 года на использование машины переходит германский флот, с 1928 года — сухопутные войска. Они применялись также в службе безопасности и разведке[2].

Польский этап[править | править вики-текст]

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

В 1928-29 годах в Польше были организованы первые математические курсы по криптографии. Слушателями были примерно 20 студентов-математиков со знанием немецкого языка. Трое из слушателей — Мариан Реевский, Генрих Зыгальский и Ежи Рожицкий — поступили на службу в «Бюро шифров». Впоследствии именно они получат первые результаты по вскрытию кода «Энигмы»[2].

В 1931 году сотрудник шифрбюро министерства обороны Германии Ганс-Тило Шмидт, ставший уже агентом «Аше», начал передавать французской разведке вышедшие из употребления коды, которые, согласно служебным обязанностям, ему требовалось уничтожать, а также инструкцию по использованию военного варианта «Энигмы». Среди причин, побудивших Ганс-Тило сделать это, было и материальное вознаграждение, и обида на родную страну, не оценившую его успехи во время первой мировой, и зависть к армейской карьере брата Рудольфа Шмидта[1]. Первыми двумя документами стали «Gebrauchsanweisung für die Chiffriermaschine Enigma»[3] и «Schlüsselanleitung für die Chiffriermaschine Enigma»[4]. Французская и английская разведки, однако, не проявили интереса к полученным данным — возможно, обе страны пришли к выводу, что вскрыть шифр «Энигмы» невозможно. Полковник французской разведки Гюстав Бертран (англ.) передал материалы польскому «Бюро шифров» и продолжал передавать им дальнейшую информацию от агента до осени 1939 года[1].

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

Благодаря полученным документам, криптоаналитики знали, что для шифрования сообщения оператор машины должен был выбрать из кодовой книги так называемый дневной ключ, который состоял из[5]:

  1. настроек коммутационной панели; (нем. Steckerverbindungen)
  2. порядка установки роторов; (нем. Walzenlage)
  3. положений колец; (нем. Ringstellung)
  4. начальных установок роторов. (нем. Kenngruppen)

Однако оператор не должен был использовать дневной ключ для шифрования сообщений. Вместо этого оператор придумывал новый ключ из трёх букв (нем. Spruchschlüssel) и дважды шифровал его с использованием дневного ключа. После чего настройки роторов менялись в соответствии с придуманным ключом и производилось шифрование сообщения[6].

В декабре 1932 года Реевский получил кодовые книги с дневными ключами для сентября и октября 1932 года. Данные материалы позволили восстановить внутреннюю электропроводку роторов и построить военный вариант «Энигмы» (коммерческий вариант уже был, но он имел другую электропроводку роторов)[7]. Более ни он, ни его коллеги не имели доступа к кодовым книгам, хотя агент «Аше» их успешно поставлял. Вероятно это было вызвано тем, что начальство хотело заставить криптоаналитиков суметь найти дневной ключ без кодовых книг, чтобы подготовиться к тому моменту, когда агент больше не сможет их поставлять[6].

Усилия Мариана сосредоточились на анализе уязвимости протокола обмена сообщениями, а именно — на повторении ключа сообщения. Из ежедневных сообщений выбирались первые шесть букв и на их основе составлялась таблица соответствия (примеры взяты из книги Сингха[6]):

Сообщение 1 L O K R G M
Сообщение 2 M V T X Z E
Сообщение 3 J K T M P E
Сообщение 4 D V Y P Z X
1-я буква A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
4-я буква P M R X

Если сообщений было достаточно, то таблица заполнялась полностью.

1-я буква A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
4-я буква F Q H P L W O G B M V R X U Y C Z I T N J E A S D K

Особенность полного варианта таблицы заключалась в том, что пока дневной ключ остаётся без изменений, содержимое таблицы также не меняется. И, с большой степени вероятности, наоборот. Можно было бы составить каталог таблиц… однако их количество равно 26!, что делает эту работу невозможной в обозримое время. Реевский стал пытаться выделить из таблиц некоторые шаблоны или найти некоторые структурные закономерности. И это ему удалось. Он стал рассматривать цепочки букв следующего вида[6]:

1-я буква A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A → F → W → A
4-я буква F Q H P L W O G B M V R X U Y C Z I T N J E A S D K

В примере полной таблицы выше таких цепочек оказалось 4:

  1. A → F → W → A
  2. B → Q → Z → K → V → E → L → R → I → B
  3. C → H → G → O → Y → D → P → C
  4. J → M → X → S → T → N → U → J

Следующим открытием Мариана стало то, что хотя конкретные буквы зависели от дневной настройки «Энигмы» полностью, количество цепочек и букв в них задавалось только настройками роторов. Так как количество роторов было равно 3 (но они могли стоять в любом порядке), а начальная настройка состояла из трех букв латинского алфавита, то число вариантов было равно 3! * 26^3 = 105456. Это было значительно меньше чем 26!, что позволило, используя построенные (или украденные) машины «Энигма» составить каталог, содержащий все возможные цепочки. Данная работа заняла почти год, однако результатом стала возможность читать германскую переписку[6].

Как отмечает Сингх, именно возможность разделить задачу на две составляющих (настройки роторов и настройки коммутационной панели) позволили Реевскому справиться с данной задачей, а также помощь как математиков «Бюро шифров», так и Шмидта[6]:

Документы Аше стали манной небесной — все двери в тот же момент открылись

Мариан Реевский[6]

После того, как настройки роторов для дневного сообщения были восстановлены, оставалось выяснить настройки коммутационной панели. С криптографической точки зрения это был простой моноалфавитный шифр, дополнительно ограниченный лишь 6 парами замен букв. Текст даже часто не требовалось подвергать частотному криптоанализу, а всего-лишь присмотреться к строкам вроде «alliveinbelrin» (англ. arrive in Berlin с заменой R ↔ L) и другим, которые было легко восстановить «на глаз»[6].

«Циклометр» из бумаг Мариана Реевского

В 1934 году Германия начала менять конфигурацию положения роторов каждый месяц вместо каждого квартала. В ответ на это Мариан Реевский спроектировал устройство под названием «циклометр», позволяющий быстро воссоздать каталог циклов[8].

15 сентября 1938 года Германия изменила процедуру шифрования, сделав невозможным использование каталогов, составленных с использованием циклометра. Польские криптографы были вынуждены искать другие методы для расшифровки. Такими стали использование машин bombe и перфорированных листов Зыгальского[7].

15 декабря 1938 года Германия добавила 4-й и 5-й роторы, а 1 января 1939 года увеличила количество соединений коммутационной панели с 6 до 10. Всё это значительно затруднило криптоанализ «Энигмы»[6][7].

Летом 1939 года, когда неизбежность вторжения в Польшу стала очевидна, бюро передало результаты своей работы английской и французской разведкам. Хотя польские математики так и не смогли вскрыть шифр, среди результатов были и «живые» экземпляры машины, и электромеханическая «Bomba», состоявшая из двух спаренных Энигм и помогавшая в расшифровке, а также уникальные методики криптоанализа[1].

PC Bruno[править | править вики-текст]

Блетчли-парк[править | править вики-текст]

Музей в Блетчли-парке
Фрагмент восстановленной Bombe в Блетчли-парке. Роторы.
Восстанавливаемая Bombe в Блетчли-парке, 2004 год

Дальнейшая работа по взлому «Энигмы» проходила в секретном центре британской разведки «Station X», известном впоследствии как Блетчли-парк.

Кадры[править | править вики-текст]

Руководителем проекта был назначен ветеран военной разведки Алистер Деннистон (Alastair Denniston). Работу по дешифровке возглавил коллега Деннистона по комнате № 40, известный лингвист и криптоаналитик Альфред Нокс («Dilly» Knox). За общую организацию работы отвечал профессор-математик Гордон Уэлчман. Деннистон начал набирать штат криптоаналитиков по принципу умственных способностей: лингвистов, математиков, шахматистов, чемпионов по решению кроссвордов, египтологов и даже палеонтологов[Прим. 1]. В частности, одним из первых был принят известный шахматный мастер Стюарт Милнер-Бэрри (Stuart Milner-Barry). Среди математиков был и молодой профессор логики из Кембриджа — Алан Тьюринг[1][Прим. 2].

Метод[править | править вики-текст]

Перехват радиосообщений противника выполняли десятки приемных станций, имевших кодовое название «Y-station». Ежедневно в Блетчли-парк поступали тысячи таких сообщений. Блетчли-парк имел в своем распоряжении точную копию «Энигмы», поэтому расшифровка сообщений сводилась к подбору установки дисков и, для более поздних моделей, — штекерного коммутатора. Сложность задачи усугублялась тем, что установки роторов менялись ежедневно, поэтому службы дешифровки работали круглосуточно в три смены[Прим. 3].

Конструкция «Энигмы» при правильном использовании обеспечивала практически полную секретность[Прим. 4]. На практике, однако, допускались действия, дававшие подсказки аналитикам (такие подсказки на сленге английских студентов назывались cribs). Именно на использовании и систематизации таких погрешностей и был основан метод дешифровки.

Подсказками служили любые часто повторяющиеся тексты, такие как приветствия, цифры (кодировались по произношению: «один», «два» и т. д.[Прим. 5]). Все подсказки заносились в картотеку (Index) вместе с контекстом: почерком радиста, местом и временем передачи и т. п.

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

Тьюринг[править | править вики-текст]

Одним из основных теоретиков Блетчли-парка был Алан Тьюринг. После изучения польских материалов Тьюринг пришёл к выводу, что использовать прежний подход с полным перебором сообщений уже не получится. Во-первых, это потребует создания более 30 машин типа «Бомба», что во много раз превышало годовой бюджет «Station X», во-вторых, можно было ожидать, что Германия может исправить конструктивный недостаток, на котором основывался польский метод. Поэтому он разработал собственный метод, основанный на переборе последовательностей символов исходного текста.

Вскоре немцы добавили в конструкцию Энигмы коммутирующее устройство, существенно расширив этим количество вариантов кода. Возникшую для англичан задачу решил Гордон Велчман, предложив конструкцию «диагональной доски». В результате этой работы в августе 1940 года была построена криптоаналитическая машина Bombe[Прим. 6]. Со временем в Блетчли-Парке было установлено более 200 машин[1], что позволило довести темп расшифровки до двух-трёх тысяч сообщений в день[9][Прим. 7].

Хотя Bombe претерпевала некоторые изменения в деталях, её общий вид оставался прежним: шкаф весом около тонны, передняя панель два на три метра и 36 групп роторов на ней, по три в каждой. Использование машины требовало специальных навыков, и сильно зависело от квалификации обслуживающего персонала — девушек-добровольцев из Women’s Royal Naval Service (англ.)[Прим. 8]. Впоследствии, когда часть работ была перенесена в США, вместе с технологиями была направлена и часть сотрудниц[1].

«Живая» информация[править | править вики-текст]

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

В 1940 году морской флот Германии внёс некоторые изменения в машину. Лишь после захвата подводной лодки U-110 вместе с несколькими новыми экземплярами машины британские криптоаналитики смогли разобраться в изменениях[1].

В 1942 году, после ввода в строй четырёхроторной машины, Блетчли-парк не смог расшифровывать сообщения в течение полугода, пока противолодочный корабль Petard, ценой жизни двух моряков, не захватил «Энигму» с подводной лодки U-559[1].

Секретность[править | править вики-текст]

«Это моя курочка-ряба, которая несет золотые яйца, но никогда не кудахчет.»

Уинстон Черчилль о Блетчли-парке

Английское правительство делало все возможное для того, чтобы скрыть успехи в расшифровке немецких шифров как от противника, так и от руководства СССР. С этой целью все действия, основанные на данных программы «Ультра» должны были сопровождаться операциями прикрытия, маскирующими истинный источник информации[Прим. 9]. Так, для передачи сведений «Ультра» в СССР использовалась швейцарская организация Lucy, располагавшая по легенде источником в верхах немецкого руководства. Информацию, полученную от Lucy передавал в СССР резидент советской разведки в Швейцарии Шандор Радо[Прим. 10].

Для маскировки «Ультра» применялись фиктивные разведывательные полеты, радиоигра и т. п. мероприятия.

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

СССР[править | править вики-текст]

Код «Энигмы» был взломан к концу 1940. В числе полученной информации были и сведения о подготовке вторжения в СССР. Несмотря на риск раскрытия источника, сведения были переданы советскому правительству[10]. Однако Сталин не поверил в возможность нападения[11][12].

Несмотря на опасения о возможности Германии слушать советские радиопереговоры, 24 июля 1941 года Черчилль распорядился всё-таки делиться с СССР информацией, получаемой в результате операции «Ультра», при условии полного исключения риска компрометации источника[13][Прим. 11].

Оценки результатов[править | править вики-текст]

С современной точки зрения шифр «Энигмы» был не очень надёжным, но только сочетание этого фактора с наличием множества перехваченных сообщений, кодовых книг, донесений разведки, результатов усилий военных и даже террористических атак позволило «вскрыть» шифр[1]. После окончания войны все дешифровальные машины были разобраны. Много позже группа из 60 энтузиастов в исследовательских целях воссоздала одну из машин, на что ушло около 10 лет[9].

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

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

  1. Случались и ошибки: среди приглашенных в проект оказался биолог капитан-лейтенант Джеффри Танди — специалист по криптогамам
  2. Макс Ньюман, Том Флауэрс и другие специалисты попали в Блетчли-парк позднее в связи с работой над шифром «Танни».
  3. Шифром «Энигмы» пользовались не только армия, авиация и флот, но и военная разведка (Abwehr), железная дорога и другие службы. Все они применяли собственные установки роторов.
  4. Важным недостатком конструкции была невозможность кодирования буквы той же самой буквой. Эта особенность «Энигмы» была широко использована при дешифровке
  5. Тюринг подметил, что цифра «один» (нем. Eins) встречается в 90 % сообщений. На этой основе был построен особый метод дешифровки — «eins-алгоритм». В качестве crib использовалось даже приветствие Heil Hitler и грубые ругательства, что особенно забавляло многочисленный женский персонал Блетчли-парка
  6. Польская машина называлась «бомба» (польск. Bomba kryptologiczna — Криптологическая бомба). По-английски бомба — bomb. Её название, по одной из версий, происходит от названия десерта из мороженного Bombe glacée(«One theory was that bomba was named after the ice cream, bombe glacee, which was being eaten when the machine was invented.» // Enigma: The Battle for the Code, By Hugh Sebag-Montefiore, 2002, ISBN 978-0-471-43721-5).
  7. Изготовлением Bombe занималась компания «British Tabulating Machines» (англ.); проект машины сделал главный конструктор компании Гарольд Кин (англ. Harold Keen).
  8. Машины и обслуживающий персонал размещались вне территории Блетчли-парка в окружающих поселках.
  9. Версия отказа от защиты Ковентри ради сохранения секретности Ultra, не соответствует действительности и основана исключительно на воспоминаниях Ф. У. Винтерботтама, — офицера RAF не имевшего доступа к подобной информации. Версия Винтерботтама неоднократно опровергалась другими мемуаристами и историками.
  10. СССР имел некоторые сведения о программе Ultra от своего агента в Блетчли-парке — Джона Кернкросса, одного из членов Кембриджской пятерки. Англичане не подозревали о роли Кернкросса до 1951 г.
  11. Программа «Ультра» включала расшифровку не только кода Энигмы, но и гораздо более сложного кода «Лоренц». Первым результатом дешифровки последнего стал план летнего наступления вермахта под Курском (Операция Цитадель)

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

  1. 1 2 3 4 5 6 7 8 9 10 11 Леонид Черняк Тайны проекта Ultra
  2. 1 2 3 4 5 6 Д. А. Ларин, к. т. н., Г. П. Шанкин, д. т. н., профессор Вторая мировая война в эфире: некоторые аспекты операции «Ультра» (рус.) // Защита информации. Инсайд.
  3. Gebrauchsanweisung für die Chiffriermaschine Enigma (нем.)
  4. Schlüsselanleitung für die Chiffriermaschine Enigma (нем.)
  5. Enigma Procedure
  6. 1 2 3 4 5 6 7 8 9 Simon Singh Cracking the Enigma // The Code Book — The Secret History of Codes & Code-breaking (англ.). — London: Forth Estate, 2000. — P. 143—160. — ISBN 1-85702-889-9.
  7. 1 2 3 Richard A. Woytak A Conversation with Marian Rejewski (англ.) // Cryptologia. — Taylor & Francis, 1982. — В. 1. — Т. 6. — P. 50—60.
  8. Анин, Б. Ю.. Прочие. Поляки. «Бруно» против «Энигмы» // Радиоэлектронный шпионаж. — М. : Центрполиграф, 2000. — С. 449—451. — (Секретная папка). — 10 000 экз. — ISBN 5-227-00659-8.
  9. 1 2 Парамонов, Владимир Британские энтузиасты воссоздали дешифратор "Энигмы" (рус.). Компьюлента (12 сентября 2006). Проверено 17 января 2010.
  10. Rutherford journal: «Colossus: Breaking the German ‘Tunny’ Code at Bletchley Park»
  11. Lewin, 2001, p. 104
  12. Уинтерботем Ф. Операция «Ультра». — М.: Воениздат, 1978. В источнике также указывается, что в дальнейшем, из-за соображения секретности, англичане информацией не делились. И о Курской операции вермахта в СССР узнали из других источников. Книга Ф. Уинтерботема вышла до снятия грифа секретности с документов о дешифровке кода «Лоренц» (1975). Архивные документы однозначно свидетельствуют о передаче в Москву плана операции «Цитадель» в начале 1943 г.(Rutherford journal: «Colossus: Breaking the German ‘Tunny’ Code at Bletchley Park»)
  13. Книга:Анин Б.Ю.: Радиоэлектронный шпионаж, с. 359—366

Литература[править | править вики-текст]

  • Анин, Б. Ю.. Англичане. Тайна. На службе у КГБ. // Радиоэлектронный шпионаж. — М. : Центрполиграф, 2000. — 491, [2] с., [8] л. ил., портр. — (Секретная папка). — 10 000 экз. — ISBN 5-227-00659-8.

Ссылки[править | править вики-текст]