Шифр Віженера зсуває кожну літеру Відкритий текст на різну величину: першу літеру — на першу літеру Ключ, другу — на другу, і так далі. Коли ключ скінчився, він починається знову з першої літери. Тому це Поліалфавітний шифр: одна й та сама літера Відкритий текст може стати різними літерами Шифротекст, що робить марною звичайну Частотний аналіз.
Напишіть повідомлення й залиште лише літери (інструмент так само відкидає пробіли та розділові знаки).
Напишіть ключ під повідомленням, літера за літерою, повторюючи його, доки обидва рядки не матимуть однакову довжину.
Зсуньте кожну літеру повідомлення Алфавіт вперед стількома позиціями, скільки вказує літера ключа: A — це 0, B — 1, … Z — 25. Це число і є Зсув.
Прочитайте літери, на які ви потрапили, — це шифротекст.
Прочитайте перший рядок: літера відкритого тексту A, зсунута
літерою ключа L (позиція 11), дає L. Далі ключ LEMON
повторюється: другу літеру зсунуто на E, третю — на M, а після
п'ятої літери ключ починається спочатку — саме це повторення є водночас
силою й слабкістю шифру.
Нумеруючи A=0 … Z=25, шифрування додає дві позиції та обходить алфавіт по колу:
шифротекст = (відкритий + ключ) mod 26
відкритий = (шифротекст - ключ + 26) mod 26Таблиця всіх 26 можливих алфавітів зсуву — це знаменита tabula recta; вся таблиця не потрібна — достатньо однієї колонки на літеру ключа.
Інструмент типово використовує англійський алфавіт, але шифр працює з будь-яким упорядкованим набором літер: вставте свій у поле «Алфавіт» — перетасований англійський або іншу мову. Обчислення не змінюються; змінюється лише довжина алфавіту (формула тоді обходить її замість 26).
Спробувати в інструментіВведіть повідомлення в поле повідомлення.
Виберіть будь-яке слово секретом і введіть його в поле «Ключ» — довший ключ важче зламати.
Перевірте режим: кнопка обміну кнопку обміну перемикає між шифруванням і розшифруванням. Поточний режим видно в заголовку.
Прочитайте зашифрований результат у поле результату. Шифруються лише літери; пробіли та розділові знаки відкидаються.
Вставте криптограму в поле повідомлення.
Введіть у поле «Ключ» ключ, яким користувався відправник, — потрібен точно такий самий ключ, яким шифрували.
Натисніть кнопку обміну кнопку обміну, щоб перейти в режим розшифрування.
Прочитайте оригінальне повідомлення в поле результату.
Увімкніть перемикач перемикач «Невідомий ключ» біля поля ключа. Зломщик відкриється нижче.
Крок 1 — довжина ключа: повторювані послідовності тексту підсвічено; виберіть найвпевненішу картку серед картки довжини ключа. Помилка? Поверніться назад і спробуйте іншу.
Крок 2 — літери ключа: для кожного фрагмента у вкладки фрагментів обертайте графік стрілки графіка, доки оцінка відповідності не стане найвищою. Літери збираються в смугу ключа. Застрягли? Здогад у поле ключового слова може розкрити одразу кілька літер.
Крок 3 — перевірте зібраний ключ: виправте будь-яку літеру прямо в смузі ключа, потім натисніть кнопку «Використати цей ключ».
Інструмент розшифрує повідомлення вашим ключем.
Ключ, що повторюється, — те, що робить шифр зламним. Ця сторінка пояснює атаку; кожен крок має відповідний крок керованого зломщика інструменту, тож можна читати й робити одночасно.
Спробувати в інструментіШифрування зсуває літеру i відкритого тексту літерою i ключа — але ключ короткий, тож літеру i+5 (за ключа з 5 літер) зсунуто тією самою літерою ключа. Щоразу, коли відкритий текст містить ту саму літеру в двох позиціях, відстань між якими кратна довжині ключа, у Шифротекст теж з'являється та сама літера. Довгі тексти повторюють часті буквосполучення (the, and, tion…), і ці повтори видають Довжина ключа.
Два незалежні сигнали, обидва показані на картках довжини ключа зломщика:
Повторювані послідовності — Тест Касіскі: знайдіть групи літер, що трапляються кілька разів, виміряйте відстані між ними та шукайте довжини, на які ділиться багато цих відстаней. Якщо відстані 12 і 18, довжина ключа ділить обидві — 6 краща здогад, ніж 36.
Індекс збігу — для кандидата N розбийте текст на N фрагментів (кожна N-та літера) і виміряйте, наскільки кожен фрагмент схожий на англійську. Англійська дає близько 0,067, випадкові літери — близько 0,038. Коли N — справжня довжина ключа, кожен фрагмент зсунуто однією літерою і досі виглядає по-англійськи.
Знаючи довжину ключа, кожен фрагмент зашифровано однією фіксованою літерою ключа — це вже просто шифр Цезаря, який зламає будь-який школяр. Графік інструменту клацає частоти літер фрагмента поруч з англійською таблицею: обертайте, доки високі стовпчики не сядуть на високі еталонні, і показана літера — це літера ключа цього фрагмента. Одне обертання на фрагмент — і весь ключ готовий; стежте, як живий перегляд перетворюється на читабельний текст.
Іноді можна вгадати слово, яке обов'язково є у відкритому тексті (вітання, ім'я, «атака»). Покладіть Ключове слово у позицію й віднімайте: кожна літера шифротексту мінус вгадана літера відкритого тексту — це літера ключа. Правильна здогад одразу розкриває кілька літер ключа; хибна відкидається, бо суперечить сама собі.
Короткі тексти брешуть. З малою кількістю літер на фрагмент частотний аналіз перетворюється на вгадування — тому зломщик попереджає вас і тому допомагає ключове слово.
Довгі ключі шкодять. Ключ завдовжки з текст, використаний одноразово, — це ідеал без Підстановка: одноразовий блокнот, єдиний шифр, стійкість якого доведено. Віженер з одноразовим ключом і є одноразовим блокнотом.
Решта — бухгалтерія. Щойно довжина ключа відома, далі все механічне — саме для цього зломщик автоматизує обчислення, а рішення приймаєте ви.