Cabinet Noir>Навчання / Шифр народників

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

Навчання

Шифр народників

Як працює шифр народників

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

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

Рецепт

  1. Зафіксуйте квадрат — простий або ключовий. Тепер кожна літера має число від 11 до 55 (I і J ділять клітинку).

  2. Перетворіть ключове слово на його власні числа так само. З ключем RUSSIA числа 42 45 43 43 24 11 повторюються по всьому повідомленню — це Адитивний ключ.

  3. Додайте кожне число відкритого тексту до числа ключа над ним, цифра за цифрою, без переносу. 44 + 42 дає 86; 15 + 45 дає 60 — цифри рядків 1 + 4 = 5, цифри стовпців 5 + 5 = 10, а сума 10 переливається як повноцінна цифра. Саме тому числа народників сягають 110, і саме тому сума 60 означає 5|10, а не 6|0.

  4. Шифротекст — це суми, зазвичай із пробілами: 86 68 58 ….

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

Крок 1 із 12
Літера відкритого тексту
Число відкритого тексту
Число ключа
Сума (без переносу)
A
11
42
53

Кожен рядок — одна літера: її координатне число, число ключа, що його поглинуло, і сума. Дивіться, як стовпець ключа циклиться 42 45 43 43 24 11 — та періодичність, яку слухає зломщик.

Розшифрування

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

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

Ознаки в числах

Кожна сума досі містить сітку: відніміть будь-яке число ключа — і обидві цифри мають опинитися в межах 1–5, інакше здогад невірний. І оскільки ключ повторюється, суми однієї позиції ключа ділять його зміщення — потік рябить періодом, саме те, що міряє вкладка Cryptoanalysis.

Шифр народників: гіди

Гіда 1 — ваша перша таблиця додавання

  1. Відкрийте інструмент, лишіть ключ квадрата порожнім, наберіть ключ RUSSIA і зашифруйте ATTACK AT DAWN. Результат — потік чисел.

  2. Дивіться на таблицю додавання під текстом: кожна клітинка показує plain + key = sum однієї літери. Простежте за стовпцем ключа — він повторюється що кожні шість літер, довжину RUSSIA.

  3. Перемкніться в режим розшифрування й вставте числа назад. Віднімання скасовує додавання цифра за цифрою; позики — ніколи.

Гіда 2 — ключовий квадрат

  1. Додайте ключ квадрата, скажімо MOSCOW, і зашифруйте те саме повідомлення. Суми змінилися, бо змінилися координати під ними — адитивний ключ працює з тим квадратом, який йому дали.

  2. Знову очистіть ключ квадрата і порівняйте: те саме ключове слово дає інші числа на іншому квадраті. Два незалежні ключі, один шифр.

Гіда 3 — побачити період оком

  1. Зашифруйте довше повідомлення з ключем REVOLUTION (10 літер) і запишіть числа рядками по 10, по одній позиції ключа на стовпець.

  2. Перегляньте кожен стовпець: його значення туляться у вузьку смугу — зміщення одного фіксованого числа ключа. Стовпці неправильної ширини розсипаються.

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

Гіда 4 — десятки

  1. Зашифруйте ZZZZZ ключем ZZZZZ: кожна сума 110, максимум — 5 + 5 в обох цифрах.

  2. Тепер розшифруйте потік із 30 або 100: вони означають суму стовпця 10 (2|10, 9|10), а не нульовий стовпець. Перелива 10 — та примха народників, що збиває кожну поспіхову атаку.

Зламати шифр народників

Два ключі, дві слабкості. Майстер вкладки Cryptoanalysis веде атаку в чотири кроки; ця сторінка пояснює, що кожен крок слухає.

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

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

Два факти роблять усяку роботу. По-перше, Адитивний ключ повторюється, тож суми однієї позиції ключа ділять його зміщення — у потока є Довжина ключа, яку треба знайти. По-друге, кожна цифра координати живе в межах 1–5, тож число-кандидат ключа правдоподібне, лише якщо віднімання від кожного значення його стовпця лишає обидві цифри в межах 1–5. Одна невірна цифра — і значення падає з сітки.

Майстер, крок за кроком

  1. Довжина ключа. Інструмент нарізає потік чисел на кожну кандидатку періоду й міряє, як сильно кожен зріз скупчується (числовий двійник Індекс збігу), плюс як часто короткі пробіги чисел повторюються з інтервалом ключа. Оберіть картку — оцінка це підказка, не відповідь.

  2. Закріпити кожне число ключа. Стовпець за стовпцем: ви пробуєте числа ключа (дві цифри, кожна 1–5), і кожне значення стовпця голосує — зелене, коли віднімання лишається в квадраті, червоне, коли ні. На легкому числа, що не підходять жодному значенню, сірі до спроби; на важкому видно лише червоне й зелене після кожної спроби. Ніколи не заповнюємо стовпець за вас.

  3. Відбудувати квадрат. З закріпленим ключем відніміть його — і потік стискається назад у прості координати Полібія, 11–55. Це пряма Підстановка, тож спільна дошка призначень підхоплює: літери за частотою, живий частковий текст, вільне скасування. Квадрат заповнюється поруч із дошкою.

  4. Готово. Відновлений квадрат (і ключове слово, яке він складає, якщо він ключовий) плюс адитивний ключ подорожують на вкладку Tool через «use this result».

Чому двоступенева атака працює

Сам по собі жоден крок не вирішальний, але кожен стискає пошук іншого: обмеження діапазону зводить 25 можливих чисел ключа на стовпець до жмені, а щойно ключ зник — шифр це підручниковий підрахунок частот. Це той самий поділяй-и-володарюй, що й у зломщику Vigenère — знайти період, потім атакувати кожен зріз — тільки зрізи з чисел, а не літер.

Глосарій

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