Енигма (машина): Разлика между версии
Изтрито е съдържание Добавено е съдържание
мРедакция без резюме |
|||
Ред 5:
Думата „Enigma“ идва от [[Гръцки език|гръцката дума]] αίνιγμα и означава „загадка“.
[[Картинка:Enigma.jpg|thumb
==История==
[[Картинка:Scherbius-1928-patent.png|thumb|Патент, издаден на д-р [[Артур Шербиус]]<ref>[http://www.pat2pdf.org/patents/pat1657411.pdf Патентът на д-р Шербиус (PDF; 0,7 MB)]</ref>.]]
За изобретател на Енигма се счита немският електроинженер д-р [[Артур Шербиус]]<ref>[http://www.nsa.gov/cch/cch00013.cfm Снимка на Шербиус на www.nsa.gow]</ref> (1878–1929 г.), който на 23 февруари 1918 г. получава първи патент<ref>''Chiffrierapparat'' DRP,
▲За изобретател на Енигма се счита немският електроинженер д-р [[Артур Шербиус]]<ref>[http://www.nsa.gov/cch/cch00013.cfm Снимка на Шербиус на www.nsa.gow]</ref> (1878–1929 г.), който на 23 февруари 1918 г. получава първи патент<ref>''Chiffrierapparat'' DRP Nr. 416 219</ref> за шифровата машина. За производството на машината на 9 юли 1923 г. в [[Берлин]] се създава Акционерно дружество „Шифрови машини“ (''Chiffriermaschinen - Aktiengesellschaft'') с адрес [[Берлин]], W.35 Steglitzer Str. 2. Първоначално Енигма е замислена като гражданска [[криптография|криптографска]] система, която да се продава свободно. Така например през 1923 г. е свободно предлагана за продажба на Международния пощенски конгрес в [[Берн]]. В края на 20-те години на ХХ век обаче военните институции проявяват засилен интерес към изобретението, така че машината скоро изчезва от цивилния пазар. Точно в началото на възхода на едва кретащото дотогава предприятие на Шербиус обаче, собственикът загива при нещастен случай. Фирмата на Шербиус е наследена през 1934 г. от Рудолф Хаймсьот и Елзбет Ринке. Двамата преустройват старата фирма на Шербиус и започват производството на Енигма в предприятието с ново име „Heimsoeth & Rinke“ в Берлин. Точно по това време в Германия изгрява [[Националсоциализъм|националсоциализмът]]. На нарастващата военна мощ на [[Нацистка Германия|Райха]] ѝ е необходима сериозна криптографска система, така че нищо вече не стои на пътя на възхода на Енигма.
{| style="margin: 1em auto 0 auto;"
Line 22 ⟶ 21:
Въпреки че шифърът на Енигма е слаб от криптографска гледна точка, на практика само съчетаването на фактори като операторски грешки, процедурни недостатъци и пленени машини Енигма и шифровъчни книги е позволило разчитането на шифрограмите<ref>Kahn (1991), Hinsley and Stripp (1993).</ref>.
===Описание===
[[Картинка:Enigma-action.svg|
Буквата <tt>A</tt> се шифрира различно при последователното натискане на един и същ клавиш първо като <tt>G</tt>, а след това като <tt>C</tt>. Сигналът преминава по друга електрическа верига заради завъртането на ротора.
Line 31 ⟶ 30:
Механичните части се движат, образувайки променяща се електрическа верига, тоест фактически шифрирането на буквите се осъществява електрически. При натискането на клавиш веригата се затваря, токът преминава през различните компоненти и накрая включва една от множеството лампички, изобразяваща буквата, която ще излезе на изхода. Например, при шифроване на съобщение, започващо с <tt>ANX...</tt>, операторът първо натиска клавиш A и светвала лампичка <tt>Z</tt>, тоест Z ставала първата буква на криптограмата. Операторът продължавал шифрирането с буквата <tt>N</tt> по същия начин и т.н.
[[Картинка:Enigma wiring kleur.svg|thumb
За обяснение на принципа на работа на Енигма вижте диаграмата вляво. ''Диаграмата е опростена, като са показани само 4 компонента — на практика механизмът се състои от 26 лампички, клавиши, ключове и електрически схеми вътре в роторите. Токът преминава от батерията (1) през превключвателя (2) в комутационния панел (3). Комутационният панел позволява сигналът да премине от клавиатурата (2) до неподвижното входно колело (4). По-нататък токът преминава през щекер (3), в конкретния пример неизползван, входното колело (4) и схемата на съединение на три (в армейския модел) или четири (във военноморския модел) ротора (5), от където влиза в рефлектора (6). Рефлекторът връща тока обратно по друг път през роторите (5) и входното колело (4), после през щекер 'S', съединен чрез кабел (8) с щекер 'D', през друг двупосочен превключвател (9), като захранва лампичката.''.
Така постоянното изменение на електрическата верига, през която преминава електричеството позволява да се постигне многобуквен шифър, който е сравнително високоустойчив за времето си. Ако операторът изпише „OTTO“, то последователно ще се засветят примерно лампите „PQWS“. Важно в криптографско отношение е, че заради завъртането на роторите една и съща буква се кодира по различен начин.
====Ротори====
</div>Лявата страна на ротора на Енигма. Виждат се плоските електрически контакти. На левия ръб на ротора се вижда единичен зъбец.]]▼
--></div>Дясната страна на ротора. Виждат се контакторите. Римското V показва проводника в ротора.]]▼
[[Ротор]]ите са сърцето на Енигма. Всеки ротор представлява диск с [[диаметър]] около 10 [[Сантиметър|cm]], изработен от твърда [[гума]] или [[бакелит]], с [[пружина|пружинни]] контактори от едната страна на ротора, разположени в [[кръг]]. От другата страна има съответното количество плоски електрически контакти. Всяка двойка съответства на буква от азбуката, обикновено 26-те букви от A до Z. При допир контактите на съседни ротори затварят електрическа верига. Вътре в ротора всеки контактор е съединен с друг от плоските контакти. Редът на съединяване може да е произволен.
[[Картинка:enigma-rotors.jpg|220px|мини|ляво|Три ротора и шпиндела (оста), на която са закрепени.]]▼
Роторът сам по себе си извършва най-простия тип шифриране — замяна на една буква с друга. Например контактът, отговарящ за буквата <tt>Е</tt>, може да е свързан с контакта на буквата <tt>Т</tt> от другата страна на ротора и тогава всички букви „Е“ в шифрирания текст биха били заменени с „Т“. Но при използването на няколко взаимосвързани ротора (обикновено три или четири), при тяхното въртене се получава много по-надеждно шифриране.
Роторът може да заема една от 26 възможни позиции в машината. Той може да бъде завъртян до друга позиция ръчно посредством назъбения роторен палец, който се подава навън, както се вижда на [[#Процедури по настройка|Снимката]]. За да може операторът винаги да определя положението на ротора, на венеца на всеки от тях в кръг са изписани буквите от азбуката и само една от тях се вижда през прозорчето. В първите модели Енигма азбучното колело било фиксирано, а в по-късните версии конструкцията била усложнена и то можело да се регулира. Всеки ротор имал една или няколко зъба, използвани за управление на движението на роторите. Във военните версии зъбите били разположени на азбучното колело.
<center><gallery>
▲
▲
▲Картинка:Enigma-rotor-
</gallery></center>
Военните модели Енигма се произвеждали с различен брой ротори. Първият модел имал едва три, от [[15 декември]] [[1938]] г. те станали пет, но само три от тях се използвали едновременно в машината. Тези ротори били маркирани с римските числа от I до V, и всеки от тях имал по един зъбец, разположен на различни места в азбучното колело. Военноморските модели винаги имали повече ротори, отколкото другите – по шест, седем или дори осем. Тези допълнителни ротори били маркирани с числата VI, VII и VIII, като всеки от тях имал различни електропроводници. Имали по два зъбеца около буквите 'N' и 'A', поради което се завъртали по-често.▼
Четирироторният военно-морски модел Енигма-M4 имал един допълнителен ротор, въпреки че бил с размерите на трироторен. Това се постигало с по-тънък рефлектор. Имало два типа допълнителен ротор — Бета и Гама. Те не се движели в процеса на шифриране, но можели да бъдат преместени ръчно на която и да е от 26 различни позиции.▼
{| class="toccolours" style="background:white; margin:1em auto; clear:both; font-size:94%;"
Line 76 ⟶ 73:
|}
====Стъпково движение====▼
▲Военните модели Енигма се произвеждали с различен брой ротори. Първият модел имал едва три, от [[15 декември]] [[1938]] г. те станали пет, но само три от тях се използвали едновременно в машината. Тези ротори били маркирани с римските числа от I до V, и всеки от тях имал по един зъбец, разположен на различни места в азбучното колело. Военноморските модели винаги имали повече ротори, отколкото другите – по шест, седем или дори осем. Тези допълнителни ротори били маркирани с числата VI, VII и VIII, като всеки от тях имал различни електропроводници. Имали по два зъбеца около буквите 'N' и 'A', поради което се завъртали по-често.
[[Картинка:Enigma ratchet.png|right|thumb
▲Четирироторният военно-морски модел Енигма-M4 имал един допълнителен ротор, въпреки че бил с размерите на трироторен. Това се постигало с по-тънък рефлектор. Имало два типа допълнителен ротор — Бета и Гама. Те не се движели в процеса на шифриране, но можели да бъдат преместени ръчно на която и да е от 26 различни позиции.
▲===Стъпково движение===
▲[[Картинка:Enigma ratchet.png|right|thumb|220px|Стъпаловидно движение на роторите на Енигма. И трите езичета (обозначени със зелен цвят) се движат едновременно. За първия ротор (1), зъбният запиращ механизъм (в червено) е винаги застопорен и роторът се завърта при всяко натискане на клавиша. В този случай зъбецът на първия ротор позволява на езичето да се зацепи и за втория ротор (2), и той ще се завърти при следващото натискане на клавиш. Третият ротор (3) не е зацепен, тъй като езичето му не е попаднало в зъбеца на втория и просто ще се плъзга по повърхността на диска.]]
Всеки ротор бил прикрепен към зъбно колело с 26 зъба (зъбен запиращ механизъм), а групата езичета се зацепвала в зъбите на това колело. Езичетата се измествали напред едновременно с натискането на клавиш на машината. Ако езичето зацепвало зъб на запиращия механизъм, роторът се завъртал с една стъпка.
В армейския модел на Енигма всеки ротор бил прикрепен към регулируемо колело със зъбци. Петте базови ротора (I-V) имали по един зъбец, докато военно-морският модел (VI-VIII) имал по два. В даден момент зъбецът попадал срещу езичето, позволявайки му да се зацепи за зъбния запиращ механизъм на следващия ротор при последващото натискане на клавиш. Когато обаче езичето не попадало в зъбец, то просто се плъзгало по повърхността на колелото, без да се зацепва за механизма. В система с един зъбец вторият ротор се измествал напред с една позиция за същото време, за което първият се измествал с 26 позиции. Аналогично третият се премествал с една позиция за времето, за което втория правел 26 стъпки. Специфична особеност на машината била, че вторият ротор също се местел, ако се премествал третия. Това означава, че втория ротор може да се премести два пъти при две последователни натискания на клавиши — така нареченото „двустъпково движение“, което водело до намаляване на [[период]]а.<ref>David Hamer,
Двустъпковото движение различава работата на роторите от тази на обикновения километражен брояч. Двойната стъпка действала по следния начин: първият ротор се завъртал, карайки втория също да направи една стъпка. И ако втория попаднел в необходимата позиция, третото езиче се зацепвало в третия запиращ зъбен механизъм. На следващата стъпка това езиче бутало запъващия механизъм и го премествало, премествайки същевременно и третия ротор.
Line 93 ⟶ 86:
В четирироторните военно-морски модели нямало изменения в механизма. Четвъртият ротор не се въртял, но можел да бъде сложен ръчно на която и да е от наличните 26 позиции.
[[Картинка:Enigma-rotor-stack.jpg|
====Входно колело====
Входното колело (на немски Eintrittswalze), или входният [[статор]], съединявало комутационния панел или клавиатурата и ламповия панел с роторите. Въпреки че фиксираното свързване на проводниците имало сравнително малка роля в осигуряването на сигурността на криптограмите, то точно този елемент се оказал значително препятствие в работата на полския криптоаналитик Мариан Рейевски.
Line 102 ⟶ 95:
Само интуицията позволила на Рейевски да промени разчетите и да реши [[Уравнение|уравнението]].
====Рефлектор====
С изключение на ранните модели A и B, след последния ротор бил разположен ''рефлекторът'' (на немски Umkehrwalze, съкратено UKW), патентован детайл, отличаващ машините Енигма от другите роторни машини, разработени по това време. Рефлекторът съединявал контактите на последния ротор по чифтове, комутирайки ток през роторите в обратно направление, но по друг маршрут. Наличието на рефлектор гарантирало, че преобразуванието, което извършва Енигма е [[инволюция (математика)|инволюция]], т.е. дешифрирането е същото, което е и шифрирането. Наличието на рефлектора обаче правело невъзможно която и да е буква да бъде шифрирана чрез самата себе си. Това бил сериозен концептуален недостатък, който по-късно малко облекчил работата на дешифровчиците.
В търговския модел на Енигма-C рефлекторът можел да бъде поставян в две различни позиции, а в модел D — в 26 възможни позиции, но в самия процес на шифриране бил неподвижен. В модела, използван от [[Абвер]]а, рефлекторът се движел по време на шифриране, както и останалите дискове.
В армейския и военно-въздушния модели на Енигма рефлекторът бил фиксиран и не можел да се върти. Имало четири разновидности. Оригиналната версия била белязана с ''A'' и била заменена с ''Umkehrwalze B'' на 1 ноември 1937 г. Третата, ''Umkehrwalze C'' била използвана за кратко през 1940 г., вероятно поради проблеми<ref name="ukwd-1">Philip Marks,
Таблицата показва строго секретната (тогава) схема на завъртане на роторите на Енигма-I. Дадени са петте ротора от I до V и двата рефлектора B и C:
Line 124 ⟶ 117:
|}
====Комутационен панел====
[[Картинка:Enigma-plugboard.jpg|
''Комутационният панел'' (на немски Steckerbrett) позволява на оператора да променя свързването на проводниците. За първи път се появява в немските армейски версии през [[1930]] г. и скоро успешно е приложен и във военноморските версии. Комутационният панел има огромен принос в усложняването на шифроването на машината. Според експерти-криптографи, усложняването е дори по-сериозно, отколкото с въвеждането на допълнителен ротор. С Енигма, без комутационен панел, разбивачът на кодове би се справил на практика ръчно, но след добавянето на панела, това можело да стане само с конструирането на специални машини.
Line 133 ⟶ 126:
Всяка буква на комутационния панел имала две гнезда. Включването на щепсела разделяло горното гнездо от клавиатурата и долното гнездо (към входния ротор) на тази буква. Щепселът на другия край на кабела се слагал в гнездото на друга буква, като по този начин ги превключвал една към друга.
====Приставки====
*Удобно допълнение към Енигма модел M4, бил така нареченият „Schreibmax” – печатащо устройство, което можело да печата всичките 26 букви на малък лист хартия. Така отпадала нуждата от допълнителен оператор, който да следи светването на лампичките и да записва буквите. Печатното устройство се поставяло върху Енигма и се свързвало с панела с лампички. За целта капачетата на лампичките и самите лампички се отстранявали. Това допълнително устройство повишавало сигурността, тъй като офицерът-свързочник нямало нужда да вижда незашифрования текст. Печатащото устройство можело да се изнесе в кабината на капитана на подводницата, а офицерът-свързочник само да въвежда зашифрования текст, без да има достъп до секретната информация.
Line 140 ⟶ 133:
*През 1944 г. военновъздушните сили въвели допълнителен превключвател на комутационния панел, наречен „Uhr“ (час). Това била малка кутия, съдържаща превключвател с 40 позиции. Той заменял стандартните щепсели. След свързването на щепселите според зададената в списъка на кодовете за деня схема, операторът можел да смени положението на превключвателя на една от тези 40 позиции. Всяка позиция водела до различна комбинация на шифриране.
====Математическо описание====
[[Картинка:Enigma-logo.jpg
Преобразуването на всяка буква от Енигма може да бъде определено математически като резултат от [[пермутация]]. Да разгледаме трироторния армейски модел. Нека с P обозначим комутационния панел, с U - отражателя, а L, М, R да обозначават съответно действията на левия, средния и десния ротори. Тогава шифрирането с Енигма - Е може да бъде изразено като
Line 151 ⟶ 144:
:<math>E = P(\rho^iR\rho^{-i})(\rho^{j}M\rho^{-j})(\rho^{k}L\rho^{-k})U(\rho^kL^{-1}\rho^{-k})(\rho^{j}M^{-1}\rho^{-j})(\rho^{i}R^{-1}\rho^{-i})P^{-1}</math>
===Процедури за използване на Енигма===
[[Картинка:Kenngruppenheft.jpg|
В германските въоръжени сили средствата за свръзка били разделени в отделни мрежи, като всяка от тях имала собствени настройки за кодиране за машините Енигма. В английския център за дешифриране [[Блечли Парк]] (Bletchley Park) тези комуникационни мрежи се наричали ключове (''keys'') и им били давани кодови имена като Red, Chaffinch или Shark. На всяка единица, работеща в мрежата за определен период от време важали определени настройки, които след това трябвало да бъдат променяни. За да бъдело съобщението правилно шифрирано и дешифрирано, машините на изпращащия и приемащия трябвало да бъдат настроени еднакво. Идентични трябвало да бъдат: изборът на ротори, началните позиции на роторите и връзките в комутационния панел. Тези настройки се уточнявали предварително и се записвали в специални шифрови книги.
Line 166 ⟶ 159:
Енигма била разработена така, че секретността да бъде опазвана дори тогава, когато на противника са известни роторните схеми, макар и самите те да били пазени в тайна. С неизвестна схема общото количество възможни конфигурации възлиза на около 10<sup>114</sup> (приблизително 380 бита), а с известна схема на връзките и другите операционни настройки този показател спада до около 10<sup>23</sup> (76
бита).<ref>[http://www.nsa.gov/publications/publi00004.cfm National Security Agency - NSA/CSS]</ref> Потребителите на Енигма се чувствали сигурни при нейната употреба, заради този висок брой възможности.
====Процедури по настройка====
Повечето от ключовете се съхранявали само за ограничен период от време, обичайно за денонощие, но за всяко ново съобщение се задавали нови начални позиции на роторите. Това се налагало, защото ако има твърде много съобщения, изпратени с идентични настройки, криптоаналитикът, използвайки честотния анализ може да намери шифъра на съобщенията. Подобна идея се използва в принципа „инициализиран [[вектор]]“ в съвременното шифриране. Тези начални позиции се изпращали заедно с криптограмата, преди шифрирания текст. Този принцип се нарича „индикационна процедура“. Именно слабостта на подобни индикационни процедури довела до първите успешни случаи на разбиване на кода на Енигма.
[[Картинка:Enigma-rotor-windows.jpg|
Ранните индикационни процедури били използвани от полските криптоаналитици за разбиване на кода. При тези процедури операторът настройвал машината в съответствие със списъка настройки, които съдържат главните първоначални стартови позиции на роторите. Да предположим, че главната ключова дума е <tt>AOH</tt>. Операторът завъртал роторите ръчно, докато думата <tt>AOH</tt> не се изобрази на прозорчетата. След това операторът избирал свой собствен ключ за новото съобщение. Нека този ключ е думата <tt>EIN</tt>. Тази дума се въвеждала два пъти за да се избегнат грешки при предаването. Като резултат, след двойното въвеждане на <tt>AOH</tt> в криптограмата се изобразява думата <tt>XHTLOA</tt>, която предхождала тялото на основното съобщение. И накрая, операторът отново завъртал роторите в съответствие с избрания ключ, в случая <tt>AOH</tt>, след което въвеждал основния текст на съобщението.
Line 200 ⟶ 192:
|}
====Абревиатури и разпоредби====
Армейската версия на Енигма използвала само 26 букви. Другите символи се заменяли с редки комбинации от букви. Интервалът се пропускал или се заменял с Х. Символът „Х“ най-често се използвал за точка или за край на съобщението. В отделните подразделения се използвали специални символи. В шифрованите съобщения на армията запетайката се заменяла с ZZ, а въпросителния знак с FRAGE или FRAQ. В шифровките, използвани от военноморските сили, запетаята се заменяла с Y, а въпросителния знак — с комбинацията UD. Комбинацията от символи CH, например в думите „ACHT“ (осем), „RICHTUNG“ (направление), се заменяла със символа Q („AQT“, „RIQTUNG“). Две, три или четири нули се заменяли съответно с думите „CENTA”, „MILLE” и „MYRIA”.
Line 283 ⟶ 275:
|}
==Използвана литература==
====Библиография====
{{дребно2|1=
* {{ref-de}} Arthur O. Bauer:
* {{ref-de}} Friedrich L. Bauer:
* {{ref-en}} Zbigniew Brzezinski,
* {{ref-en}} Kris Gaj, Arkadiusz Orłowski:
* {{ref-en}} I. J. Good, Cipher A. Deavours, Nachwort zu Marian Rejewski,
* {{ref-en}} David H. Hamer:
* {{ref-en}} David H. Hamer et al.:
* {{ref-de}} Stephen Harper:
* {{ref-de}} Robert Harris:
* {{ref-en}} Francis Harry Hinsley, Alan Stripp:
* {{ref-de}} David Kahn:
* {{ref-en}} David Kahn:
* {{ref-fr}} Auguste Kerckhoffs:
* {{ref-de}} Rudolf Kippenhahn:
* {{ref-en}} Władysław Kozaczuk, Jerzy Straszak,
* {{ref-de}} Władysław Kozaczuk:
* {{ref-en}} Władysław Kozaczuk:
* {{ref-en}} Louis Kruh, Cipher Deavours:
* {{ref-de}} Oberkommando der Wehrmacht (OKW):
* {{ref-de}} OKW:
* {{ref-de}} OKW:
* {{ref-de}} Michael Pröse:
* {{ref-en}} Marian Rejewski:
* {{ref-de}} Klaus Schmeh:
* {{ref-en}} Claude Shannon:
* {{ref-de}} Simon Singh:
* {{ref-de}} Simon Singh:
* {{ref-en}} Geoff Sullivan, Frode Weierud:
* {{ref-de}} Heinz Ulbricht:
* {{ref-en}} Gordon Welchman:
* {{ref-en}} F. W. Winterbotham:
}}
====Бележки====
{{reflist|2}}
==Външни препратки==
{{commons|Enigma machine|Енигма}}
{{
* {{ref-ru}} [http://www.osp.ru/text/302/183294/_p1.html Тайната на проект Ultra
* {{ref-en}} [http://users.telenet.be/d.rijmenants/en/enigmasim.htm Енигма-симулация за Windows] (ENIGMA I, ENIGMA-M3 и M4, Freeware Download)
* {{ref-en}} [http://www.
* {{ref-en}} [http://users.telenet.be/d.rijmenants/en/challenge.htm Enigma Cipher Challenge] Състезание: Разбий десет кодирани с Енигма текстове!▼
* {{ref-de}} [http://wiesel.wlb-stuttgart.de/seekrieg/ultra/wicher.htm Тайната операция Wicher на полската тайна служба]
▲* [http://users.telenet.be/d.rijmenants/en/challenge.htm Enigma Cipher Challenge] Състезание: Разбий десет кодирани с Енигма текстове!
* {{ref-en}} [http://www.ellsbury.com/ultrafassongrazier.htm The pinch from ''U 559'']
▲* [http://www.bletchleypark.org.uk/ Официална статия на Bletchley Park] на английски
* {{ref-en}} [http://enigmadisplays.blogspot.com/ Къде можете да видите оригинални машини Енигма]▼
▲* [http://wiesel.wlb-stuttgart.de/seekrieg/ultra/wicher.htm Тайната операция Wicher на полската тайна служба] на немски
▲* [http://www.ellsbury.com/ultrafassongrazier.htm The pinch from ''U 559''] на английски
▲* [http://www.bytereef.org/m4_project.html Съвременно разшифроване на M4] на английски
▲* [http://www.nsa.gov/publications/publi00016.cfm Решаването на Енигма]
▲* [http://enigmadisplays.blogspot.com/ Къде можете да видите оригинални машини Енигма]
{{Избрана статия|1276049|3 ноември 2007}}
|