Процес механізації та автоматизації криптографії
Та криптоаналітики
Всі види та методи шифрування, які ми розглядали на попередній лекції, відносилися до так званого “ручного шифрування”, яке у своєї більшості можна віднести скоріше до мистецтва, ніж до науки, навіть не зважаючи на те, що у розвитку криптографії та криптоаналітики брали участь видатні вчені зі світовим ім’ям. Це було “дитинство” криптології.
Отже, розглянемо подальший розвиток і сучасний стан криптографії та криптоаналітики. При цьому значну увагу приділимо сучасним методам шифрування.
У попередніх підрозділах Ви могли побачити, що процеси шифрування та розшифрування вимагають від шифрувальників значної уваги та неабияких трудових та часових витрат.
Ще більших розумових зусиль та часу вимагало створення нових методів шифрування та дешифрування. Не дарма розвиток криптографії та криптоаналітики на завжди пов’язаний з іменами видатних математиків, лінгвістів, фізиків та винахідників.
І криптографи, і криптоаналітики завжди намагалися спростити свій труд, роблячи наголос на автоматизації рутинних операцій. З давніх часів відомі шифрувальні диски, або кодографи, призначені для пришвидшення процесів шифрування та розшифрування криптограм. Вони були першими прообразами електромеханічних шифрувальних машин.
Першим відомим шифрувальним пристроєм став шифрувальний диск, придуманий у XV столітті італійцем Леоном Альберті.
Він взяв два мідних диски різного діаметру та розбив їх на сектори. На краях кожного з дисків у секторах він розмістив літери абетки. Сколовши диски у їх центрі він отримав шифрувальний диск. Відкрита абетка знаходиться на більшому диску, таємна – на меншому.
Відповідно, щоб скористуватися шифром Цезара, необхідно здвинути на заданий крок менший диск. Для шифрування багатоабетковим шифром необхідно для кожної наступної літери зсувати малий диск на іншу позицію у відповідності до заданого ключового слова.
Під час Першої світової війни шифрування та розшифрування велося “ручним” способом. Але після того, як німцям, що програли війну, стало відомо, що англійці, росіяни та французи зламали всі їхні шифри та читали всі повідомлення, у Германії було прийнято ряд заходів для підвищення стійкості шифрів.
Наслідком цих зусиль стало впровадження у всі роди військ шифрувальної електромеханічної машини “Енігма”, дуже вчасно винайденої у 1918 р. та поставленої на виробництво Артуром Шербиусом. “Енігма” була прийнята німецькою армією та флотом як основний засіб шифрування у 1923 р.
Практично одночасно були розроблені електромеханічні шифрувальні машини такого типу і в інших країнах (США, СРСР, Японія, Швеція, Франція, Великобританія), але, по-перше, “Енігма” була найбільш досконалою і, по-друге, вона першою була впроваджена у масовому порядку у всі галузі використання шифрованих повідомлень Німеччини.
Фактично всі ці машини використовували багатоабетковий шифр заміни типу шифру Віженера. Принцип їх роботи був практично однаковий, але “Енігма” мала суттєві відмінності, які забезпечували значне підвищення стійкості шифру і на той час робили його практично незламним. У машинах використовувалися шифрувальні колеса з резинової маси з внутрішніми електричними з’єднаннями та зовнішніми контактними площадками.
Принцип такого колеса показано на рис. 5.6.
Принцип побудови електромеханічної шифрувальної машини “Енігма” показано на рис. 5.7.
Рис. 5.6. Приклад розміщення електричних з’єднань у шифрувальному колесі машини “Енігма”
Рис. 5.7. Принцип побудови електромеханічної шифрувальної машини “Енігма” - товстими лініями показано шлях проходження літери А
У машині було три шифрувальних колеса з різними варіантами зв’язків між входами та виходами для кожної окремої літери. Всього на кожному колесі було 26 літер – тобто вся абетка латиницею. Колеса розмішувалися на одному валу. Їх можна було міняти місцями. При набиранні літери відкритої абетки на зв’язки поступав електричний сигнал, що проходив при обраному варіанті зв’язку на вихід машини у вигляді іншої літери, яка висвічувалася на табло з відповідними лампочками. Крім того, при набиранні на клавіатурі літери відкритої абетки відбувалося зміщення кожного колеса на один крок і наступна літера набиралася вже у іншому сполученні шляху проходження сигналу від наступної літери.
Шифрувальні колеса (шифратори) могли встановлюватися у будь-яке початкове положення (наприклад, перший шифратор встановлювався у початкову літеру N, другий – у D, третій – у Q). Крім того, можна було міняти порядок розміщення на вісі самих шифраторів (наприклад, 1, 2, 3 або 3,1,2).
Відмінність “Енігми” від інших машин полягала у тому, що до неї було введено два додаткових елементи, які значно збільшували кількість варіантів можливого зашифрування літери відкритої абетки: відбивач та комутаційну панель.
Це призвело до того, що повна кількість можливих ключів машини складала 1015.
Зрозуміло, що більшість криптоаналітиків того часу вважали, що зламати криптограму, зашифровану на “Енігмі”, неможливо. Так, до речі, вважали й німці, і ця самовпевненість зіграла з ними злий жарт під час Другої світової війни.
Спочатку, дякуючи завербованому у 1931 р. агенту, французькі криптоаналітики дізналися по розміщення контактів у шифраторах військового варіанту машини та передали ці дані своїм союзникам-полякам. А вже потім польському Бюро шифрів вдалося знайти слабе місце у методиці шифрування на “Енігмі” та розробити методику та оснащення для зламу зашифрованих німецьких криптограм. Це зробив Маріан Реєвський – математик, що служив у цьому Бюро.
Провести злам “Енігми” йому допомогли отримані від агента інструкції з правилами шифрування на цій машині.
За цими правилами кожного дня для всіх машин в один і той же час проводилася нова початкова установка шифраторів, яка визначалася для кожного дня заздалегідь та видавалася всім операторам машин.
Цей ключ використовувався лише для передавання разового ключа, що обирався та встановлювався кожним оператором індивідуально та випадково для передавання повідомлення. Для кожного повідомлення оператор встановлював новий ключ, але для розшифрування повідомлення отримувач мав знати цей ключ (тобто встановлення початкових установок шифраторів та контактів комутаційної панелі), а саме цей ключ шифрувався загальним ключем дня. Для надійності передачі ключа його передавали двічі, але друга передача вже проходила при зсуві шифраторів на один крок. Це й було тією “лазівкою”, якою зміг скористатися Реєвський. Він зумів знайти ланцюги зв’язків, що періодично проявлялися у машині, тобто виявити закономірності у її роботі.
Для дешифрування перехватів поляки зробили так звані “бомби”, тобто електромеханічні машини, які повторювали конструкцію “Енігми”, але були оснащені додатковою автоматикою, що дозволило шукати потрібні початкові установки шифраторів в автоматичному режимі.
Перед початком Другої світової війни поляки встигли вивезти всі свої наробки разом з Реєвським до Англії. Але німці перед початком війни ввели
в “Енігму” ще два шифратори, що змусило англійців добре попрацювати, перш, ніж вони почали проводити масову дешифровку всіх повідомлень супротивника.
Зрозуміло, що вони зберігали свої успіхи у глибокій таємниці, і лише через приблизно двадцять років це стало відомо широкому загалу.
До цього часу, подарувавши та продавши молодим незалежним державам велику кількість трофейних машин “Енігма”, англійці читали все їхнє таємне листування.
Розсекречення факту зламу “Енігми” відбулося вже після винайдення ЕОМ та розробки теорії К. Шеннона.
Але подовження розвитку цього процесу буде розглянуто у наступних підрозділах.