Шифр столбцовой перестановки
Шифруйте и расшифровывайте шифр столбцовой перестановки — классическое перемешивание на основе ключевого слова. Ваш текст записывается в сетку строка за строкой под ключевым словом, а затем столбцы считываются обратно в алфавитном порядке букв ключевого слова — ничего не заменяется, каждый символ просто перемещается. Выберите неполные или полные столбцы, задайте символ заполнения, следите за живой сеткой и копируйте, скачивайте или делитесь результатом. Всё работает в вашем браузере.
Ключевое слово
Введите ключевое слово. Его буквы задают столбцы: текст записывается поперёк них строка за строкой, а затем столбцы считываются в алфавитном порядке ключевого слова. Повторяющиеся буквы ключа берутся слева направо.
Введите текст выше, чтобы увидеть здесь результат.
Как пользоваться Шифр столбцовой перестановки
- 1
Выберите шифрование или расшифровку
Выберите «Зашифровать», чтобы перемешать открытый текст в шифротекст столбцовой перестановки, или «Расшифровать», чтобы превратить шифротекст обратно в исходное сообщение.
- 2
Выберите неполные или полные столбцы
«Неполные» оставляют последнюю строку короткой и возвращают ваш текст в точности. «Полные» дополняют сетку до полного прямоугольника выбранным вами символом, так что каждый столбец одинаковой длины.
- 3
Введите ключевое слово
Введите ключевое слово. Его длина задаёт число столбцов, а алфавитный порядок его букв задаёт порядок, в котором столбцы считываются. Обе стороны должны использовать одно и то же ключевое слово; в режиме «Полные» вы также можете задать символ заполнения.
- 4
Введите или вставьте текст
Введите своё сообщение, и оно переставляется по мере набора. Сетка шифрования показывает ваш текст, заполненный в столбцы по ключу, с пронумерованным порядком считывания каждого столбца.
- 5
Скопируйте, скачайте или поделитесь
Скопируйте результат, скачайте его в виде текстового файла или поделитесь ссылкой, которая снова откроет инструмент с вашими точными текстом, ключевым словом, режимом и заполнением, готовыми к работе.
Как устроен шифр столбцовой перестановки
Что такое шифр столбцовой перестановки?
Шифр столбцовой перестановки — один из старейших и самых наглядных способов скрыть сообщение. Это шифр перестановки, а значит, он не меняет ни одной буквы — он меняет только их порядок. Каждый символ в шифротексте — это символ, который был в открытом тексте; они просто перетасованы по фиксированному, воспроизводимому правилу. Это правило задаётся ключевым словом, благодаря чему перемешивание легко передать доверенному партнёру и трудно обратить тому, кто его не знает.
Идея в том, чтобы записать сообщение в сетку, строка за строкой, под буквами ключевого слова, а затем считать сетку обратно по одному столбцу за раз. Хитрость — в порядке, в котором считываются столбцы: не слева направо, а в алфавитном порядке букв ключевого слова. Поскольку порядок задаёт ключевое слово, два человека, у которых оно общее, могут свободно шифровать и расшифровывать, тогда как для всех остальных порядок столбцов выглядит произвольным.
Как работает шифр столбцовой перестановки
Начните с того, что напишите ключевое слово вдоль верха сетки, по одной букве на столбец. Затем запишите под ним сообщение, заполняя первую строку слева направо, потом вторую строку и так далее, пока всё сообщение не будет выложено. Число столбцов фиксируется длиной ключевого слова, поэтому шестибуквенное ключевое слово всегда даёт шесть столбцов, независимо от того, насколько длинное сообщение.
Теперь пронумеруйте столбцы в алфавитном порядке букв ключевого слова: столбец под буквой, которая раньше всех в алфавите, считывается первым, следующая по алфавиту — второй, и так далее. Если в ключевом слове две одинаковые буквы, эти столбцы считываются слева направо, в порядке их появления. Наконец, считайте сетку столбец за столбцом в этом пронумерованном порядке, выписывая буквы каждого столбца по очереди. Полученная строка и есть шифротекст. Чтобы расшифровать, вы обращаете процесс: заново строите пустую сетку, заполняете столбцы обратно в порядке их считывания и читаете поперёк строк.
Неполные столбцы против полных
Большинство сообщений не делятся ровно по сетке, поэтому последняя строка оказывается неполной. В неполной форме — классической учебной столбцовой перестановке — вы просто оставляете эти ячейки пустыми. Тогда столбцы различаются по длине на одну букву, а шифротекст ровно такой же длины, как исходное сообщение. Режим «Неполные» этого инструмента делает именно так и в точности возвращает ваш текст: расшифровка возвращает именно то, что вы ввели, включая пробелы и пунктуацию.
В полной форме вы, наоборот, дополняете сообщение, чтобы заполнить последнюю строку, так что каждый столбец одинаковой длины, а сетка — идеальный прямоугольник. Заполнение обычно представляет собой фиксированную согласованную букву, такую как X или Q, либо ряд нулевых символов. Полные столбцы делают длины столбцов очевидными, что исторически упрощало работу карандашом на бумаге и необходимо, когда ту же сетку переставляют второй раз. Переключитесь в режим «Полные», чтобы дополнить сетку символом по вашему выбору; расшифровка тогда возвращает ваш текст, за которым следует добавленное заполнение, которое вы можете срезать.
Роль ключевого слова
Ключевое слово выполняет сразу две задачи: его длина задаёт, сколько столбцов в сетке, а алфавитный ранг его букв задаёт порядок, в котором столбцы считываются. Более длинное ключевое слово даёт более широкую и низкую сетку и более тщательное перемешивание; ключевое слово, буквы которого уже близки к алфавитному порядку, почти ничего не переставляет, поэтому хорошо перемешанное ключевое слово надёжнее. Значение имеет только относительный порядок букв, и именно поэтому ключевое слово и любое слово с тем же ранжированием букв дают одну и ту же перестановку.
Поскольку ключевое слово — весь секрет, и отправитель, и получатель должны использовать ровно одно и то же. В этом инструменте на порядок столбцов влияют только буквы ключевого слова — пробелы, цифры и пунктуация игнорируются, — а повторяющиеся буквы сохраняют свой порядок слева направо, так что ключевое слово вроде BANANA всё равно даёт определённую, воспроизводимую последовательность столбцов. Измените ключевое слово — и шифротекст полностью поменяется, а то же ключевое слово всегда расшифрует его обратно.
Разбор примера
Возьмём сообщение WE ARE DISCOVERED FLEE AT ONCE и ключевое слово ZEBRAS. Без пробелов сообщение выглядит как WEAREDISCOVEREDFLEEATONCE, двадцать пять букв, а в ZEBRAS шесть букв, поэтому мы записываем его в шесть столбцов: WEARED в первой строке, ISCOVE во второй, REDFLE в третьей, EATONC в четвёртой и последняя короткая строка, содержащая только E.
Теперь ранжируем буквы ключевого слова по алфавиту — A, B, E, R, S, Z — что нумерует столбцы 5, 3, 2, 4, 6, 1 слева направо. Считывание столбцов в этом порядке даёт EVLN из столбца A, ACDT из столбца B, ESEA из столбца E, ROFO из столбца R, DEEC из столбца S и, наконец, WIREE из столбца Z. Соединённые вместе, они дают шифротекст EVLNACDTESEAROFODEECWIREE. Подача этого и ключевого слова ZEBRAS в режим расшифровки заново строит сетку и считывает обратно WEAREDISCOVEREDFLEEATONCE.
Расшифровка сообщения столбцовой перестановки
Расшифровка выглядит труднее шифрования, но следует той же сетке. По длине шифротекста и числу столбцов в ключевом слове вы можете точно вычислить, насколько высок каждый столбец: если сообщение не делится ровно, самые левые столбцы — те, что содержат самые ранние символы каждой строки, — на одну букву выше остальных. Зная высоту каждого столбца, вы можете разрезать шифротекст обратно на его столбцы в порядке считывания, вернуть каждый столбец на его место по ключевому слову и прочитать поперёк строк, чтобы восстановить сообщение.
Единственный секрет, который вам нужен, — это ключевое слово; всё остальное задаётся самим шифротекстом. Вот почему этот инструмент может расшифровывать исключительно из шифротекста и ключевого слова, без дополнительной информации. Используйте то же ключевое слово, что и при шифровании, и тот же режим, если применялось заполнение, и исходное сообщение появится вновь — для неполных столбцов оно возвращается в точности, а для полных столбцов оно возвращается со своим заполнением, готовым к срезке.
История и надёжность
Столбцовая перестановка насчитывает века и была рабочей лошадкой полевой криптографии вплоть до двадцатого века, ценимой за то, что ей не нужно ничего, кроме бумаги, ключевого слова и твёрдой руки. Сама по себе она ненадёжна: поскольку она никогда не меняет буквы, у шифротекста ровно те же частоты букв, что и у открытого текста, и криптоаналитик может атаковать его, угадывая число столбцов и пытаясь снова сложить части вместе — приём, называемый anagramming. Короткие сообщения и повторно используемые ключевые слова поддаются особенно быстро.
Её настоящая сила приходит от сочетания с другими шагами. Выполнение перестановки дважды с двумя разными ключевыми словами — double transposition — десятилетиями считалось достаточно надёжным для серьёзного использования, а наложение перестановки поверх замены — это именно то, что делает шифр ADFGVX грозным. Сегодня столбцовую перестановку лучше всего рассматривать как учебный инструмент и головоломку: это наглядная, практическая иллюстрация того, как перестановка букв скрывает сообщение. Для защиты настоящей информации используйте современный, проверенный сообществом алгоритм, такой как AES, а столбцовую перестановку оставьте для обучения, головоломок и соревнований по захвату флага.
Часто задаваемые вопросы
Что такое шифр столбцовой перестановки?
Как работает шифр столбцовой перестановки?
В чём разница между полными и неполными столбцами?
Можете показать пример столбцовой перестановки?
Как расшифровать шифр столбцовой перестановки?
Что делает ключевое слово?
Что происходит, если в ключевом слове есть повторяющиеся буквы?
Сохраняет ли шифр пробелы и пунктуацию?
Для чего нужен символ заполнения?
Что такое двойная перестановка?
Насколько надёжен шифр столбцовой перестановки?
Загружается ли мой текст на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами