«Ені́гма» () — шифрувальна машина часів Другої світової війни.
Сутність «Енігма» — типовий представник класу так званих дискових шифрувальних машин, оскільки основою її механізму є диски з 26-ма перепайками. Перші згадки про «Енігму» стосуються 1918 року.
Використовували її для шифрування і дешифрування секретних повідомлень. Точніше, «Енігма» — це ціла родина електромеханічних роторних машин, які застосовували з 20-х років XX століття.
«Енігму» використовували в комерційних цілях, а також у військових і державних службах у багатьох країнах світу, однак найбільшого поширення набула в нацистській Німеччині під час Другої світової війни. Найчастіше згадується саме «Енігма» вермахту (Wehrmacht Enigma) — німецька військова модель. У грудні 1932 польські шифрувальники вперше зламали німецькі військові шифри «Енігми». Ця машина отримала погану славу, оскільки криптоаналітики антигітлерівської коаліції могли розшифрувати велику кількість повідомлень, зашифрованих з її допомогою. Спеціально для цих цілей була створена машина з кодовою назвою «Бомба», що надала значну перевагу антигітлерівській коаліції у війні. Вся інформація, отримана криптоаналізом з її допомогою, мала кодову назву ULTRA.
Хоча з погляду криптографії шифр «Енігми» був слабкий, на практиці тільки поєднання цього чинника з іншими, такими як помилки операторів, процедурні вади, припущення про текст повідомлень (наприклад, у разі передачі метеозведень) і захоплення екземплярів «Енігми» і шифрувальних книг, дало змогу розгадувати шифри і читати повідомлення.
Опис
Як й інші роторні машини, «Енігма» складалася з комбінації механічних і електричних систем. Механічна частина включала клавіатуру, набір обертових дисків (роторів), які були розташовані уздовж валу і прилягали до нього, і ступінчастого механізму, який рухав один або більше роторів при кожному натисненні клавіші. Конкретний механізм роботи міг різнитися, але загальний принцип був такий: при кожному натисненні клавіші крайній справа ротор зміщувався на одну позицію, а за певних умов зміщувалися й інші ротори. Рух роторів призводив до різних криптографічних перетворень з кожним наступним натисненням клавіші на клавіатурі.
Механічні частини рухалися, утворюючи електричний контур, що змінюється, тобто, фактично шифрування букв здійснювалося електрично. У разі натиснення клавіш контур замикався, струм проходив через різні компоненти і в результаті вмикав одну з багатьох лампочок, яка відображала букву, що виводилася.
Наприклад, якщо шифрувалося повідомлення, яке починається з ANX, оператор спочатку натискав кнопку A, і спалахувала лампочка Z, тобто Z ставала першою буквою криптограми. Потім оператор так само шифрував N і так далі.
Для пояснення принципу роботи «Енігми» наведено діаграму ліворуч. Діаграма спрощена: насправді механізм складався з 26 лампочок, клавіш, перемикачів і електричних схем усередині роторів. Струм йшов з батареї (1) через перемикач (2) в комутаційну панель (3). Комутаційна панель давала змогу перекомутувати з'єднання між клавіатурою (2) і нерухомим вхідним колесом (4). Далі струм проходив через роз'єм (3), в цьому прикладі невживаний, вхідне колесо (4) і схему з'єднань трьох (в армійській моделі) або чотирьох (у військово-морській моделі) роторів (5) і входив у рефлектор (6). Рефлектор повертав струм назад через ротори і вхідне колесо, але вже іншим шляхом, далі через роз'єм «S», сполучений з роз'ємом «D», через інший перемикач (9), і запалювалася лампочка.
Отож постійна зміна електричного кола, через яке йшов струм, внаслідок обертання роторів давала змогу реалізувати багатоалфавітний шифр підстановки, що давало високу стійкість шифру для того часу.
Ротори
Ротори — це серце «Енігми». Кожен ротор був диском з діаметром приблизно 10 см, зроблений з твердої гуми або бакеліту, з пружинними штировими контактами на одному боці ротора, розташованими по колу. На іншому боці була відповідна кількість плоских електричних контактів. Штиреві і плоскі контакти відповідали буквам в алфавіті, зазвичай це були 26 букв від A до Z. При зіткненні контакти сусідніх роторів замикали електричне коло. Усередині ротора кожен штиревий контакт був сполучений з одним з плоских. Порядок з'єднання міг бути різним.
Сам по собі ротор виробляв дуже простий тип шифрування: елементарний шифр заміни. Наприклад, контакт, що відповідає за букву E, міг бути сполучений з контактом букви T на іншій стороні ротора. Але при використанні кількох роторів у зв'язці (зазвичай трьох або чотирьох) завдяки їх постійному руху виходить надійніше шифрування.
Військові моделі «Енігми» випускалися з різною кількістю роторів. Перша модель містила лише три, 15 грудня 1938 року їх стало п'ять, але тільки три з них одночасно використовувалися в машині. Ці типи роторів були позначені римськими числами від I до V, і у кожного була одна виїмка, розташована в різних місцях алфавітного кільця. У військово-морських моделях завжди було більше роторів, ніж в інших: шість, сім або вісім. Ці додаткові ротори позначалися числами VI, VII і VIII, всі з різною електропроводкою. Усі вони містили по дві виїмки біля букв «N» і «A», що забезпечувало частіші повороти роторів.
Чотирироторна військово-морська модель «Енігми», M4 мала один додатковий ротор, хоча була такого ж розміру, як і трироторна, завдяки тоншому рефлектору. Існували два типи цього ротора: Бета і Гамма. В процесі шифрування він не рухався, але міг бути встановлений вручну на будь-яку з 26 різних позицій.
Ротори I — V «Енігми»: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z I E K M F L G D Q V Z N T O W Y H X U S P A I B R C J II A J D K S I R U X B L H W T M C Q G Z N P Y F V O E III B D F H J L C P R T X V Z N Y E I W G A K M U S Q O IV E S O V P Z J A Y Q U I R H X L N F T G K D C M W B V V Z B R G I T Y U P S D N H L X A W M J Q O F E C K
Ротори VI — VIII, Beta та Gamma A B C D E F G H I J K L M N O P Q R S T U V W X Y Z VI J P G V O U M F Y Q B E N H Z R D K A S X L I C T W VII N Z J H G R C X M Y S W B O U F A I V L P E K Q D T VIII F K Q H T L X O C B J S P D Z R A M E W N I U Y G V Beta L E Y J V C N I X W P B Q M D R T A K Z G F U H O S Gamma F S O K A N U E R H M B T I Y C W L Q P Z X V G J D
Ступінчастий рух роторів
Кожен ротор був прикріплений до шестерні з 26 зубцями (храповика), а група собачок зачіпляла зубці шестерень. Собачки висувалися вперед одночасно з натисненням клавіші на машині. Якщо собачка чіпляла зубець шестерні, то ротор обертався на один крок.
В армійській моделі «Енігми» кожен ротор був прикріплений до регульованого кільця з виїмками. П'ять базових роторів (I — V) мали по одній виїмці, тоді як у військово-морській моделі (VI — VIII) — по дві. У певний момент виїмка потрапляла навпроти «собачки», дозволяючи їй зачепити храповик наступного ротора при наступному натисненні клавіші. Коли ж «собачка» не потрапляла у виїмку, вона просто прослизала по поверхні кільця, не чіпляючи шестерні. У системі з однією виїмкою другий ротор просувався вперед на одну позицію за той же час, за який перший — на 26. Аналогічно, третій ротор просувався на один крок за той самий час, за який другий робив 26 кроків. Особливістю машини було те, що другий ротор також обертався, якщо обертався третій. Це означає, що другий ротор міг обернутися двічі при двох послідовних натисненнях клавіш — так званий «двокроковий рух», що призводило до зменшення періоду.
Двокроковий рух відрізняє функціонування роторів від нормального одометра. Подвійний крок реалізовувався таким чином: перший ротор обертався, примушуючи другий також обернутися на один крок. І, якщо другий ротор просунувся в потрібну позицію, то третя «собачка» зачіпляла третю шестерню. На наступному кроці ця «собачка» штовхала шестерню і просувала її, а також просувала і другий ротор.
З трьома дисками і тільки з однією виїмкою в першому і другому диску машина мала період 26x25x26 = 16 900. Як правило, повідомлення не перевищували декількох сотень символів, отже, не було ризику повтору позиції роторів при написанні одного повідомлення.
У чотирироторних військово-морських моделях ніяких змін в механізм внесено не було. «Собачок» було тільки три, тобто четвертий ротор ніколи не рухався, але міг бути вручну встановлений на одну з 26 позицій. При натисненні клавіші, ротори оберталися до замикання електричного кола.
Див. також Фіалка М-125 Циліндр Джефферсона Ultra (криптоаналіз) Криптоаналіз «Енігми» Машина Лоренца Арифмометр
Література
Hamer, David H.; Sullivan, Geoff; Weierud, Frode (July 1998). Enigma Variations: an Extended Family of Machines, Cryptologia, 22(3). Online version (zipped PDF). Stripp, Alan. The Enigma Machine: Its Mechanism and Use // in Hinsley, F. H.; and Stripp, Alan (editors), Codebreakers: The Inside Story of Bletchley Park (1993), pp. 83-88. Kahn, David (1991). Seizing the Enigma: The Race to Break the German U-Boats Codes, 1939—1943. ISBN 0-395-42739-8. Kozaczuk, Wladyslaw. The origins of the Enigma/ULTRA Kruh, Louis; Deavours, Cipher (2002). The Commercial Enigma: Beginnings of Machine Cryptography, Cryptologia, 26(1), pp. 1-16. Online version (PDF) Marks, Philip; Weierud, Frode (January 2000). Recovering the Wiring of Enigma's Umkehrwalze A, Cryptologia 24(1), pp. 55-66. Smith, Michael (1998). Station X (Macmillan) ISBN 0-7522-7148-2 Ulbricht, Heinz. Die Chiffriermaschine Enigma — Trügerische Sicherheit: Ein Beitrag zur Geschichte der Nachrichtendienste, PhD Thesis, 2005. Online version.
Посилання
Примітки
Джерела Як працювала машина Енігма? || Відео