Rail fence — найпростіша для уяви Перестановка: літери рухаються діагоналлю по паркану, стрибаючи між верхньою та нижньою рейками, а шифротекст — це рейки, прочитані одна за одною, зверху вниз.
Виберіть кількість рейок, скажімо 3, і запишіть відкритий текст
діагоналлю: A на рейці 1, T на рейці 2, T на рейці 3, A
знову на рейці 2 і так далі — Зигзаг.
Для ATTACKATDAWN паркан заповнюється так:
рейка 1: A · A · A, рейка 2: T · C · T · T · A · W,
рейка 3: T · K · D · N.
Прочитайте рейки згори вниз: AAA, потім TCTTAW, потім KDN.
Шифротекст — AAATCTTAWKDN. Розшифрування — той самий рух навпаки:
порахуйте, скільки літер має кожна рейка, розріжте шифротекст
відповідно і знову пройдіть парканом.
{{example:railFence-basic}}
Кожен рядок слідкує за однією літерою відкритого тексту: на якій рейці вона сидить і на яку позицію шифротексту потрапляє. Зауважте, як перші три літери шифротексту — це просто верхня рейка: паркан показує всю свою форму на видноті.
Класичний паркан завжди починається з верхньої рейки — перша літера шифротексту завжди перша літера повідомлення, подарунок нападникові. Зсув пересуває початкову рейку: з 3 рейками та зсувом 1 зигзаг починається з середньої рейки вниз. Той самий паркан, на одну річ більше для перевірки.
Ключ — два малі числа. Навіть найбільше налаштування тут — десять рейок — перевіряється за мить, і кожна проба оцінюється тим, чи читається текст. Тому rail fence — перша перестановка для зламу руками, а керований зломщик перетворює її на один повзунок.
Відкрийте інструмент, лишіть 3 рейки і введіть MEET ME AT NOON.
Спостерігайте, як малюється Зигзаг: перші літери падають
діагоналлю, потім відскакують.
Порівняйте шифротекст із парканом: це рейки, записані поспіль, згори вниз — і нічого більше.
Перемкніться в розшифрування і вставте криптограму назад. Той самий паркан відбудовує повідомлення.
Встановіть зсув 1 (старт із середньої рейки) і зашифруйте те саме повідомлення ще раз.
Порівняйте два шифротексти: версія зі зсувом більше не починається з першої літери повідомлення — найочевидніша ознака класичного паркану зникла.
Спробуйте максимальний зсув (старт із нижньої рейки): зигзаг спершу йде вгору. Кожне налаштування — лише інший спосіб пройти тим самим парканом.
Зашифруйте повідомлення на 3 рейках і придивіться до них: кожна — «стовпець» зигзагоподібної сітки.
Тепер відкрийте інструмент Columnar, зашифруйте те саме повідомлення з трилітерним ключем і порівняйте: сітка columnar — та сама ідея, лише прямі стовпці замість діагоналі.
Тому обидва шифри падають від однієї зброї — відбудови порядку — і тому крок два зломщика columnar — старший брат повзунка rail fence.
Rail fence — Перестановка із двочисловим ключем: кількість рейок і зсув. Аналізувати нічого повільно — вся атака це спроби налаштувань, і майстер на вкладці «Криптоаналіз» стискає її в один повзунок.
{{challenge:railFence-demo}}
Щонайбільше десять рейок і жменя зсувів: кілька десятків налаштувань, кожне перевіряється одним поглядом. Курс статистики не потрібен — єдине питання, який запис змушує рядки читатися англійською. Тому rail fence — трамплін до зламу перестановок: досвід рухатися повзунком, доки не зчитується — це та сама навичка, якої вимагає зломщик Columnar, мінус важка частина.
Рухайте. Пересуньте повзунок кількості рейок і повзунок зсуву. Паркан перемальовується з кожною поділкою, а кандидат відкритого тексту оновлюється наживо — неправильні налаштування показують сплутані рядки, правильне показує слова.
Стежте за лічильником. Кожне налаштування оцінюється за англійськістю його тексту — двограмний родич Частотний аналіз: TH, HE та IN мають високі бали, безглузді пари — нуль. Лічильник — вимірювальна стрічка, а не оракул: на дуже коротких текстах неправильне налаштування може обійти правильне, і остаточний суддя — ваше око.
Готово. «Використати цей результат» несе рейки та зсув на вкладку «Інструмент», яка розшифровує повідомлення. Налаштування — і є весь ключ.
Інструмент ніколи не рухає повзунок за вас. Легкий пресет лише позначає, де лічильник сягає піку — вказівник, а не клік, бо пошук і є уроком.
Більше рейок роблять картину заплутанішою, а не шифр сильнішим: простір ключів зростає лінійно, тоді як тест читання лишається миттєвим. Подвійна перестановка та сітка columnar — природні наступні кроки: обидва ламають обхідний шлях «спробувати все», і обидва чекають у наступних розділах цієї драбини.