Стовпцева перестановка — це Перестановка: кожна літера зберігає свою ідентичність і лише змінює місце. Ключове слово вирішує, як місця перемішуються — запишіть повідомлення рядок за рядком у сітку, а потім прочитайте стовпці в порядку, який диктує ключове слово.
Виберіть ключове слово, скажімо SUN. Його літери за алфавітом
(N, S, U) задають Порядок стовпців: стовпець під N читають
першим, потім S, потім U.
Запишіть відкритий текст рядок за рядком під ключовим словом, по
одній літері в клітинку: ATT / ACK / ATD / AWN.
Прочитайте стовпці в порядку ключового слова, зверху вниз: стовпець
N дає TKDN, стовпець S AAAA, стовпець U TCTW.
Шифротекст — це стовпці, записані поспіль: TKDNAAAATCTW. Щоб
розшифрувати, відбудуйте сітку так само і прочитайте її рядками.
Кожен рядок слідкує за однією літерою відкритого тексту: у який стовпець сітки її записано і на яку позицію шифротексту вона потрапляє. Літери ніколи не змінюються — A залишається A — але їх порядок без ключа сплутаний до невпізнанності.
Якщо довжина повідомлення не заповнює останній рядок, у відправника два
варіанти. Доповнення завершує сітку фіктивною літерою (інструмент
використовує X): прямокутник стає регулярним, усі стовпці однакової
довжини, а довжина шифротексту видає можливі кількості стовпців.
Неповний останній рядок тримає сітку нерегулярною: трохи важча для
аналізу, і це класична ручна практика. Інструмент пропонує обидва.
Шифрування результату вдруге іншим ключовим словом — класична подвійна перестановка — руйнує просту стовпцеву структуру. Вразливість одинарної перестановки, яку ви використаєте нижче, переважно зникає; саме тому серйозні користувачі — від армій Першої світової до SOE — завжди застосовували перестановку двічі.
Відкрийте інструмент і введіть ключове слово SUN. Сітка показує
Порядок стовпців номерними позначками: 1 під стовпцем, який
ключ читає першим.
Введіть MEET ME AT NOON і порівняйте із сіткою: шифротекст — це
ті самі літери, прочитані стовпцями в порядку позначок.
Перемкніться в режим розшифрування і вставте криптограму назад — вона повернеться без змін. Перестановка сама себе скасовує, якщо відомий порядок читання.
Зашифруйте повідомлення, довжина якого не ділиться на довжину
ключового слова — скажімо, 13 літер під SUN (3 стовпці).
Зашифруйте один раз з увімкненим «Залишити останній рядок неповним» і один раз без. З доповненням довжина шифротексту кратна 3; без — вона дорівнює 13: форма сітки або видає, або приховує інформацію.
Порахуйте, скільки кандидатів-ширин ділять доповнену довжину: кожен дільник — це гіпотеза, яку криптоаналітик мусить перевірити. Нерегулярні сітки скорочують цей список.
Увімкніть «Подвійна перестановка» і додайте друге ключове слово,
скажімо WOLF.
Зашифруйте те саме повідомлення з другим ключем і без нього та порівняйте результати: подвійний не лишає жодного читабельного фрагмента стовпців — саме ті фрагменти, які витікає одинарний шифр.
Ось чому армії подвоювали перестановку і чому керований зломщик цієї програми обмежується одинарною версією.
Перестановка приховує порядок літер, а не самі літери — тож частоти, що вбивають шифри заміни, тут рівні, і на заміну приходить інша вразливість: структура. Майстер на вкладці «Криптоаналіз» веде атаку; ця сторінка пояснює, що робить кожен крок і чому він працює.
Спробувати в інструментіШифротекст — це цілі стовпці сітки, записані поспіль. Якщо вгадати правильну ширину, шифротекст розпадається рівно на ці стовпці — справжні, непошкоджені вертикальні зрізи сітки відкритого тексту. Помилитеся — і розріжете стовпці в довільних місцях, змішавши непов'язані літери. Саме на цьому важелі тримається вся атака.
Кількість стовпців. Для доповненої (регулярної) сітки довжина шифротексту мусить ділитися на ширину без остачі — кандидатами є лише дільники, ранговані за тим, наскільки англійською виглядає найкраще розташування їхніх стовпців. Бал — це підказка, а не відповідь: на коротких текстах неправильна ширина може випередити правильну, і справжня перевірка — крок 2.
Упорядкуйте стовпці. Шифротекст стоїть стовпцями; Анаграмування — це переміщення їх поруч, доки рядки не почнуть читатися англійською. Кожну сусідню пару оцінено за диграмами, які їхні рядки утворюють разом — TH, HE, IN світяться, QX ні. Стежте за позначками, зсувайте перспективних партнерів і довіряйте своєму оці мови більше, ніж числам: інструмент ніколи не пересуває стовпець за вас.
Готово. Коли рядки читаються, відкритий текст відновлено — наприкінці можуть бути літери-доповнення. «Використати цей результат» несе порядок стовпців на вкладку «Інструмент», яка розшифровує все повідомлення.
Літери англійської не незалежні: деякі пари часті, більшість рідкі. Два справжні сусідні стовпці зшивають свої рядки в справжні англійські диграми; два чужі — у шум. Цієї єдиної статистики досить, щоб відбудувати ключ рішення за рішенням — той самий принцип, який зломщик ADFGVX застосовує на другому етапі, де стовпці — той самий об'єкт.
Порядок стовпців одинарної перестановки відновлюється пара за парою. Застосуйте шифр двічі — і жодна пара фрагментів шифротексту не є справжньою парою сусідів відкритого тексту: кожна проста статистика вирівнюється. Злам подвійної перестановки вручну — це ймовірні слова на міліметровому папері та переміщення форм; звісна ручна праця, поза межами цього інструмента.