stringtranslate.com

Хаокрипт

Chaocipher [1] — метод шифрования, изобретенный Джоном Фрэнсисом Бирном в 1918 году и описанный в его автобиографической книге Silent Years 1953 года . [2] Он считал, что Chaocipher прост, но не поддается взлому. Бирн утверждал, что машина, которую он использовал для шифрования своих сообщений, могла поместиться в коробке из-под сигар . Он предлагал денежное вознаграждение тому, кто сможет ее разгадать.

Бирн безуспешно пытался заинтересовать своей системой Корпус связи и ВМС США. Хотя многочисленные студенты классического криптоанализа пытались решить вызовные сообщения на протяжении многих лет, никому это не удалось. В течение 90 лет алгоритм Chaocipher был тщательно охраняемым секретом, известным лишь горстке людей.

В мае 2010 года невестка Бирна, Патрисия Бирн , передала все документы и артефакты, связанные с Chaocipher [3], в Национальный криптологический музей в Форт-Миде, штат Мэриленд, США. Это привело к раскрытию алгоритма Chaocipher. [4]

Дизайн

Рисунок 1. Диски Chaocipher в исходном положении, готовые к шифрованию/дешифрованию.

В воплощении Хаокрипта Бирна система состоит из двух дисков, называемых левым и правым дисками, каждый из которых имеет 26 съемных язычков одинакового размера по периферии. Эти съемные язычки содержат 26 букв алфавита (т. е. от A до Z) в некотором заранее установленном порядке. По окружности каждого диска находятся штифты, которые позволяют двум дискам «взаимодействовать» или блокироваться. При включении поворот одного диска в одном направлении (например, по часовой стрелке) заставит другое колесо вращаться в противоположном направлении (например, против часовой стрелки). Язычки являются съемными, что означает, что язычок можно удалить с периферии, сдвинуть другой блок язычков и вставить извлеченный язычок в пустое место на периферии.

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

Два вышеупомянутых диска установлены на платформе, состоящей из двух шпинделей.

На платформе вокруг каждого диска есть две отметки, известные как «зенит» и «надир». Зенит можно представить как 12 часов на аналоговых часах, а надир — как 6 часов.

Операция

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

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

Подробное описание алгоритма Chaocipher доступно [4], а также обсуждения расшифрованных открытых текстов [6] и решения проблемы Бирна. [7]

Обзор процесса шифрования

При наличии левого и правого дисков шифрование открытого текста состоит из пяти этапов:

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

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

Как зашифровать открытый текст

Найдите текстовое письмо

Рисунок 2. Расположение буквы «А» на правом (открытом) колесе Chaocipher

Предположим, мы хотим зашифровать букву «A». Найдите «A» на периферии диска открытого текста (справа). Вы можете увидеть выделенную букву открытого текста на рисунке 2.

Рисунок 3. Вознесение открытой буквы («А») в зенит

Пока диски задействованы, вращайте правый диск, чтобы привести букву открытого текста «А» в зенит (рисунок 3). Обратите внимание, как левый (шифровальный) диск вращается соответственно в противоположном направлении.

Буква в зените на шифровальном (левом) диске — это наша буква шифртекста (т. е. «С»).

На этом этапе мы завершили шифрование открытого текста в зашифрованный текст, т.е. «A» (pt) было зашифровано в «C» (ct).

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

Перестановка алфавитов

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

Переставить левое колесо

Рисунок 4. Пошаговые диаграммы перестановки левого колеса Chaocipher

Перестановка алфавита левого колеса включает в себя следующие общие шаги (рисунок 4):

  1. Физически извлеките буквенную вкладку, находящуюся в позиции зенит-1 (т.е. на одну позицию против часовой стрелки после зенита), удалив ее из алфавита диска, временно оставив незаполненную «дыру».
  2. Сдвиньте все буквенные вкладки в позициях зенит-2 (перемещаясь против часовой стрелки) вниз до надира (зенит-13) включительно, перемещая их синхронно на одну позицию по часовой стрелке. Это закроет текущую «дыру», оставив новую «дыру» в позиции надира.
  3. Вставьте ранее извлеченную буквенную вкладку в пустую позицию надира.

Перед выполнением шага перестановки левый диск должен выглядеть так, как показано на рисунке 4а.

Выполняя шаг (1), извлеките букву в позиции зенит-1 (т.е. «P»), оставив кратковременную «дырку» в этой позиции (рисунок 4b).

Для шага (2) сдвиньте все буквы в последовательности против часовой стрелки, начиная с зенита-2 («E») вниз до надира («O») включительно, перемещая последовательность («EDQRSTIXYLMO») как полный блок на одну позицию по часовой стрелке (рисунок 4c).

На последнем этапе (3) вставьте извлеченную букву ("P") обратно в алфавит в позицию надира. Левая часть теперь переставлена ​​и должна выглядеть как на рисунке 4d.

Переставить правое колесо

Рисунок 5. Пошаговые диаграммы перестановки правого колеса Chaocipher

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

  1. Разъедините два диска, поверните правый диск на одну позицию против часовой стрелки (т.е. текущая буква в зените должна повернуть в положение зенит-1) и снова соедините два диска.
  2. Физически извлеките буквенную вкладку, которая теперь находится в позиции зенит+2 (т.е. на две позиции по часовой стрелке после зенита), удалив ее из алфавита диска, оставив временно незаполненную «дыру».
  3. Сдвиньте все буквенные вкладки в позициях зенит+3 вниз до надира (зенит+13) включительно, сдвинув их в унисон на одну позицию против часовой стрелки. Это закроет текущую «дыру», оставив новую «дыру» в позиции надира.
  4. Вставьте ранее извлеченную буквенную вкладку в пустую позицию надира.

Давайте выполним вышеуказанные шаги на правом диске, используя наш пример. Правый диск должен выглядеть как схема на рисунке 5a. В этой конфигурации буква в зените — «A».

На шаге (1) сначала отсоедините два диска. Это позволит вращать правый диск (см. следующий шаг), не перемещая левый диск. Затем поверните диск на одну позицию против часовой стрелки, переместив букву «Y» в положение зенита (рисунок 5b). Наконец, снова соедините два диска.

На шаге (2) извлеките букву в позиции зенит+2 («N») из диска, временно оставив «отверстие» (рисунок 5c).

На шаге (3) сдвиньте одиннадцать буквенных вкладок от зенита+3 до зенита+13 (т.е. 'BQDSEFGHLWI') на одну позицию против часовой стрелки. Это закроет 'дыру' в зените-2, одновременно открыв новую 'дыру' в надире (рисунок 5d).

Для последнего шага (4) вставьте ранее извлеченную буквенную вкладку ("N") обратно в диск в положение надира. Это завершает перестановку правого диска, который теперь должен выглядеть как на рисунке 5e.

Рисунок 6. Диски Chaocipher готовы к следующему шифрованию/дешифрованию

Повторное включение дисков подготавливает систему к шифрованию следующей буквы открытого текста (рисунок 6).

Как расшифровать зашифрованный текст

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

Точки интереса

Генри Э. Ланген обсудил Chaocipher с Джоном Ф. Бирном

Генри Э. Ланген [8] , редактор информационного бюллетеня Американской ассоциации криптограмм «The Cryptogram» в 1952–1956 годах, сказал: «Он объяснил, что машина устроена как нечто вроде пишущей машинки с двумя вращающимися дисками, алфавиты которых расположены по периферии в полном беспорядке [...] При использовании всего двух дисков я немного сбит с толку тем, как это может привести к такой полной хаотизации открытого текста сообщения». [9]

Кто знал, как работает Chaocipher?

Хотя Джон Ф. Бирн представил сообщения о вызовах Chaocipher в своей автобиографической книге "Silent Years", он никогда не описывал, как работала система. Любой, кто брался за сообщения о вызовах, должен был делать это, не имея никаких знаний о системе.

До 2010 года по крайней мере три человека знали, как это работает: сын Бирна Джон и двое редакторов Cryptologia , которым Джон поделился базовым методом в 1990 году (то есть Лу Кру и Сайфер Девурс). [10]

В августе 2009 года Моше Рубин нашел невестку Бирна Патрисию Бирн (урожденную Ньюэй) , которая в мае 2010 года передала артефакты и документы Chaocipher своего свекра в Национальный криптологический музей. [11]

Ссылки

  1. Что такое Chaocipher?, The Chaocipher Clearing House, получено 8 августа 2010 г.
  2. ^ Бирн, Дж. Ф. 1953. Silent Years: An Autobiography with Memoirs of James Joyce and Our Ireland. Нью-Йорк: Farrar, Straus, and Young (переиздано в 1975 году Octagon Books, подразделением Farrar, Straus, and Giroux).
  3. Chaocipher Machine and Papers Архивировано 22 июля 2010 г. в Национальном криптографическом музее Wayback Machine , получено 2 июля 2010 г.
  4. ^ ab Rubin, Moshe (2 июля 2010 г.). "Chaocipher Revealed: The Algorithm" (PDF) . Получено 3 июля 2010 г.
  5. ^ Подстановочный шифр с псевдослучайным перемешиванием: динамический подстановочный комбайнер. Риттер, Т. 1990. Криптология. 14(4): 289-303. Получено 2 июля 2010 г.
  6. ^ Рубин, Моше (8 августа 2010 г.). "Chaocipher Revealed: Deciphering Exhibit #1" (PDF) . Получено 9 августа 2010 г.
  7. ^ Коуэн, Майк (декабрь 2010 г.). "Chaocipher: Solving Exhibits 1 and 4" (PDF) . Архивировано из оригинала (PDF) 2016-11-01.
  8. Биографическая информация Генри Э. Лангена, The Chaocipher Clearing House, получено 2 июля 2010 г.
  9. Запись Лангена о Chaocipher в его личных мемуарах «Криптография — Конфиденциально»
  10. ^ "Трагическая история Дж. Ф. Бирна". PurpleHunt.com. 1998. 17 августа 2007 г. Архивировано 7 августа 2007 г., на Wayback Machine
  11. ^ NCM приобретает артефакты и документы Chaocipher

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

Внешние ссылки