UTILS.
100% в браузере
🚂

Шифр «изгородь» — кодировщик / декодировщик

Шифр перестановки «зигзаг»: пишите текст по диагонали через N рядов, затем считывайте построчно. Кодируйте или декодируйте с настраиваемым числом рядов и начальным смещением.

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

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

Шифр «изгородь» (Rail Fence, кодировщик / декодировщик) — это бесплатный браузерный инструмент для самого известного шифра перестановки. Вместо замены букв он их переставляет: открытый текст пишется зигзагом вниз и вверх через выбранное число горизонтальных рядов, затем считывается по одному полному ряду сверху вниз. При 3 рядах позиции букв следуют шаблону 0,1,2,1,0,1,2,… так что соседние символы попадают на разные ряды перед перегруппировкой.

Для декодирования инструмент воссоздаёт точный зигзагообразный путь для длины шифртекста, вычисляет, сколько символов принадлежит каждому ряду, разрезает шифртекст на эти ряды, а затем снова проходит зигзаг, чтобы вернуть буквы в исходный порядок. Он поддерживает 2 и более ряда, необязательное начальное смещение, которое сдвигает то, где в зигзаге находится первая буква, и трактует единственный ряд как тождество (без изменений). Всё работает локально в вашем браузере, ничего не загружается.

По умолчанию пробелы и знаки препинания переносятся как обычные символы, поэтому перестановка полностью обратима; переключатель позволяет удалить не-буквы перед кодированием, когда нужен чистый шифртекст только из букв. «Изгородь» — классический напарник шифра Цезаря на уроках криптографии и частый гость CTF-задач и квест-комнат, иллюстрирующий, как шифры перестановки прячут сообщение, перемешивая позицию, а не идентичность.

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

Как работает шифр «изгородь»?
Символы пишутся по диагонали через N рядов зигзагом — вниз к нижнему ряду, обратно вверх к верхнему и так далее — затем считываются ряд за рядом сверху вниз. Это шифр перестановки: он переупорядочивает буквы, а не заменяет их.
Как декодирование восстанавливает текст?
Инструмент воссоздаёт зигзагообразный шаблон для длины шифртекста, чтобы посчитать, сколько букв держит каждый ряд, разрезает шифртекст на эти ряды, затем снова следует зигзагообразному пути, чтобы прочитать буквы в исходном порядке.
Что делает смещение?
Смещение сдвигает то, где в цикле зигзага начинается первый символ, фактически начиная с середины ряда. Одно и то же смещение должно использоваться для кодирования и декодирования, чтобы получить совпадающий результат.
Зачем сохранять пробелы и знаки препинания?
Сохранение каждого символа делает перестановку точно обратимой, поэтому декодирование возвращает ваш исходный текст, включая пробелы. Используйте опцию удаления, чтобы убрать не-буквы, когда нужен компактный шифртекст только из букв.

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