М-209

Механическая шифровальная машина
М-209

В криптографии M -209 , обозначенный ВМС США как CSP-1500 ( производителем C-38 ), представляет собой портативную механическую шифровальную машину, использовавшуюся американскими военными в первую очередь во Второй мировой войне , хотя она продолжала активно использоваться и во время Корейской войны . M-209 была разработана шведским криптографом Борисом Хагелиным в ответ на запрос о такой портативной шифровальной машине и представляла собой усовершенствованную версию более ранней машины C-36 .

M-209 имеет размер коробки для завтрака , в окончательном виде его размеры составляют 3+14 на 5+12 на 7 дюймов (83 мм × 140 мм × 178 мм) и весом 6 фунтов (2,7 кг) (плюс 1 фунт (0,45 кг) на корпус). [1] Он представлял собой блестящее достижение для доэлектронной технологии. Это была роторная машина, похожая на телешифровальную машину, такую ​​как шифр Лоренца и Geheimfernschreiber .

Основная операция

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

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

Напечатанный шифртекст автоматически разбивается на группы по пять букв с помощью M-209 для удобства чтения. Счетчик букв наверху машины показывал общее количество закодированных букв и мог использоваться в качестве точки отсчета, если при шифровании или расшифровке была допущена ошибка.

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

Опытный оператор М-209 может потратить от двух до четырех секунд на шифрование или расшифровку каждой буквы.

Внутренние элементы

Обзор

Внутри корпуса M-209 вырисовывается гораздо более сложная картина. Шесть ключевых колес имеют по маленькому подвижному штифту, выровненному с каждой буквой на колесе. Каждый из этих штифтов может быть расположен слева или справа; расположение этих штифтов влияет на работу машины. Левое положение неэффективно , а правое — эффективно .

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

Каждое ключевое колесо содержит разное количество букв и, соответственно, разное количество штифтов. Слева направо колеса имеют:

  • 26 букв, от А до Я
  • 25 букв от A до Z, кроме W
  • 23 буквы, от A до X, за исключением W
  • 21 буква, от А до У
  • 19 букв, от А до С
  • 17 букв, от A до Q

Это несоответствие выбрано для того, чтобы придать размерам колес взаимно простую природу; конечный результат заключается в том, что колеса выравниваются одинаково только один раз каждые 26×25×23×21×19×17 = 101 405 850 зашифрованных букв (также известных как период ) . Каждое ключевое колесо связано с наклонным металлическим направляющим рычагом , который активируется любыми штифтами в «эффективном» положении. Положения штифтов на каждом ключевом колесе составляют первую часть внутреннего механизма ключа M-209.

За рядом из шести ключевых колес находится цилиндрический барабан, состоящий из 27 горизонтальных стержней. Каждый барабанный стержень прикреплен двумя подвижными выступами ; выступы могут быть совмещены с любым из шести ключевых колес или могут быть помещены в одно из двух «нейтральных» положений. Эффективный штифт заставляет его направляющий рычаг наклоняться вперед, соприкасаясь с барабаном. Расположение выступов составляет вторую часть внутреннего механизма запирания. Из-за сложности настройки внутреннего механизма запирания он изменялся относительно редко; смена внутренних ключей один раз в день была обычной практикой.

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

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

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

Пример конфигурации

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

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

КолесоНастройки пин-кода
1AB-D---HI-K-MN----ST-VW---
2A--DE-G--JKL—-O--RS-U-X--
3AB----GH-J-LMN---RSTU-X
4--C-EF-HI---MN-P--STU
5-B-DEF-HI---MN-P--S
6AB-D---H--K--NO-Q

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

Вращающийся барабан имеет 27 стержней, каждый с двумя выступами . Эти выступы могут быть установлены в любое положение от 1 до 6, в этом случае они выровнены с соответствующим колесом ключа, или они могут быть установлены в одно из двух положений «0», в этом случае они неэффективны. Таблица, указывающая настройки выступов для барабана, может выглядеть следующим образом:

Бар123456789
Выступы3-60-61-61-54-50-40-40-40-4
Бар101112131415161718
Выступы2-02-02-02-02-02-02-02-02-0
Бар192021222324252627
Выступы2-02-52-50-50-50-50-50-50-5

У стержня 1 выступы будут установлены в положения «3» и «6», у стержня 2 — в положения «0» и «6» и т. д. Любой выступ в положении «3», например, будет отодвинут в сторону направляющим рычагом, когда активный в данный момент штифт на ключевом колесе 3 будет находиться в «эффективном» положении.

Наконец, внешний ключ устанавливается путем вращения колес ключей либо на определенную, либо на случайную последовательность букв. При тестировании внутренних настроек ключа M-209 оператор обычно устанавливает колеса ключей на «AAAAAA» и приступает к кодированию сообщения, состоящего только из буквы «A». Затем полученный шифртекст сравнивается с длинной проверочной строкой , чтобы убедиться, что все внутренние настройки выполнены правильно. Проверочная строка для этой конкретной конфигурации:

TNJUWAUQTKCZKNUTOTBCW ARWIO

Штифты колеса ключа вступают в игру, когда они достигают нижней части колеса ключа во время вращения; именно здесь они могут соприкасаться или отпускать направляющий рычаг, который отклоняет выступы влево. Активный штифт смещен на определенную величину от буквы, которая в данный момент отображается на передней части колеса ключа; когда на колесах ключа отображается «AAAAAA», штифты, которые находятся в игре, связаны с буквами «PONMLK», слева направо.

Пример кодировки

После настройки M-209 в соответствии с настройками, указанными выше, машина готова к кодированию. Продолжая пример известной контрольной строки , первая буква для кодирования — «A». Оператор устанавливает указательный диск на букву «A» и поворачивает ручку питания.

Так как ключевые колеса установлены на строку "AAAAAA", активными штифтами являются "PONMLK"; в соответствии с настройками выше, штифт "P" неэффективен на первом ключевом колесе, штифт "O" эффективен на втором ключевом колесе, "N" эффективен на третьем, "M" эффективен на четвертом, "L" неэффективен на пятом, а "K" эффективен на шестом. Направляющие рычаги, связанные с эффективными штифтами, наклонятся вперед и коснутся вращающегося барабана; в этом случае будут эффективны направляющие рычаги 2, 3, 4 и 6.

Любой стержень на барабане с выступом в любом из этих положений будет сдвинут влево, и этот стержень будет участвовать в работе зубчатой ​​передачи с переменным зацеплением, приводящей в движение выход машины. Согласно заданным настройкам, стержни 1, 2, 3 и 5 по 21 будут сдвинуты влево, в общей сложности на 20 стержней или 20 «зубцов» зубчатой ​​передачи с переменным зацеплением. Кодировка для этой буквы будет использовать сдвиг на 20.

M-209 использует шифр взаимной замены или схему Бофорта ; алфавит, используемый в открытом текстовом сообщении, сопоставляется с тем же алфавитом, но в обратном порядке ( atbash ):

Алфавит открытого текста:ABCDEFGHIJKLMNOPQRSTUVWXYZ
Алфавит шифртекста:ZYXWVUTSRQPONMLKJIHGFEDCBA

Если сдвиг не рассматривается, «A» становится «Z», «B» становится «Y», «C» становится «X» и так далее. Сдвиг происходит в обратном направлении; например, открытый текст «P» отображается в зашифрованный текст «K»; сдвиг на три позиции влево дает зашифрованный текст «N». Сдвиг является циклическим, поэтому, когда сдвиг выходит за пределы левой стороны, он снова продолжается справа. Этот подход является самообратимым, что означает, что расшифровка использует ту же таблицу тем же способом: зашифрованный текст «N» вводится так, как если бы это был открытый текст; это отображается в «M» в алфавите зашифрованного текста или «P» после сдвига на три позиции, таким образом возвращая исходный открытый текст.

Продолжая пример выше, начальная буква, которую нужно было закодировать, была "A", что соответствует "Z" в шифртексте. Сдвиг, заданный переменной зубчатой ​​передачей, составил 20; сдвиг влево на 20 позиций дает конечную букву шифртекста "T", которая совпадает с первой цифрой в контрольной строке.

В конце цикла кодирования все шесть колес ключей продвигаются на одну позицию. Колеса ключей будут читать «BBBBBB», а активные штифты будут «QPONML». Новый набор направляющих рычагов будет взаимодействовать с барабаном, что приведет к другому сдвигу для следующей операции кодирования и т. д.

Безопасность

Безопасность M-209 была хорошей для своего времени, но она ни в коем случае не была идеальной. Как и в случае с телетайпной шифровальной машиной Lorenz Electric (которую союзники называли Tunny ), если дешифровщик получал доступ к двум перекрывающимся последовательностям, он мог получить доступ к настройкам M-209, и ее работа имела некоторые отличительные особенности, которые можно было использовать. По состоянию на начало 1943 года немецкие дешифровщики во Второй мировой войне могли прочитать 10–30 процентов сообщений M-209. [2] Это считалось подходящим для тактического использования и все еще использовалось армией США во время Корейской войны .

Американский исследователь Деннис Ритчи описал совместную работу 1970-х годов с Джеймсом Ридсом и Робертом Моррисом по атаке на M-209, использующей только шифртекст, которая могла бы раскрывать сообщения длиной не менее 2000–2500 букв. [3] Ритчи рассказывает, что после обсуждений с Агентством национальной безопасности (АНБ) авторы решили не публиковать ее, поскольку им сказали, что этот принцип применим к машинам, которые тогда все еще использовались иностранными правительствами. [3]

В 2004 году немецкий новостной сайт Heise Online опубликовал статью о немецких попытках взломать M-209. [4]

Производство и использование

Американские пишущие машинки M-209 выпускались компанией Smith Corona Typewriter Company в Гротоне, штат Нью-Йорк, со скоростью 400 единиц в день , начиная с 1942 года. Было выпущено более 140 000 машин. [5] : 427  Она постепенно заменила старый тактический шифр M-94 .

Немецкая SG-41 должна была стать стандартной тактической шифровальной машиной, но у немцев были ограниченные запасы легких металлов, таких как магний и алюминий, и она была просто слишком тяжелой для тактического использования. Менцер также работал над двумя другими шифровальными машинами, основанными на технологии Хагелина, включая продолжение Enigma, "SG-39", и простую, но довольно сильную ручную шифровальную машину, " Schlüsselkasten " ("Кодовая коробка"). Ни одна из этих машин не достигла производства. Если бы устройства Менцера были введены в эксплуатацию, они, безусловно, создали бы проблемы для криптоаналитиков союзников, хотя они были не более невзламываемыми, чем M-209.

После войны Хагелин придумал улучшенную модель M-209, названную « C-52 ». C-52 имела период до 2 756 205 443; колеса, которые можно было снимать и вставлять в другом порядке; и печатающее колесо со смешанным алфавитом. Однако C-52 была одним из последних поколений классических шифровальных машин, поскольку к тому времени новые цифровые технологии позволяли разрабатывать шифры, которые были намного более надежными.

Ссылки

  1. ^ "Досье: Le Converter M209: chiffreur - déchiffreur" . us-militaria.com. 1 января 2014 г. Архивировано из оригинала 1 января 2014 г.{{cite web}}: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )
  2. ^ Агентство безопасности армии, Европейская разведка стран оси во Второй мировой войне, том I, синопсис. Идентификатор документа 3560861.
  3. ^ ab Ritchie, Dennis M. (5 мая 2000 г.). «Всё о криптографическом мире — история». Nokia Bell Labs .
  4. Шме, Клаус (23 сентября 2004 г.). «Als deutscher Code-Knacker im Zweiten Weltkrieg» [Как немецкий взломщик кодов во Второй мировой войне]. Heise Online (на немецком языке) . Проверено 26 марта 2019 г.
  5. ^ Кан, Дэвид (1967). Взломщики кодов: История тайнописи . Нью-Йорк: The Macmillan Company. ISBN 978-0-684-83130-5. OCLC  59019141

Дальнейшее чтение

  • Дж. Ридс, Д. Ритчи, Р. Моррис, «Шифровая машина Хагелина (M-209): криптоанализ только на основе шифртекста», неопубликованный технический меморандум, Bell Laboratories, 1978. Представлено в Cryptologia ([1]).
  • Баркер, Уэйн Г. (1977). Криптоанализ криптографа Хагелина . Aegean Park Press. ISBN 978-0-894-12022-0. OCLC  3902917.
  • Ласри, Джордж; Копал, Нильс; Вакер, Арно (2018). «Криптоанализ коротких шифротекстов Хагелина M-209 только на основе шифротекста» . Криптология . 42 (6): 485–513. doi :10.1080/01611194.2018.1428836. S2CID  52881736.
  • Ласри, Джордж; Копал, Нильс; Вакер, Арно (2016). «Автоматизированный криптоанализ коротких сообщений Hagelin M-209 с известным открытым текстом» . Криптология . 40 : 49–69. doi :10.1080/01611194.2014.988370. S2CID  20980068.
  • Симулятор M-209 Дирка Рейменанца для Windows
  • Руководство по М-209 1944 года
  • Страница Джерри Прока о М-209
  • Страница Ника Гесслера о М-209
  • Симулятор М-209, написанный на Python
  • Виртуальный Хагелин М-209. 3D-браузерная симуляция М-209
  • В этой статье или в ее более ранней версии использованы материалы из книги Грега Гебеля «Коды, шифры и дешифровка».
Взято с "https://en.wikipedia.org/w/index.php?title=M-209&oldid=1232250260"