UTILS.
100% в браузере
🏛️

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

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

— результат появится здесь —

Об этом инструменте

Инструмент «Шифр вертикальной перестановки» — это бесплатный браузерный кодировщик и декодировщик для шифра перестановки на основе ключевого слова, исторически использовавшегося военными, а теперь распространённого в CTF. Открытый текст записывается слева направо в таблицу, ширина которой равна длине ключевого слова. Затем каждый столбец нумеруется по алфавитному рангу буквы ключевого слова над ним — при равенстве приоритет слева направо — и шифртекст получается считыванием столбцов в порядке возрастания ранга. Например, для ключевого слова ZEBRAS сначала считывается столбец A, затем B, затем E, R, S, Z.

Поддерживаются два варианта. В полном (с заполнением) варианте последний короткий ряд заполняется символом-заполнителем по вашему выбору, чтобы все столбцы были одинаковой высоты. В неполном (нерегулярном) варианте заполнение не добавляется, оставляя неровный последний ряд; декодирование тогда тщательно вычисляет истинную длину каждого столбца, чтобы буквы вернулись в правильные ячейки. Все вычисления выполняются локально в вашем браузере, и ничего не загружается.

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

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

Как выбирается порядок считывания столбцов?
Каждый столбец ранжируется по алфавитному порядку буквы ключевого слова над ним, при равенстве приоритет слева направо. Затем столбцы считываются от наименьшего ранга к наибольшему. Для ZEBRAS порядок: A, B, E, R, S, Z.
В чём разница между полным и неполным?
Полный дополняет последний ряд символом-заполнителем, чтобы все столбцы были равной высоты; неполный оставляет последний ряд неровным без заполнения. Декодирование учитывает неравные длины столбцов в неполном варианте.
Для чего нужен символ-заполнитель?
В полном варианте он заполняет любые пустые ячейки в последнем ряду, чтобы каждый столбец имел одинаковое число букв. Это должна быть буква, вряд ли встречающаяся в сообщении, например X; она обрезается при декодировании.
Важно ли написание ключевого слова или только его буквы?
Важен только алфавитный порядок букв, поэтому ключевые слова с одинаковым шаблоном отсортированных букв дают одну и ту же перестановку. Повторяющиеся буквы ранжируются слева направо в порядке их появления.

Больше инструментов