Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
++++ТРАДИЦІЙНІ СИМЕТРИЧНІ КРИПТОСИСТЕМИ.doc
Скачиваний:
17
Добавлен:
21.08.2019
Размер:
1.94 Mб
Скачать

1.4.5. Шифрування методом Вернама

Система шифрування Вернама є за своєю сутністю окремим випадком системи шифрування Віженера при значенні модуля m = 2. Конкретну версію цього шифру було запропоновано в 1926 р. Гілбертом Вернамом, співробітником фірми AT&T США, яка використовує двійкове представлення символів початкового тексту.

Кожен символ початкового тексту з англійського алфавіту {А, В, С, D, ..., Z}, розширеного шістьма допоміжними символами (пропуск, повернення каретки і тому подібне), спочатку кодувався в 5-бітовий блок (b0, b1, ..., b4) телеграфного коду Бодо14. Випадкова послідовність двійкових ключів k0, k1, k2, ... заздалегідь записувалася на паперовій стрічці.

Схема передачі повідомлень з використанням шифрування методом Вернама показана на рис. 4.13. Шифрування початкового тексту, заздалегідь перетвореного в послідовність двійкових символів x, здійснювалося шляхом додавання за модулем 2 символів x з послідовністю двійкових ключів k.

Символи зашифрованого тексту

y = x·Ek. (1.13)

Рис. 4.13. Схема шифрування та дешифрування повідомлень по методу Вернама

Розшифрування полягає в додаванні за модулем 2 символів у зашифрованого тексту з тією ж послідовністю ключів k:

у·Еk = x; x·Еk·Еk = x. (1.14)

При цьому послідовності ключів, які використовуються при шифруванні і дешифруванні, компенсують один одного (при додаванні за модулем 2), і в результаті відновлюються символи x початкового тексту.

При розробленні своєї системи Вернам перевіряв її за допомогою закіьльцованих стрічок, встановлених на передавачі і приймачі для того, щоб використовувалася одна і та ж послідовність ключів.

Необхідно зазначити, що метод Вернама не залежить від довжини послідовності ключів і, окрім цього, він дає змогу використовувати випадкову послідовність ключів. Проте при реалізації методу Вернама виникають серйозні проблеми, пов'язані з потребою доставки одержувачеві такої ж послідовності ключів, як у відправника, або з потребою безпечного зберігання ідентичних послідовностей ключів у відправника і одержувача. Ці недоліки системи шифрування Вернама подолані при шифруванні методом гамування.

1.4.6. Роторні машини

У 20-х роках XX століття було винайдено електромеханічні пристрої шифрування, що автоматизують процес шифрування. Принцип роботи таких машин базується на багатоалфавітній заміні символів початкового тексту довгим ключем згідно з версією шифру Віженера. Більшість з них американська машина SIGABA (М-134), англійські TYPEX, німецька ENIGMA, японська PURPLE були роторними машинами.

Головною деталлю такої машини є ротор (або колесо) з дротяними перемичками усередині. Ротор має форму диска (розміром з хокейну шайбу). На кожній стороні диска розташовані рівномірно по колу m електричних контактів, де m – кількість знаків алфавіту (у разі англійського алфавіту m = 26). Кожен контакт на передній стороні диска з'єднаний з одним з контактів на задній стороні так, як це показано на рис. 4.14. В результаті електричний сигнал, що представляє знак, буде переставлений відповідно до того, як він проходить через ротор від передньої сторони до задньої. Наприклад, ротор можна закомутувати дротяними перемичками для підставляння G замість A, U замість В, L замість С і так далі.

Рис. 4.14. Банк роторів

При повороті ротора з одного положення в інше підставляння, яку він здійснює в сигналі, що приходить, змінюватимемо. У загальному випадку цю підставляння можна записати у вигляді

T = Cj p C-j (1.15)

де: p – підставляння, що реалізовується ротором в його початковому положенні; С – циклічне зсування на одну позицію; Cj – циклічне зсування на j позицій.

Наприклад, якщо початкове підставляння ротора p(А) = G і ротор зсувається на три позиції (j = 3) (рис. 4.15), то вхідний текст D буде проти того контакту ротора, який використовується для представлення початкового тексту А, а шифрований текст J опиниться проти того контакту ротора, який використовується для представлення шифрованого тексту G, і результуюче підставляння Т(D) = G при j = 3. Алгебрично це записується у такому вигляді:

Т(D) = С3pС-3(D) = С3p(А) = С3(G) = J.

Рис. 4.15. Схема формування підставляння при зсуванні ротора (j = 3)

Ротори можна об'єднати в банк роторів так, щоб вихідні контакти одного ротора торкалися вхідних контактів наступного ротора. При цьому електричний імпульс від натиснутої клавіші з буквою початкового тексту, що входить з одного кінця банку роторів, переставлятимемо кожним з роторів, доти, поки не покине банк (рис. 4.14).

Математично роботу банку роторів можна описати у такому вигляді

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

Роторна машина складається з банку роторів і механізму для зміни положення роторів з кожним шифруванним знаком, об'єднаного з пристроями введення та виведення, такими як пристрій зчитування з перфострічки і друкуючий пристрій.

Просте з можливих рухів ротора – це рух за принципом одометра; воно використовувалося в німецькій машині Enigma під час другої світової війни. При шифруванні одного знаку праве крайнє колесо повертається на одну позицію. Коли це (і будь-яке інше) колесо переміститься на m позицій і зробить повний оберт, колесо, розташоване зліва від нього, пересунеться на одну позицію, і процес повторюватимемо. Цей процес проведе банк роторів крізь всі його можливі положення, перш ніж цикл повториться. Оскільки всі ротори переміщаються з різними швидкостями, період n-роторної машини становить 26n (при m = 26).

Для закону руху ротора бажані наступні характеристики:

  • період повинен бути великим;

  • після шифрування кожного знаку всі ротори або велика їх частина повинні обернутися один відносно іншого.

Рух за принципом є одометра оптимальним в сенсі першої вимоги, але абсолютно незадовільним відносно другої вимоги. Поліпшення руху за принципом одометра можна отримати, якщо повертати кожен ротор більш ніж на одну позицію. Якщо зсуви кожного ротора не мають загальних множників з об'ємом алфавіту m, то період залишиться максимальним.

Інше рішення полягає в обмеженні кількості допустимих зупинних місць для кожного ротора за рахунок введення зовнішнього фіксуючого кільця, на якому певним способом зафіксовані місця зупинок. При використанні англійського алфавіту можна змусити машини повертатися і зупинятися так. Першому колесу дозволяється зупинятися в кожній з 26 позицій, другому колесу тільки в 25 позиціях, третьому колесу тільки в 23 позиціях, і так далі до шостого колеса, якому дозволяється зупинятися тільки в 17 позиціях. Період такої роторної машини тепер становить 101 млн, а не 266>>309 млн, як у разі руху за принципом одометра. Втрата в довжині періоду з успіхом окупається отриманою складністю руху роторів. Тепер друга вимога задовольняється досить добре, оскільки кожне з коліс переміщається після шифрування кожного знаку і багато коліс можуть рухатися один відносно іншого.

Роторна машина може бути настроєна за ключем зміною будь-яких її змінних:

  • роторів;

  • порядку розташування роторів;

  • числа місць зупинки на колесо;

  • характеру руху і так далі

Оскільки перекомутувати ротори важко, то зазвичай на практиці машини забезпечували комплектом роторів, в якому знаходилися більше роторів, чим можна одночасно помістити в машину. Первинне налаштування за ключем проводилася вибором роторів, які складають комплект. Вторинне налаштування за ключем проводилася вибором порядку розташування роторів в машині і установкою параметрів, які керують рухом машини. З метою утруднення дешифрування зашифрованих текстів супротивником ротори щодня переставляли місцями або замінювали. Велика частина ключа визначала початкові положення роторів (263 = 17576 можливих установок) і конкретні переставляння на комутаційній дошці, за допомогою якої здійснювалася початкове переставляння початкового тексту до його шифрування (26! = 4·1026 можливостей).

Роторні машини були найважливішими криптографічними пристроями під час другої світової війни і домінували принаймні до кінця 50-х років.