Автор работы: Пользователь скрыл имя, 28 Ноября 2012 в 02:13, реферат
Эни́гма (от греч. αίνιγμα — загадка) — портативная шифровальная машина, использовавшаяся для шифрования и дешифрования секретных сообщений. Более точно, Энигма — целое семейство электромеханических роторных машин, применявшихся с 20-х годов XX века.
Энигма использовалась в коммерческих целях, а также в военных и государственных службах во многих странах мира, но наибольшее распространение получила в нацистской Германии во время Второй мировой войны — именно Энигма вермахта (Wehrmacht Enigma) — германская военная модель — чаще всего является предметом дискуссий.
В коммерческой модели Энигмы C рефлектор мог быть расположен в двух различных позициях, а в модели D — в 26 возможных позициях, но при этом был неподвижен в процессе шифрования. В модели, применявшейся в абвере, рефлектор двигался во время шифрования, как и остальные диски.
В армейской и военно-воздушной модели Энигмы рефлектор был установлен, но не вращался. Он существовал в четырёх разновидностях. Первая разновидность была помечена буквой A. Следующая, Umkehrwalze B была выпущена 1 ноября 1937 года. Третья, Umkehrwalze C появилась в 1941 году. Четвёртая, Umkehrwalze D, впервые появившаяся 2 января 1944 года, позволяла оператору Энигмы управлять настройкой коммутации внутри рефлектора.
Коммутационная панель
Коммутационная панель в передней части машины. Могло использоваться до 13 соединений. На фотографии переключены две пары букв (S—O и J—A).
Коммутационная панель (нем. Steckerbrett) позволяет оператору варьировать соединения проводов. Впервые она появилась в немецких армейских версиях в 1930 году и вскоре успешно использовалась и в военно-морских версиях. Коммутационная панель внесла огромный вклад в усложнение шифрования машины, даже больший, чем введение дополнительного ротора. С Энигмой без коммутационной панели можно справиться практически вручную, однако после добавления коммутационной панели взломщики были вынуждены конструировать специальные машины.
Кабель, помещённый на коммутационную панель, соединял буквы попарно, например, E и Q могли быть соединены в пару. Эффект состоял в перестановке этих букв до и после прохождения сигнала через роторы. Например, когда оператор нажимал E, сигнал направлялся в Q, и только после этого уже во входной ротор. Одновременно могло использоваться несколько таких пар (до 13).
Каждая буква на коммутационной панели имела два гнезда. Вставка штепселя разъединяла верхнее гнездо (от клавиатуры) и нижнее гнездо (к входному ротору) этой буквы. Штепсель на другом конце кабеля вставлялся в гнезда другой буквы, переключая тем самым соединения этих двух букв.
Аксессуары
Удобной деталью, использовавшейся на Энигме модели M4, был так называемый «Schreibmax», маленькое печатающие устройство, которое могло печатать все 26 букв на небольшом листе бумаги. В связи с этим, не было необходимости в дополнительном операторе, следящем за лампочками и записывающем буквы. Печатное устройство устанавливалось поверх Энигмы и было соединено с панелью лампочек. Чтобы установить печатающее устройство, необходимо было убрать крышечки от ламп и все лампочки. Кроме того, это нововведение повышало безопасность: теперь офицеру-связисту не обязательно было видеть незашифрованный текст. Печатающее устройство было установлено в каюте командира подводной лодки, а офицер-связист только вводил зашифрованный текст, не получая доступа к секретной информации.
Другим аксессуаром была отдельная удалённая панель с лампочками. В варианте с дополнительной панелью деревянный корпус Энигмы был более широким. Существовала модель панели с лампочками, которая могла быть впоследствии подключена, но это требовало, как и в случае с печатающим устройством «Schreibmax», замены заводской панели с лампочками. Удалённая панель позволяла человеку прочитать расшифрованный текст без участия оператора. В 1944 году военно-воздушные силы ввели дополнительный переключатель коммутационной панели, названный «Uhr» (часы). Это была небольшая коробка, содержащая переключатель с 40 позициями. Он заменял стандартные штепсели. После соединения штепселей, как определялось в списке кодов на каждый день, оператор мог поменять переключатель в одной из этих 40 позиций. Каждая позиция приводила к различной комбинации телеграфирования штепселя. Большинство из этих соединений штепселей, в отличие от стандартных штепселей, были непарными.
Математическое описание
Преобразование Энигмы для каждой буквы может быть определено математически как результат перестановок. Рассмотрим трёхроторную армейскую модель. Положим, что P обозначает коммутационную панель, U обозначает отражатель, а L, M, R обозначают действия левых, средних и правых роторов соответственно. Тогда шифрование E может быть выражено как:
После каждого нажатия клавиш ротор движется, изменяя трансформацию. Например, если правый ротор R проворачивается на i позиций, происходит трансформация , где ρ — циклическая перестановка, проходящая от A к B, от B к C, и так далее. Таким же образом, средний и левый ротор могут быть обозначены как j и k вращений M и L. Функция шифрования в этом случае может быть отображена следующим образом:
Процедуры для использования Энигмы
В германских вооружённых силах средства связи были разделены на разные сети, причём у каждой были собственные настройки кодирования для машин Энигмы. В английском центре дешифровки Блетчли-Парк (англ. Bletchley Park) эти коммуникационные сети именовались ключами и им были присвоены кодовые имена, такие как Red, Chaffinch или Shark. Каждой единице, работающей в сети, на новый промежуток времени назначались новые настройки. Чтобы сообщение было правильно зашифровано и расшифровано, машины отправителя и получателя должны были быть одинаково настроены, конкретно идентичными должны были быть: выбор роторов, начальные позиции роторов и соединения коммутационной панели. Эти настройки оговаривались заранее и записывались в специальных шифровальных книгах.
Первоначальное состояние шифровального ключа Энигмы включает следующие параметры:
Энигма была разработана таким образом, чтобы безопасность сохранялась даже в тех случаях, когда шпиону известны роторные схемы, хотя на практике настройки хранятся в секрете. С неизвестной схемой общее количество возможных конфигураций может быть порядка 10114 (около 380 бит), с известной схемой соединений и других операционных настроек этот показатель снижается до 1023 (76 бит). Пользователи Энигмы были уверены в её безопасности из-за большого количества возможных вариантов. Нереальным было даже начать подбирать возможную конфигурацию.
Индикаторы
Большинство ключей хранилось лишь определённый период времени, обычно сутки. Однако для каждого нового сообщения задавались новые начальные позиции роторов. Это обуславливалось тем, что если число сообщений, посланных с идентичными настройками, будет велико, то криптоаналитик, досконально изучивший несколько сообщений, может подобрать шифр к сообщениям, используя частотный анализ. Подобная идея используется в принципе «инициализационного вектора» в современном шифровании. Эти начальные позиции отправлялись вместе с криптограммой, перед зашифрованным текстом. Такой принцип именовался «индикаторная процедура». И именно слабость подобных индикационных процедур привела к первым успешным случаям взлома кода Энигмы.
Одни из ранних индикационных процедур использовались польскими криптоаналитиками для взлома кода. Процедура заключалась в том, что оператор настраивал машину в соответствии со списком настроек, которые содержат главные первоначальные стартовые позиции роторов. Допустим, главное ключевое слово — AOH. Оператор вращал роторы вручную до тех пор, пока слово AOH не читалось в роторных окошках. После этого оператор выбирал свой собственный ключ для нового сообщения. Допустим, оператор выбрал слово EIN. Это слово становилось ключевым для данного сообщения. Далее оператор ещё один раз вводил слово EIN в машину для избежания ошибок при передаче. В результате, после двойного ввода слова EIN в криптограмме отображалось слово XHTLOA, которое предшествовало телу основного сообщения. И наконец, оператор снова поворачивал роторы в соответствии с выбранным ключом, в данном примере EIN, и вводил далее уже основной текст сообщения.
При получении данного шифрованного сообщения вся операция выполнялась в обратном порядке. Оператор-получатель вводил в машину начальные настройки (ключевое слово AOH) и вводил первые шесть букв полученного сообщения (XHTLOA). В приведённом примере отображалось слово EINEIN, то есть оператор-получатель понимал, что ключевое слово — EIN. После этого он устанавливал роторы на позицию EIN, и вводил оставшуюся часть зашифрованного сообщения, на выходе получая чистый дешифрованный текст.
В этом методе было два недостатка. Во-первых, использование главных ключевых настроек. Впоследствии это было изменено тем, что оператор выбирал собственные начальные позиции для шифрования индикатора и отправлял начальные позиции в незашифрованном виде. Вторая проблема состояла в повторяемости выбранного оператором-шифровщиком слова-индикатора, которая была существенной трещиной в безопасности. Ключ сообщения шифровался дважды, в результате чего прослеживалось закономерное сходство между первым и четвёртым, вторым и пятым, третьим и шестым символами. Этот недостаток позволил польским дешифровщикам взломать код Энигмы уже в 1932 году. Однако, начиная с 1940 года, немцы изменили процедуры для повышения безопасности.
Во время Второй мировой войны немецкие операторы использовали шифровальную книгу только для установки роторов и настройки колец. Для каждого сообщения оператор выбирал случайную стартовую позицию, к примеру, WZA, и случайный ключ сообщения, допустим, SXT. Далее оператор устанавливал роторы в стартовую позицию WZA, и шифровал ключ сообщения SXT. Предположим, что в результате получится UHL. После этого оператор устанавливал слово SXT как начальную позицию роторов и ключ к сообщению. Далее он отправлял стартовую позицию WZA и шифровальный ключ UHL вместе с сообщением. Получатель устанавливал стартовую позицию роторов в соответствии с первой триграммой WZA и расшифровывал вторую триграмму, UHL, для распознания ключа сообщения SXT. Далее получатель использовал этот ключ как стартовую позицию для расшифровки сообщения. Таким образом, каждый раз главный ключ оказывался различным и был ликвидирован недостаток, свойственный процедуре с двойным шифрованием ключа.
Аббревиатуры и директивы
Армейская версия Энигмы использовала только 26 букв. Прочие символы заменялись редкими комбинациями букв. Пробел пропускался либо заменялся на X. Символ X в основном использовался для обозначения точки либо конца сообщения. В отдельных подразделениях использовались некоторые особые символы. В шифровках армии запятая заменялась на сочетание ZZ, а вопросительный знак — на FRAGE либо FRAQ. В шифровках, использовавшихся военно-морскими силами, запятая заменялась на Y, а вопросительный знак — на комбинацию UD. Комбинация символов CH, например, в словах «ACHT» (восемь), «RICHTUNG» (направление) заменялась символом Q («AQT», «RIQTUNG»). Два, три или четыре нуля заменялись словами «CENTA», «MILLE» и «MYRIA» соответственно.
Шифровальщики в армии и люфтваффе отправляли сообщения группами по пять символов. Военно-морские шифровальщики, использующие, как сказано выше, четырёхроторные машины, отправляли сообщения группами по четыре символа. Часто употребляемые слова и имена очень сильно варьировались. Например, слово «Minensuchboot» могло быть написано как «MINENSUCHBOOT», «MINBOOT», «MMMBOOT» или «MMM354». Чтобы осложнить криптоанализ, отдельные сообщения не содержали более 250 символов. Более длинные сообщения разбивались на части, и каждая часть использовала свой ключ. Кроме того, иногда операторы специально забивали зашифрованные сообщения «мусором» (например, бессвязный набор букв, несвязанные с основным текстом слова́), для усложнения дешифровки перехватов противником.
История и развитие машины
Семейство шифровальных машин Энигма насчитывает огромное количество моделей и вариаций дизайна. Ранние модели были коммерческими, начиная с 1920-х годов. Начиная с середины 1920-х различные немецкие военные службы стали использовать эти машины, внося большое количество собственных изменений для повышения безопасности. Кроме того, другие страны использовали чертежи Энигмы для создания своих собственных шифровальных машин.
Коммерческая Энигма
Логотип машины Энигма
18 февраля 1918 года немецкий инженер Артур Шербиус (Arthur Scherbius) запросил патент на шифровальную машину, использующую роторы, и совместно с Рихардом Риттером (E. Richard Ritter) основал фирму Шербиус и Риттер (Scherbius & Ritter). Они пытались наладить отношения с германским военно-морским флотом и с Министерством иностранных дел, но на тот момент те не были заинтересованы в шифровальных машинах. В дальнейшем они зарегистрировали патенты на предприятие Геверкшафт Секуритас (Gewerkschaft Securitas), которое 9 июля 1923 года основало корпорацию производителей шифровальных машин Chiffriermaschinen Aktien-Gesellschaft. Шербиус и Риттер состояли в совете директоров этой корпорации.
Корпорация Chiffriermaschinen AG начала рекламировать роторную машину, Энигму модели «A», которая была выставлена на обозрение на конгрессе Международного почтового союза в 1923 и 1924 годах. Машина была тяжёлой и очень большой и напоминала печатную машину. Её размеры были 65×45×35 см, и весила она около 50 кг. Потом была представлена модель «B» подобной же конструкции. Первые две модели «A» и «B» были совсем не похожи на более поздние версии. Они были различных размеров и формы. Отличались они и с шифровальной точки зрения — в ранних версиях не хватало рефлектора.
Рефлектор — идея, предложенная коллегой Шербиуса Вилли Корном (Willi Korn) — впервые был внедрён в Энигме модели «C» (1926). Рефлектор был ключевой особенностью Энигмы.