T

Text Machine

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

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

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

Настройки изгороди

Рельсы

3

Смещение

0

Рельсы задают, сколько строк использует зигзаг. Смещение сдвигает, в каком месте изгороди начинается первый символ, — оставьте 0 для стандартного шифра.

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

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

Схема зигзагообразной изгороди

Пример со словом WEAREDISCOVERED. Введите свой текст выше, чтобы увидеть его на изгороди.

W
E
C
R
E
R
D
S
O
E
E
A
I
V
D

Как пользоваться Шифр Рейл-Фенс

  1. 1

    Выберите кодирование или декодирование

    Выберите Кодировать, чтобы превратить открытый текст в шифртекст Рейл-Фенс, или Декодировать, чтобы восстановить исходное сообщение из шифртекста.

  2. 2

    Задайте рельсы и смещение

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

  3. 3

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

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

  4. 4

    Прочитайте, рассмотрите и поделитесь результатом

    Преобразованный текст появляется мгновенно. Откройте схему изгороди, чтобы увидеть зигзаг, затем скопируйте результат, скачайте его в виде текстового файла или поделитесь ссылкой, которая снова откроет инструмент с вашими точными настройками и текстом.

Как устроен шифр Рейл-Фенс

Что такое шифр Рейл-Фенс?

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

Поскольку единственный секрет — это число рельсов, Рейл-Фенс является одним из простейших шифров для использования вручную. Он применялся как быстрый полевой шифр во время Гражданской войны в США и остаётся завсегдатаем головоломок, квестов, соревнований capture-the-flag и вводных уроков криптографии, где он обычно служит первым примером перестановки.

Как работает шифр Рейл-Фенс

Выберите число рельсов, скажем три. Начиная с верхнего рельса, вы записываете сообщение по одному символу на столбец, двигаясь по диагонали вниз к нижнему рельсу, затем отскакивая обратно вверх к верхнему, затем снова вниз, вычерчивая зигзаг. Когда все символы расставлены, вы считываете сетку обратно по одному полному рельсу за раз, от верхнего рельса к нижнему, и соединяете эти части вместе, чтобы получить шифртекст.

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

Разбор примера

Возьмём сообщение WEAREDISCOVEREDFLEEATONCE с тремя рельсами. Записывая его зигзагом, мы помещаем W, E, C, R, L, T, E на верхний рельс; E, R, D, S, O, E, E, F, E, A, O, C на средний рельс; и A, I, V, D, E, N на нижний рельс. Считывание рельсов по порядку даёт WECRLTE, затем ERDSOEEFEAOC, затем AIVDEN.

Соединённый вместе шифртекст — это WECRLTEERDSOEEFEAOCAIVDEN. Обратите внимание, что каждая буква оригинала по-прежнему на месте, лишь перемешана в новом порядке, и что результат имеет точно ту же длину, что и ввод.

Как декодировать шифр Рейл-Фенс

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

Затем вы возвращаете каждую часть на её рельс и считываете изгородь в исходном зигзагообразном порядке — с верхнего рельса вниз к нижнему и обратно, — чтобы восстановить открытый текст. Этот инструмент делает всё это за вас: переключитесь на Декодировать, задайте то же число рельсов и смещение, которые использовались при кодировании, и вставьте шифртекст.

Рельсы, смещение и ключ

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

Необязательное смещение сдвигает начальную точку зигзага, как будто первый символ начался где-то посередине изгороди, а не на верхнем рельсе. Если оставить смещение равным нулю, получается стандартный учебный шифр; его изменение даёт родственный вариант, и для декодирования нужно снова задать то же смещение. Один полный цикл зигзага охватывает 2 × (rails − 1) столбцов, прежде чем узор повторится.

Как взломать шифр Рейл-Фенс

У Рейл-Фенс крошечное пространство ключей. Для сообщения заданной длины есть лишь горстка разумных вариантов числа рельсов, которые стоит перебрать, поэтому атакующий может просто декодировать с двумя рельсами, затем с тремя, затем с четырьмя и так далее, и прочитать тот результат, что имеет смысл. Такой перебор занимает считаные мгновения даже вручную и мгновенен на компьютере.

Поскольку шифр является чистой перестановкой, сами буквы остаются нетронутыми, поэтому частоты букв шифртекста в точности совпадают с обычным текстом. Это само по себе подсказка: текст с нормальной статистикой букв, который читается как бессмыслица, — верный признак того, что используется шифр перестановки, такой как Рейл-Фенс.

Надёжен ли шифр Рейл-Фенс?

Нет. С таким малым числом возможных ключей и быстрым взломом перебором Рейл-Фенс не обеспечивает никакой реальной защиты для сведений, которые должны оставаться в тайне. Исторически он ценился за скорость и простоту в поле, а не за стойкость, и иногда сочетался с шагом замены, чтобы получить более стойкий составной шифр.

Сегодня его ценность учебная и развлекательная. Это идеальный способ объяснить идею перестановки, увлекательный механизм для головоломок и игр и небольшой кусочек истории криптографии. Для настоящей безопасности вместо него используются современные алгоритмы, такие как AES.

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

Что такое шифр Рейл-Фенс?
Шифр Рейл-Фенс — это классический шифр перестановки, также известный как зигзагообразный шифр. Он записывает ваше сообщение зигзагом поперёк нескольких рельсов, а затем считывает его рельс за рельсом. Он не заменяет ни одной буквы, а лишь меняет их порядок, поэтому шифртекст является анаграммой открытого текста.
Как работает шифр Рейл-Фенс?
Вы выбираете число рельсов, затем записываете сообщение по диагонали вниз и обратно вверх поперёк этих рельсов, по одному символу на столбец. Когда все символы расставлены, вы считываете сетку по одному полному рельсу за раз сверху вниз и соединяете части, чтобы получить шифртекст. Пробелы и знаки препинания перемещаются вместе с буквами.
Можете показать пример Рейл-Фенс?
С тремя рельсами сообщение WEAREDISCOVEREDFLEEATONCE превращается в WECRLTEERDSOEEFEAOCAIVDEN. Верхний рельс читается как WECRLTE, средний рельс — как ERDSOEEFEAOC, а нижний рельс — как AIVDEN. Каждая исходная буква по-прежнему на месте, лишь перемешана, а длина не изменилась.
Как декодировать шифр Рейл-Фенс?
Переключитесь на Декодировать и задайте то же число рельсов и смещение, которые использовались при кодировании, затем вставьте шифртекст. Инструмент заново строит изгородь, вычисляет, сколько символов принадлежит каждому рельсу, заново заполняет рельсы и считывает зигзаг обратно, чтобы восстановить исходное сообщение.
Что делает число рельсов?
Число рельсов — это ключ. Больше рельсов создают более глубокий зигзаг и более основательную перестановку, но лишь до определённого предела. Один рельс оставляет текст неизменным, а как только число рельсов приближается к длине сообщения, перемешивание снова ослабевает, поэтому полезный диапазон — примерно от двух рельсов до половины длины сообщения.
Что такое смещение в шифре Рейл-Фенс?
Смещение сдвигает то, где начинается зигзаг, как будто первый символ начался где-то посередине изгороди, а не на верхнем рельсе. Если оставить его равным нулю, получается стандартный учебный шифр. Если сообщение было закодировано со смещением, для его правильного декодирования нужно задать то же смещение.
Меняет ли шифр Рейл-Фенс пробелы и знаки препинания?
Да. Поскольку это шифр перестановки, каждый символ участвует в зигзаге, поэтому пробелы, цифры и знаки препинания переставляются вместе с буквами, а не остаются на месте. Общее число символов всегда остаётся неизменным.
Как взломать шифр Рейл-Фенс?
Пространство ключей очень мало, поэтому вы просто пробуете декодировать с двумя рельсами, затем с тремя, затем с четырьмя и так далее, и оставляете тот результат, что читается. Такой перебор быстр даже вручную. Нормальные частоты букв в сочетании с перемешанным, нечитаемым текстом — сильный намёк на то, что используется шифр перестановки.
Почему Рейл-Фенс называют шифром перестановки?
Шифр перестановки скрывает сообщение, меняя порядок его символов, а не подставляя новые. Рейл-Фенс делает именно это: он сохраняет каждую исходную букву, но перемещает её на новое место, задаваемое зигзагом, поэтому результат является перестановкой тех же букв.
Надёжен ли шифр Рейл-Фенс?
Нет. Имея лишь горстку практичных ключей, его можно взломать перебором за секунды, поэтому он не обеспечивает никакой реальной безопасности для конфиденциальной информации. Его лучше воспринимать как учебный шифр и шифр для головоломок. Для настоящей защиты вместо него следует использовать современные алгоритмы, такие как AES.
Загружается ли мой текст на сервер?
Нет. Всё кодирование и декодирование происходят полностью в вашем браузере, поэтому ваш текст никогда не загружается, не записывается в журналы и не сохраняется. Даже ссылка для обмена хранит ваш текст в части URL после знака решётки, которую браузеры никогда не отправляют на сервер, поэтому он остаётся конфиденциальным, пока вы сами не решите им поделиться.
Как написать шифр Рейл-Фенс в коде?
Вычислите для каждой позиции в сообщении, на какой рельс она попадает, отсчитывая вниз от верхнего рельса к нижнему и обратно вверх в повторяющемся цикле. Чтобы закодировать, добавляйте каждый символ к его рельсу, а затем соедините рельсы по порядку. Чтобы декодировать, подсчитайте, сколько символов содержит каждый рельс, нарежьте шифртекст на эти части и считайте их обратно в зигзагообразном порядке. Этот браузерный инструмент использует именно такой подход.

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

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

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

Шифр скитала

Шифр Цезаря

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

Шифр Атбаш

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