Енігма (автомат)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Трироторна військова німецька шифрувальна машина Енігма (версія з мітками)
Конструкція роторів машини Енігма

Ені́гма (англ. Enigma) — шифрувальна машина часів Другої світової війни. Енігма — типовий представник класу так званих дискових шифрувальних машин, оскільки основою її механізму є диски з 26-ма перепайками. Перші згадки про Енігму відносяться до 1918 року. Використовувалася для шифрування і дешифрування секретних повідомлень. Точніше, Енігма — це ціла родина електромеханічних роторних машин, що застосовувалися з 20-х років XX століття.

Енігма використовувалася в комерційних цілях, а також у військових і державних службах в багатьох країнах світу, але найбільшого поширення набула в нацистській Німеччині під час Другої світової війни. Саме Енігма вермахту (Wehrmacht Enigma) — німецька військова модель — найчастіше є предметом дискусій. У грудні 1932 польські шифрувальники вперше зламали німецькі військові шифри Енігми[1]. Ця машина отримала погану славу, тому що криптоаналітики антигітлерівської коаліції змогли розшифрувати велику кількість повідомлень, зашифрованих з її допомогою. Спеціально для цих цілей була створена машина з кодовою назвою «Бомба», що надала значну перевагу антигітлерівській коаліції у війні. Уся інформація, отримана криптоаналізом з її допомогою, мала кодову назву ULTRA.

Хоча з точки зору криптографії шифр Енігми був слабкий, на практиці тільки поєднання цього чинника з іншими, такими як помилки операторів, процедурні вади, припущення про текст повідомлень (наприклад при передачі метеозведень) і захоплення екземплярів Енігми і шифрувальних книг, дозволило розгадувати шифри і читати повідомлення.

Опис[ред.ред. код]

Як і інші роторні машини, Енігма складалася з комбінації механічних і електричних систем. Механічна частина включала клавіатуру, набір дисків (роторів), що обертаються, які були розташовані уздовж валу і прилягали до нього, і ступінчастого механізму, рушійного один або більш за ротори при кожному натисненні клавіші. Конкретний механізм роботи міг бути різним, але загальний принцип був такий : при кожному натисненні клавіші крайні справа ротор зрушується на одну позицію, а за певних умов зрушуються і інші ротори. Рух роторів призводить до різних криптографічних перетворень при кожному наступному натисненні клавіші на клавіатурі. Механічні частини рухалися, утворюючи електричний контур, що міняється, тобто, фактично, шифрування букв здійснювалося електрично. При натисненні клавіш, контур замикався, струм проходив через різні компоненти і у результаті включав одну з безлічі лампочок, що відображувала букву, що виводилася. Наприклад, при шифруванні повідомлення, що починається з ANX, оператор спочатку натискав кнопку A, і спалахувала лампочка Z, тобто Z ставала першою буквою криптограми. Оператор продовжував шифрування N так само, і так далі. Для пояснення принципу роботи Енігми приведена діаграма ліворуч. Діаграма спрощена: насправді механізм складався з 26 лампочок, клавіш, перемикачів і електричних схем усередині роторів. Струм йшов з батареї (1) через перемикач (2) в комутаційну панель (3). Комутаційна панель дозволяла перекомутувати з'єднання між клавіатурою (2) і нерухомим вхідним колесом (4). Далі струм проходив через роз'їм (3), в цьому прикладі невживаний, вхідне колесо (4) і схему з'єднань трьох (у армійській моделі) або чотирьох (у військово-морській моделі) роторів (5) і входив в рефлектор (6). Рефлектор повертав струм назад, через ротори і вхідне колесо, але вже по іншому шляху, далі через роз'їм «S», сполучений з роз'їмом «D», через інший перемикач (9), і запалювалася лампочка.

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

Ротори[ред.ред. код]

Ліва сторона ротора Енігми, видно плоскі електричні контакти. Права сторона ротора, видно штирьові контакти. Римська V ідентифікує електропроводку ротора. Ротори — це серце Енігми. Кожен ротор був диском приблизно 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 позицій. При натисненні клавіші, ротори оберталися до замикання електричного кола.

Див. також[ред.ред. код]

Література[ред.ред. код]

  • Бауэр Ф. Расшифрованные секреты. — М.: Мир, 2007. — 550 с.
  • Жельников В. Криптография от папируса до компьютера. — М.: ABF, 1996. — 336 с.
  • Корн Г., Корн Т. Справочник по математике. — М.: Наука, 1973. — 832 с.
  • Смарт Н. Криптография. — М.: Техносфера, 2005. — 528 с.
  • Шнайер Б. Прикладная криптография. — М.: Триумф, 2002. — 816 с.
  • 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. (нем.)

Примітки[ред.ред. код]