Шифр Вернам-Віженера

Шифр Вернам-Віженера , тип шифру заміщення, що використовується для шифрування даних. Шифр Вернам-Віженера був розроблений в 1918 році Гілбертом С. Вернамом, інженером Американської телефонно-телеграфної компанії (AT&T), який представив найважливіший ключовий варіант системи шифрування Віженера, винайдений французами 16 століття криптограф Блез де Віженер.

На момент роботи Вернама всі повідомлення, передані через систему телепринтера AT&T, кодувались у Коді Бодо, двійковому коді, в якому комбінація знаків та пробілів представляє букву, цифру або інший символ. Вернам запропонував засіб введення двозначності з тією ж швидкістю, з якою вона була зменшена через надмірність серед символів повідомлення, тим самим захищаючи комунікації від криптоаналітичної атаки. Він побачив, що періодичність (а також інформацію про частоту та міжсимвольну кореляцію), на яку покладалися попередні методи дешифрування різних систем Віженера, може бути усунена, якщо випадкова серія міток і пробілів (клавіша запуску) змішується з повідомленням під час шифрування для створення так званого потоку або потокового шифру.

Однак у системі Вернама була одна серйозна слабкість. Він вимагав одного символу ключа для кожного символу повідомлення, що означало, що комунікантам доведеться обмінятися непрактично великим ключем заздалегідь, тобто вони повинні надійно обмінятися ключем настільки великим, наскільки повідомлення, яке вони зрештою надішлють. Сам ключ складався з перфорованої паперової стрічки, яку можна було прочитати автоматично, коли символи набиралися на клавіатурі телетайпера та шифрувались для передачі. Цю операцію виконували в зворотному порядку, використовуючи копію паперової стрічки на приймаючому телетайпі, щоб розшифрувати шифр. Вернам спочатку вважав, що короткий випадковий ключ можна безпечно використовувати багато разів, виправдовуючи тим самим намагання доставити такий великий ключ, але повторне використання ключа виявилося вразливим для атаки методами типу, розробленими Фрідріхом В. Касіскі,офіцер німецької армії XIX століття та криптоаналітик, у своєму успішному розшифровці шифротекстів, створених за допомогою системи Віженера. Вернам запропонував альтернативне рішення: ключ, створений поєднанням двох коротших ключових стрічокm і n двійкових цифр, або бітів, де m і n не мають спільного коефіцієнта, крім 1 (вони відносно прості). Так обчислений бітовий потік не повторюється до m nвироблено біти ключа. Ця версія системи шифрування Вернаму була прийнята на озброєння армією США, доки майор Джозеф О. Моборньє з Армійського сигнального корпусу не продемонстрував під час Першої світової війни, що шифр, побудований із ключа, виготовленого лінійним поєднанням двох або більше коротких стрічок, може бути розшифрований методами такого роду, що використовуються для криптоаналізу шифрів, що працюють. Робота Моборня призвела до усвідомлення того, що ні повторюваний одноклавішний, ні двокасеточна система шифру Вернам-Віженера не були криптозахищеними. Набагато більшим наслідком для сучасної криптології - насправді ідеєю, яка залишається її наріжним каменем - був висновок, зроблений Моборнем і Вільямом Фрідманом (керівником криптоаналітика армії США, який зламав систему шифрування Японії в 1935–36), що єдиний тип криптосистеми що є безумовно безпечним, використовує випадковий одноразовий ключ.Доказом цього, однак, був майже 30 років потому інший дослідник AT&T, Клод Шеннон, батько сучасної теорії інформації.

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

Розподіл частоти для відкритого тексту та його повторюваного ключа шифру Віженера Найбільш частому букві відкритого тексту присвоюється значення 100, а решта букв відкритого тексту та зашифрованого тексту отримують значення від 0 до 100 щодо частоти їх появи. Таким чином, найчастіша буква (1 за горизонтальною шкалою) має значення 100, тоді як наступна за частотою буква (2) має значення близько 78 тощо. Шифротекст Віджера має надзвичайно менш виразний розподіл, хоча і не настільки яскраво виражений, як повністю плоский випадковий поліалфавітний шифр.