Шифр колоночной перестановки
Введите ключевое слово и сообщение — и инструмент запишет сообщение строками под ключом, пронумерует столбцы по алфавиту и считает их по порядку. Каждая сетка выводится наглядно. Расшифровка восстанавливает сетку только по длине, с заполнением или без него, а второй ключ даёт двойную перестановку.
Один столбец на букву, читается в алфавитном порядке ключа; повторяющаяся буква нумеруется слева направо. Цифры тоже работают (3142).
Расшифровывайте с теми же настройками, с которыми шифровали: каждый символ, сохранённый здесь, — часть сетки.
Сетки
Сетка 1: запишите сообщение строками под ZEBRAS
| Z | E | B | R | A | S |
|---|---|---|---|---|---|
| Порядок 6 | Порядок 3 | Порядок 2 | Порядок 4 | Порядок 1 | Порядок 5 |
| W | E | A | R | E | D |
| I | S | C | O | V | E |
| R | E | D | F | L | E |
| E | A | T | O | N | C |
| E |
Считайте столбцы по порядку: EVLN · ACDT · ESEA · ROFO · DEEC · WIREE
Как пользоваться шифром колоночной перестановки
- 1. Выберите режим и ключевое слово. Каждый символ ключевого слова задаёт один столбец. Столбцы нумеруются по алфавитному порядку их букв; повторяющиеся буквы нумеруются слева направо; цифры тоже работают.
- 2. Решите, как заканчивается последняя строка. Оставьте её короткой — неравные столбцы — или заполните X, чтобы все столбцы были одной длины. Отправитель и получатель должны сделать один и тот же выбор.
- 3. Выберите, что перемещается. По умолчанию перемещаются только буквы, заглавные — это классический способ. Отметьте пробелы, знаки препинания или строчные, чтобы переставлять и их; расшифровывайте с теми же настройками.
- 4. Добавьте второй ключ для двойной перестановки и скопируйте результат — при желании группами по пять букв. В ходе работы показаны сетки с номерами столбцов.
Как работает колоночная перестановка
Шифр перестановки сохраняет каждую букву и меняет только их порядок. При колоночной перестановке сообщение записывают строками шириной в ключевое слово, а затем считывают по столбцам — не слева направо, а в алфавитном порядке букв ключевого слова.
В ZEBRAS буквы в алфавитном порядке: A, B, E, R, S, Z, поэтому шесть столбцов читаются в порядке 6 3 2 4 1 5: сначала столбец A. Сообщение We are discovered. Flee at once. — 25 букв — заполняет четыре полные строки и одну букву пятой:
Сетка для ключевого слова ZEBRAS
Z E B R A S 6 3 2 4 1 5 ----------- W E A R E D I S C O V E R E D F L E E A T O N C E
Чтение столбцов в порядке их номеров даёт EVLN, ACDT, ESEA, ROFO, DEEC и WIREE; отправляется это как EVLNA CDTES EAROF ODEEC WIREE — пример инструмента. Если заполнить последнюю строку X, получится EVLNX ACDTX ESEAX ROFOX DEECX WIREE с пятью заполнителями, которые получатель должен вычеркнуть после расшифровки.
Расшифровка: восстановление сетки
Получатель знает длину (25) и ключ (6 столбцов). Поскольку 25 = 4 × 6 + 1, есть четыре полные строки и одна лишняя буква, поэтому крайний левый столбец содержит пять букв, а остальные — четыре. Заполнив столбцы в порядке номеров — EVLN под A, ACDT под B и так далее, а WIREE под Z — и читая строки поперёк, он восстанавливает сообщение. С заполнением все столбцы одинаковой длины, и арифметика ещё проще.
Двойная перестановка
Пропуск результата через вторую сетку перемешивает его гораздо основательнее. Если записать EVLNACDTESEAROFODEECWIREE под STRIPE (порядок столбцов 5 6 4 2 3 1) и считать по столбцам, получится CAEEN SOIAE DRLEF WEDRE EVTOC. Расшифровка отменяет сначала вторую сетку, затем первую. При включённом заполнении инструмент дополняет только первую сетку, поэтому вторая всегда отменяется по длине.
История
Перестановка — древняя идея: спартанская скитала обматывала полоску письма вокруг жезла, а Cryptomenysis Patefacta Джона Фолконера (1685) даёт одно из первых английских объяснений ключевой колоночной перестановки с пустышками, которыми заполняется последняя строка. В Первой мировой войне германская армия использовала двойную колоночную перестановку, которую французы называли Übchi; её регулярно читали, пока об их успехах не сообщила газета Le Matin, и 18 ноября 1914 года немцы заменили её. Во Второй мировой войне двойная перестановка была полевым шифром британского Управления специальных операций (SOE), американского OSS, голландского Сопротивления и французского маки, а также аварийным шифром армии и флота Германии.
Насколько надёжна колоночная перестановка?
Одинарная перестановка слаба. Частоты её букв в точности такие же, как у обычного английского текста, что сразу говорит аналитику: буквы переставлены, а не заменены. Аналитик может угадать число столбцов, разрезать шифртекст на столбцы и сдвигать их друг относительно друга, пока не появятся слова — это анаграммирование. Неравные столбцы усложняют задачу по сравнению с заполненными. Двойная перестановка была доверенным полевым шифром вплоть до 1950-х годов, но два сообщения одинаковой длины под одними ключами можно вместе анаграммировать, а в 2013 году Джордж Ласри с помощью компьютера решил задачу на двойную перестановку, которую её автор считал неразрешимой. Используйте шифр, чтобы учиться понимать перестановку, а не чтобы хранить секреты.
Часто задаваемые вопросы
- Что такое шифр колоночной перестановки?
- Шифр, который записывает сообщение строками под ключевым словом, а затем считывает его по столбцам в алфавитном порядке букв ключевого слова. Каждая буква сообщения остаётся в шифртексте; меняется только порядок. Получатель, знающий ключевое слово, восстанавливает сетку и читает строки.
- Как по ключевому слову определяется порядок столбцов?
- Пронумеруйте буквы ключевого слова по алфавиту. ZEBRAS даёт 6 3 2 4 1 5, потому что A идёт первой, а Z — последней. Когда буква повторяется, её копии нумеруются слева направо, поэтому LETTER даёт 3 1 5 6 2 4. Ключ из цифр, например 3142, читается в числовом порядке.
- Нужно ли заполнять последнюю строку буквой X?
- Подойдёт любой вариант, если обе стороны договорились. Заполнение делает все столбцы одной длины, что проще делать вручную, но заполнители придётся удалить после расшифровки, и по ним аналитик видит форму сетки. Если оставить последнюю строку короткой — неравные столбцы, — заполнителей не будет, и атаковать такой шифр труднее.
- Как расшифровать колоночную перестановку без ключа?
- Угадайте число столбцов — при заполнении оно делит длину сообщения — запишите шифртекст в столбцы этой длины и переставляйте столбцы, пока строки не станут словами. Частые пары букв, такие как TH, HE и IN, показывают, какие столбцы должны стоять рядом. Двойную перестановку таким способом вручную не взломать, хотя компьютеры её всё же решают.
- Что такое двойная перестановка?
- Колоночная перестановка, применённая дважды, обычно с двумя разными ключевыми словами. Результат первой сетки становится входом второй. Это намного сильнее одинарной перестановки — на ней держались сети Сопротивления во Второй мировой войне и агенты SOE и OSS, — но против современных компьютерных атак она не защищает.
- В чём разница между перестановкой и подстановкой?
- Шифр подстановки заменяет каждую букву другой и сохраняет порядок; перестановка сохраняет буквы и меняет порядок. Поэтому частоты букв в перестановке остаются такими же, как в открытом тексте. Исторически эти два приёма часто сочетали, например в шифре ADFGVX времён Первой мировой войны.