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

Несмотря на это, до сих пор осталось одно нерасшифрованное сообщение. Оно датируется 1 мая 1945 года (на фото).

Шифротекст:

JCRSAJTGSJEYEXYKKZZSHVUOCTRFRCRPFVYPLKPPLGRHVVBBTBRSXSWXGGTYTVKQNGSCHVGF

Порядковый номер сообщения: P1030680 (U534).

«Энигма»


На фотографиях внизу показаны две версии «Энигмы», более ранняя слева и более продвинутая справа с платами расширения под клавиатурой, которые добавляли уровни сложности.



Работала машина просто: шифры (настройки) менялись роторами слева вверху. Три ротора в 26 позициях и дополнительная панель с десятью парами букв давали почти 159 квинтиллионов комбинаций настроек.

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

Первая «Энигма» была изготовлена в 1923 году (Model А). Саму шифровальную машину изобрёл немецкий инженер Артур Шербиус вскоре после Первой мировой. Он запатентовал механизм и начал продавать продукт на коммерческом рынке. Первым крупным покупателем стал Международный почтовый союз с отделениями во всех уголках мира. Вскоре новинкой заинтересовались и военные.

Первая модель для армии была изготовлена в 1925 году и называлась Funkschlüssel C. Последняя вышла в феврале 1942-го.


Четырёхроторная модель Enigma M4, выпущенная по заказу ВМС 1 февраля 1942 года

Разные варианты «Энигмы» использовали армии разных стран, в том числе Швейцарии и СССР.


«Энигма» в советской армии, источник

Сам Шербиус погиб в 1929 году в результате несчастного случая с каретой.

Криптоанализ


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





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

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

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



А цифровые коды для шифров соотносились с тремя первыми символами сообщения:



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

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



P. S. Расшифровка последнего сообщения «Энигмы» идёт в рамках распределённого проекта Enigma@Home. К нему можно присоединиться, выделив немножко мощности простаивающих CPU.

Комментарии (23)


  1. veryboringman
    28.07.2023 21:59
    +11

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


    1. Leetc0deMonkey
      28.07.2023 21:59
      +1

      Можно и в процессе, чтобы истощать ресурсы перехватывающих. С принимающей стороной понятно надо согласовать этот ньюанс.


    1. roofcat
      28.07.2023 21:59

      на Балтийской косе (где кстати в музее есть останки Энигмы, найденные в дюнах) бои шли до 9го мая, вполне организованные


  1. ru_vlad
    28.07.2023 21:59
    +51

    «Энигма» в советской армии, источник

    Полный бред! Вы хоть на фото взгляните, на форме солдат "немецкий орел".

    В источнике сказано что снято на восточном фронте в России.


  1. Alexufo
    28.07.2023 21:59
    +2

    .


  1. Wesha
    28.07.2023 21:59
    +4

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

    "Самое слабое звено в любой криптографической системе — это человек" (c) какой-то, судя по всему, древний римлянин.


    1. DGN
      28.07.2023 21:59
      +1

      Это наверное сложно, механически генерировать случайную последовательность.

      Не очень понятно, они эту случайность тоже через машину прогоняли?

      Не очень понятно, как боролись с ошибками в канале связи.


      1. DirectoriX
        28.07.2023 21:59

        Двух обычных (но различимых) игральных кубиков достаточно, чтоб выбрать случайный символ из 36. Другими словами, чтоб сгенерировать случайную последовательность символов нужно лишь 1 коробочка с прозрачной стенкой и двумя кубиками внутри (ну и памятки-наклейки) - не выглядит как нечто сложное или дорогое, особенно сравнивая с самой "Энигмой". При желании можно было бы хоть в основной корпус встроить, даже с какой-нибудь прижимной пластиной, чтоб кубики не гремели при переноске.


        1. DGN
          28.07.2023 21:59

          Если их перемножать, то последовательность не будет случайной с линейным распределением.

          Или D3 + D6?


          1. unC0Rr
            28.07.2023 21:59
            +1

            Пусть на первом кубике выпало число A, на втором B, тогда результат можно посчитать как A*6+B.


          1. masai
            28.07.2023 21:59
            +2

            Просто число в шестеричной системе. Если перемножать, то и произведений будет меньше, чем 36.


    1. LF69ssop
      28.07.2023 21:59

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

      Кто на ком сидел? Как именно это работало?


      1. Wesha
        28.07.2023 21:59

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


  1. DGN
    28.07.2023 21:59

    Не очень понял, где ранель с парами букв?

    Получается 6 (или 8) перестановок, каждое колесо имеет фиксированный в 26 вариантов секрет двух перестановок. Выглядит не очень стойко, на первый взгляд. Ну то есть, для того чтобы телеграфистки не читали новости раньше газет, оно вполне годилось, но не на войне.


    1. dmitrye1
      28.07.2023 21:59
      +1

      Не очень понял, где ранель с парами букв?

      На фронтальной стороне, на фото немного видно. Это давало основную стойкость.


      1. DGN
        28.07.2023 21:59

        Я так понял, что там просто шифруют цифры. Не увидел механизм установки цифр в код, и тем более букв.


    1. igormu
      28.07.2023 21:59
      +1

      Тут хорошо видно

      image


    1. Tarakanator
      28.07.2023 21:59

      Это не от телеграфисток. Это чтобы ключ менялся.
      Условно говоря у вас есть ключ
      АААА вы считаете от него sha, получаете ключ для шифрования BBB. Но он всегда одинаковый,
      Поэтому вы берёте секретный ключ АААА, добавляете к нему рандомные символы, И считаете хеш от ААААббб. Получаете уникальные ключи для шифрования.


  1. shasoftX
    28.07.2023 21:59
    +6

    «Энигма» в советской армии, источник

    Судя по нашивкам солдата (орел) - правильная подпись, в лучшем случае, «Энигма» на войне с советской Армией

    update: точнее «Энигма» на Восточном Фронте


  1. MountainGoat
    28.07.2023 21:59
    +1

    Есть компьютерная игра "The Beast Inside". Там ближе к началу игры дают эту самую Энигму и заставляют попользоваться. Насколько реалистично она там сделана, не скажу. И вообще вся игра про то, как у мужика от этой Энигмы кукуха покосилась.


  1. w0rkm4n
    28.07.2023 21:59
    +16

    Кликбейт. Зачем называть пост "Нерасшифрованное сообщение <<Энигмы>>", если об этом говорится только в начале и конце статьи? С таким же успехом можно было просто вырезать абзацы в начале и конце, и назвать её "ЛикБез по Энигме".


  1. kraamis
    28.07.2023 21:59
    +3

    Хабр превратился в Пикабу.

    Корпоративный блог надо чем-то забить, вот и пишут статьи без содержания.


  1. itundp
    28.07.2023 21:59
    +1

    Почитайте Книга шифров. Тайная история шифров и их расшифровки Саймона Сингха, написано доступным языком, очень легко читается. Там вся история шифрования, ну и в частности история создания Энигмы и взлома Раевским.