Cabinet Noir>Навчання / Шифр Бофорта

Не знаєте, який це шифр? Розпізнайте його
Дзеркальний близнюк Віженера — той самий ключ, що повторюється, віднімання навпаки, самовзаємний.
Типполіалфавітний шифр підстановки
Зламскладно зламати вручну
ЕпохаРенесансна родина, назва XIX століття
НазваКоролівський флот, на честь сера Френсіса Бофорта
Режимишифрування · розшифрування · криптоаналіз

Навчання

Шифр Бофорта

Як працює шифр Бофорта

Ідея одним реченням

Шифр Бофорта — дзеркальний близнюк Віженера: той самий ключ, що повторюється, та сама ідея таблиці Тритемія, але віднімання навпаки. Там, де Віженер обчислює шифр = відкритий текст + ключ, Бофорт обчислює шифр = ключ − відкритий текст. Цей перевернутий знак робить шифр самовзаємним: та сама операція і шифрує, і розшифровує.

Рецепт

  1. Напишіть повідомлення і залиште лише літери (інструмент так само викидає пробіли та розділові знаки).

  2. Напишіть ключ під повідомленням, літера за літерою, повторюючи його, доки обидва рядки не стануть однакової довжини.

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

  4. Прочитайте літери, на які ви потрапили, — це шифртекст.

Розібраний приклад

Крок 1 із 12
Літера відкритого тексту
Літера ключа
a·x + b (mod 26)
Результат
A
L
11
L

Читайте перший рядок: під літерою ключа L літера відкритого тексту A падає на L (L − A = L). Другу літеру віднімають від E, третю — від M, а після п'ятої літери ключ починається спочатку — точно той самий ритм довжини ключа, що й у Віженера.

Формула

Нумеруючи A=0 … Z=25, шифрування віднімає і загортається по колу абетки:

шифр = (ключ − відкритий текст) mod 26

Оскільки та сама формула з переставленими операндами розшифровує (відкритий текст = ключ − шифр), Бофорт є Взаємний: одна і та сама дія служить обом напрямам. Інструмент лишається в одному режимі — зашифруйте повідомлення ключем, потім зашифруйте результат ще раз тим самим ключем, і відкритий текст повернеться.

Варіант

Варіант Бофорта перевертає віднімання в інший бік: шифр = відкритий текст − ключ. Розшифровує він через відкритий текст = шифр + ключ — та сама арифметика, що й у Віженера, із кожною літерою ключа, узятою з протилежним знаком. Для Криптоаналіз це має важливе наслідок: статистично варіант невідрізненний від Віженера, тоді як класичний Бофорт лишає власний відбиток (зрізи пасують до віддзеркалених частотних кривих). Селектор варіанту в інструменті перемикає між ними; зломщик слідує за ним.

Місце в родині

Віженер, Бофорт і варіант Бофорта поділяють один двигун: короткий повторюваний ключ поверх зсуненої або віддзеркаленої таблиці. Хто знає один — знає всі три; різниця лише в напрямку віднімання.

Покрокові гіди

Зашифруйте перше повідомлення

  1. Введіть повідомлення у поле повідомлення.

  2. Оберіть будь-яке слово секретом і введіть його у поле «Ключ» — довший ключ стійкіший.

  3. Перевірте режим: кнопка обміну кнопку обміну перемикає між шифруванням і розшифруванням. Заголовок показує поточний режим.

  4. Оберіть варіант у Оберіть між класичним Бофортом і варіантом.: класичний Бофорт чи варіант. Класичний самовзаємний — той самий режим в обидва боки.

  5. Прочитайте зашифрований результат у поле результату. Шифруються лише літери; пробіли та розділові знаки викидаються.

  6. Гляньте на таблицю Тритемія під панеллю: виділена клітинка — це точний пошук «рядок-стовпець», який виконує ваша перша літера.

Розшифруйте отримане повідомлення

  1. Вставте криптограму у поле повідомлення.

  2. Введіть у поле «Ключ» ключ відправника — потрібен точно той самий ключ, яким шифрували.

  3. Класичному Бофорту зміна режиму непотрібна взагалі: шифрування криптограми тим самим ключем і є розшифруванням. Якщо відправник користувався варіантом, натисніть кнопку кнопку обміну.

  4. Прочитайте оригінал у поле результату.

Зламайте повідомлення без ключа

  1. Відкрийте вкладку Криптоаналіз. Керований зломщик повторює кроки віженерівського з однією закруткою: кожен зріз звіряється з віддзеркаленою частотною кривою, бо Бофорт віднімає навпаки.

  2. Крок 1 — довжина ключа: повторні послідовності підсвічено; оберіть найвпевненішу картку у картки довжини ключа. Промах? Поверніться і спробуйте іншу.

  3. Крок 2 — літери ключа: для кожного зрізу у вкладки фрагментів обертайте графік стрілки графіка, доки оцінка не стане найвищою. Літери накопичуються у смугу ключа. Застрягли? Здогад у поле ключового слова може відкрити кілька літер разом.

  4. Крок 3 — перевірте зібраний ключ: виправте будь-яку літеру просто в смужці ключа, тоді натисніть кнопку «Використати цей ключ».

  5. Інструмент розшифрує повідомлення вашим ключем.

Злам шифру Бофорта

Повторюваний Ключ робить шифр пробивним — а атака тут віженерівська з одним дзеркальним поворотом. Ця сторінка пояснює атаку; кожен крок має парний крок у керованому зломщику інструменту, тож читайте з інструментом у руках.

Спробувати в інструменті

Вада: ключ повторюється

Шифрування віднімає літеру i відкритого тексту від літери ключа i — але ключ короткий, тож літера i+5 (за п'ятилітерного ключа) знову віднімається від тієї ж літери ключа. Шифртекст періодичний, і періодичність видає довжину ключа точно так, як у Віженера.

Крок 1 — знайдіть довжину ключа

Обидва класичні сигнали працюють без змін:

  • Повторні послідовності — Тест Касіскі: знайдіть групи літер, що трапляються кілька разів, міряйте відстані між ними й шукайте довжини, що ділять багато цих відстаней.

  • Індекс збігу — для кандидата N розріжте текст на N зрізів (кожна N-та літера) та міряйте, наскільки кожен схожий на англійську. Міра сліпа до напрямку віднімання — вона бачить лише нерівномірність підрахунків літер, тож годиться і для Бофорта.

Крок 2 — кожен зріз це «Цезар навпаки»

Коли довжина ключа відома, кожен зріз шифрувала одна фіксована літера ключа — але літери зрізу були віддзеркалені до (або після) зсуву. Практична різниця: коли інструмент накладає підрахунки літер зрізу на англійську частотну таблицю, високі стовпці збігаються з еталонними у протилежному напрямку. Обертайте, доки віддзеркалена крива не ляже, і показана літера — це літера ключа зрізу. Криптоаналітик, що забув про дзеркало, отримає абеткову юшку; графік зломщика просто малює віддзеркалену криву.

(Для варіанту Бофорта дзеркала немає зовсім — його зрізи поводяться точно як віженерівські, звідси й статистична невідрізненність.)

Обхідний шлях — ймовірні слова

Згадане слово працює і тут, з перевернутим відніманням: кожна літера шифртексту плюс вгадана літера відкритого тексту дає літеру ключа (для варіанту — шифртекст мінус здогад). Панель ймовірних слів інструменту робить арифметику за обраний варіант.

Межі

  • Короткі тексти брешуть. З малою кількістю літер на зріз частотний аналіз перетворюється на вгадування — тому зломщик вас попереджає і тому ймовірне слово допомагає.

  • Варіант ховається в натовпі. Шифртексти варіанту Бофорта — це точно віженерівські шифртексти із запереченим ключем, тож перехоплювач навіть не зможе сказати, який з двох ви використали — слабка втіха, бо обидва падають від однієї атаки.

  • Довгі ключі болять. Ключ довжиною з текст, ужитий один раз, — це ідеал одноразового блокнота; Бофорт успадковує цю властивість від Віженера.

Глосарій

Відкритий текст — Початкове читабельне повідомлення до шифрування.
Шифротекст — Перемішане повідомлення, отримане після шифрування.
Ключ — Секрет, що визначає, як саме змішується текст.
Алфавіт — Набір літер, з якими працює шифр.
Таблиця Тритемія — Квадратна таблиця всіх 26 зсувних абеток шифрів родини Віженера: рядок на кожну літеру ключа, читається «рядок — літера ключа, стовпець — літера відкритого тексту».
Взаємний — Шифр, операція шифрування якого є водночас його розшифруванням: двократне застосування з тим самим ключем повертає відкритий текст (Бофорт, Атбаш, ROT13).
Довжина ключа — Кількість літер ключа до того, як він почне повторюватися.
Фрагмент — Кожна N-та літера тексту (N = довжина ключа). Усі літери одного фрагмента зсунуті тією самою літерою ключа.
Частотний аналіз — Вивчення частоти літер; порівняння з мовою відкриває відкритий текст.
Індекс збігу — Число (близько 0,067 для англійської), що показує імовірність збігу двох випадкових літер тексту.
Тест Касіскі — Визначення довжини ключа за відстанями між повторюваними послідовностями шифротексту.
Ключове слово — Слово, яке ви припускаєте у відкритому тексті; порівняння з шифротекстом розкриває літери ключа.