Шифр Цезаря зміщує кожну літеру Відкритий текст на одну й ту саму фіксовану величину — Зсув, тож уесь Алфавіт зсувається вбік одразу. Це Підстановка з одним алфавітом: кожна А стає, скажімо, D, кожна B — E, і так для всього повідомлення.
Напишіть повідомлення і залиште лише літери (інструмент відкидає пробіли та розділовість, якщо ви не попросите іншого).
Оберіть зсув: число від 1 до 25. Юлій Цезар використовував 3.
Пересуньте кожну літеру Алфавіт на стільки позицій уперед, замикуючи коло в кінці: після Z іде A.
Прочитайте літери, на які ви потрапили, — це шифртекст.
Із зсувом 3 літера A відкритого тексту потрапляє на D, B — на E, а кінець алфавіту замикає коло: X, Y і Z виходять як A, B і C. Один зсув на все повідомлення — саме це робить шифр Цезаря простим у користуванні і простим для зламу.
Нумеруючи A=0 … Z=25, шифрування додає зсув і замикає коло алфавіту:
шифр = (відкритий + зсув) mod 26
відкритий = (шифр - зсув + 26) mod 26Розшифрування — той самий рух назад: замість додавання відніміть зсув. Кнопка обміну в інструменті робить саме це — вона пропускає шифртекст крізь другу формулу замість першої.
Інструмент за замовчуванням працює з англійським алфавітом, але шифр працює з будь-яким упорядкованим набором літер: оберіть готовий або вставте власний у поле Alphabet. Математика не змінюється; змінюється лише довжина алфавіту (формула тоді замикає коло на цій довжині, а не на 26).
Спробувати в інструментіНаберіть повідомлення у поле повідомлення.
Потягніть повзунок обертання поле «Ключ», щоб обрати зсув — класика це 3.
Вирішіть, що робити з двома перемикачами: перемикач «Зберігати пробіли» зберігає розташування слів, а перемикач «Зберігати регістр» — великі літери. Решту інструмент відкидає.
Прочитайте результат у поле результату.
Вставте криптограму у поле повідомлення.
Натисніть кнопку обміну кнопку обміну, щоб перейти в режим розшифрування.
Виставте повзунок обертання поле «Ключ» на зсув відправника — потрібне точно те саме число.
Прочитайте початкове повідомлення у поле результату.
Зсув — це число від 1 до 25, тож атака Повний перебір потребує щонайбільше 25 спроб — а зазвичай значно менше:
Вставте криптограму у поле повідомлення і перейдіть у режим розшифрування кнопкою кнопку обміну.
Проведіть обертанням поле «Ключ» по значеннях і стежте за поле результату: нісенітниця, знову нісенітниця… аж раптом з'являється читабельне слово.
Якщо перебирати всі зсуви здається шахрайством, зробіть розумніше: Частотний аналіз. Знайдіть найчастішу літеру шифртексту (часто це зашифрована E), виміряйте її відстань від E, виставте цей зсув і прочитайте одне речення для перевірки.
Шифр Цезаря ламається тривіально, і варто зрозуміти чому: він падає не через погану арифметику, а тому, що зберігає забагато структури. Обидві класичні атаки нижче не потребують нічого, крім інструмента.
Спробувати в інструментіКожна літера ховається за одним і тим самим Зсув. Якою б не була статистика відкритого тексту, Шифротекст її зберігає — просто в інших літерах. Найчастіша літера повідомлення залишається найчастішою, лише зміщеною; ритм повторюваних слів нікуди не зникає. Одна заміна зберігає про текст усе, крім того, якими літерами він написаний.
Можливих зсувів лише 25 (26, якщо враховувати «без шифрування»). Переберіть їх:
Перемкніть інструмент у режим розшифрування кнопкою кнопку обміну і вставте криптограму у поле повідомлення.
Проведіть обертанням поле «Ключ» від 1 до 25 і щоразу читайте поле результату.
Читабельний уламок з'являється рівно один раз — коли обертання збігається зі зсувом відправника. Далі людське око доглядає саме.
Атаці Повний перебір не потрібна жодна статистика — саме тому будь-який сучасний шифр мусить мати простір ключів, завеликий для ручного перебору.
Частотний аналіз оминає гадання: порахуйте літери шифртексту і порівняйте лічбу з відомим профілем мови.
В англійській найчастіша літера — E, близько 12% довгого тексту, за нею йдуть T, A, O, I та N.
Знайдіть найчастішу літеру шифртексту; її відстань від E — найімовірніший зсув.
Розшифруйте з цим зсувом і прочитайте. Якщо текст короткий і впертий, спробуйте відстань до T.
Частотний аналіз описав багатознавець Аль-Кінді у IX столітті, і він ламає будь-який шифр одноалфавітної заміни — Цезар лише найпростіший з них.
Провал Цезаря навчив криптографів першого великого уроку: ключ мусить змінювати текст нерівномірно. Пізніші шифри зберегли ідею зсуву, але зробили зсув різним для кожної літери — шифр Віженера це буквально «багато Цезарів», по одному на літеру ключа, і атака Частотний аналіз вище перестає працювати на ньому, поки ви спочатку не відновите довжину ключа.