T

Text Machine

Мощные текстовые инструменты прямо в браузере

Шифр столбцовой перестановки

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

Ключевое слово

Ключевое слово

Введите ключевое слово. Его буквы задают столбцы: текст записывается поперёк них строка за строкой, а затем столбцы считываются в алфавитном порядке ключевого слова. Повторяющиеся буквы ключа берутся слева направо.

Открытый текст
Шифротекст

Введите текст выше, чтобы увидеть здесь результат.

Как пользоваться Шифр столбцовой перестановки

  1. 1

    Выберите шифрование или расшифровку

    Выберите «Зашифровать», чтобы перемешать открытый текст в шифротекст столбцовой перестановки, или «Расшифровать», чтобы превратить шифротекст обратно в исходное сообщение.

  2. 2

    Выберите неполные или полные столбцы

    «Неполные» оставляют последнюю строку короткой и возвращают ваш текст в точности. «Полные» дополняют сетку до полного прямоугольника выбранным вами символом, так что каждый столбец одинаковой длины.

  3. 3

    Введите ключевое слово

    Введите ключевое слово. Его длина задаёт число столбцов, а алфавитный порядок его букв задаёт порядок, в котором столбцы считываются. Обе стороны должны использовать одно и то же ключевое слово; в режиме «Полные» вы также можете задать символ заполнения.

  4. 4

    Введите или вставьте текст

    Введите своё сообщение, и оно переставляется по мере набора. Сетка шифрования показывает ваш текст, заполненный в столбцы по ключу, с пронумерованным порядком считывания каждого столбца.

  5. 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, а столбцовую перестановку оставьте для обучения, головоломок и соревнований по захвату флага.

Часто задаваемые вопросы

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

Похожие инструменты

Продолжайте работу с этими удобными инструментами

Шифр Рейл-Фенс

Шифр скитала

Шифр Цезаря

Шифр Виженера

Шифр Атбаш

Шифр Плейфера