Шифр поворотной решётки
Кодируйте и расшифровывайте шифр поворотной решётки, также известный как решётка Флейснера. Квадратная карточка, у которой вырезана четверть клеток, накладывается на пустую сетку; вы записываете сообщение сквозь отверстия, поворачиваете карточку на девяносто градусов и записываете снова, пока за четыре поворота сетка не заполнится. Прочитайте сетку построчно — и вы получите шифр. Выберите размер сетки, задайте ключевое слово для построения решётки и следите за живой схемой решётки и сетки. Всё работает прямо в вашем браузере.
Ключевое слово
Размер сетки
Ключевое слово строит решётку: отверстия, вырезанные в карточке. Клетки сетки распадаются на группы по четыре, которые при поворотах переходят одна в другую, и каждая буква ключевого слова выбирает, какая клетка одной группы будет вырезана, так что из каждой группы получается ровно одно отверстие — именно это правило позволяет четырём поворотам идеально заполнить сетку. Другое ключевое слово даёт другой узор отверстий. Учитываются только буквы, и обе стороны должны использовать одно и то же ключевое слово и один и тот же размер сетки.
Введите текст выше, чтобы увидеть результат здесь.
Схема решётки
Пример: образцовое сообщение, заполняющее сетку сквозь решётку за четыре четверти оборота. Введите свой текст выше, чтобы обновить его.
Решётка (отверстия поворота 1)
Сетка (раскрашена по поворотам)
Поворот 1
Поворот 2
Поворот 3
Поворот 4
Как пользоваться Шифр поворотной решётки
- 1
Выберите кодирование или расшифровку
Выберите «Кодировать», чтобы перемешать открытый текст поворотной решёткой, или «Расшифровать», чтобы превратить шифротекст решётки обратно в открытый текст.
- 2
Задайте ключевое слово
Введите ключевое слово для построения решётки. Каждая буква выбирает, какие клетки вырезаются как отверстия. Используйте одно и то же ключевое слово на обеих сторонах.
- 3
Выберите размер сетки
Выберите сетку 4×4, 6×6 или 8×8. Сетка побольше перемешивает за раз более длинные куски текста. Обе стороны должны использовать один и тот же размер.
- 4
Введите или вставьте текст
Введите своё сообщение, и оно преобразуется по мере набора. Схема показывает решётку и сетку, где каждая клетка раскрашена по тому повороту, который её заполнил.
- 5
Копируйте, скачивайте или делитесь
Скопируйте результат, скачайте его в виде текстового файла или поделитесь ссылкой, которая снова откроет инструмент с вашим точным текстом, ключевым словом и размером сетки, готовыми к работе.
Разбираемся в шифре поворотной решётки
Что такое шифр поворотной решётки?
Поворотная решётка — это шифр перестановки: он скрывает сообщение не заменой букв, а перемешиванием порядка, в котором они записаны. Инструментом шифра служит сама решётка — жёсткая квадратная карточка, у которой часть клеток вырезана в виде отверстий. Вы накладываете решётку на пустую сетку того же размера, записываете первые буквы сообщения сквозь отверстия, затем поворачиваете карточку на четверть оборота и записываете следующие буквы сквозь отверстия на их новых местах. После четырёх поворотов карточка ровно один раз покрывает каждую клетку сетки, и сетка, прочитанная в обычном порядке чтения, и есть ваш шифротекст.
Самая известная её разновидность названа в честь Эдуарда Флейснера фон Востровица, австрийского полковника, описавшего её в 1881 году, и она прославилась тем, что германская армия приняла её на Западном фронте в 1916 году. Поскольку один и тот же квадрат читается в совершенно ином порядке, чем тот, в котором он записывался, буквы тщательно перемешиваются, при этом каждая из них сохраняется — а это и есть отличительный признак шифра перестановки, благодаря чему поворотная решётка по сей день остаётся любимым учебным примером.
Решётка и сетка
Всё зависит от отверстий. Возьмите сетку с чётным числом клеток по каждой стороне — здесь это 4×4, 6×6 или 8×8 — и обратите внимание, что её клетки объединяются в семейства по четыре: любая клетка вместе с тремя клетками, на которые она попадает при повороте квадрата на девяносто, сто восемьдесят и двести семьдесят градусов. В сетке 4×4 таких семейств четыре, в сетке 6×6 — девять, в сетке 8×8 — шестнадцать. Каждое семейство — это одна позиция решётки, и чтобы создать допустимую решётку, вы вырезаете ровно одну клетку из каждого семейства.
Почему именно одну? Потому что тогда, проходя решёткой через четыре её положения, четыре клетки каждого семейства открываются по одному разу и только один раз. Ни одна клетка не остаётся закрытой на все четыре поворота (что оставило бы её пустой), и ни одна не открывается дважды (что перезаписало бы букву). Одно отверстие на семейство — это ровно то условие, которое позволяет четырём поворотам полностью заполнить сетку без столкновений.
Построение решётки по ключевому слову
Исторически отправитель и получатель имели общую физическую решётку или письменное описание того, какие клетки были отверстиями. Этот инструмент вместо этого строит решётку по ключевому слову, так что её легко запомнить, легко передать, и она всегда воспроизводит один и тот же узор. Каждая буква ключевого слова читается по очереди и используется, чтобы выбрать, какая из четырёх клеток семейства будет вырезана, семейство за семейством. Если ключевое слово короче числа семейств, оно просто повторяется.
Поскольку ключевое слово всегда выбирает лишь одну клетку на семейство, любое ключевое слово автоматически даёт допустимую решётку — невозможно ввести ключевое слово, которое сломало бы шифр. Измените букву — и вы измените отверстие; измените размер сетки — и весь узор перестраивается под новое число семейств. Схема на странице рисует получившуюся решётку, чтобы вы видели, какие именно клетки открыты, прежде чем повернуть её.
Как работает шифр поворотной решётки
Кодирование идёт поворот за поворотом. Когда решётка находится в исходном положении, запишите первые буквы сообщения в клетки, видимые сквозь отверстия, беря их в порядке чтения — слева направо вдоль каждой строки, сверху вниз. Поверните решётку на четверть оборота по часовой стрелке и запишите следующие буквы сквозь отверстия на их новых местах. Поверните снова, запишите снова, и ещё раз — всего четыре положения — и сетка заполнена. Если сообщение короче сетки, оставшиеся клетки заполняются буквой-заполнителем X, чтобы сетка всегда была полной; если оно длиннее, начинается новая сетка, и та же решётка используется снова.
Схема выше показывает обе половины картины. Слева — решётка в исходном положении с отмеченными вырезанными отверстиями. Справа — готовая сетка, каждая клетка которой раскрашена по тому повороту, на котором она была записана — первый поворот, второй, третий, четвёртый, — так что вы можете наблюдать, как сообщение по спирали встаёт на места. Чтение этой сетки строго слева направо, строка за строкой, даёт шифротекст, показанный в выводе.
Разобранный пример
Возьмём само название шифра, FLEISSNERGRILLE, пятнадцать букв, на сетке 4×4. Предположим, что отверстия решётки до всякого поворота находятся в строке 2 столбцах 3 и 4, в строке 3 столбце 4 и в строке 4 столбце 1. Запись первых четырёх букв F, L, E, I сквозь эти отверстия в порядке чтения, затем поворот карточки по часовой стрелке и запись S, S, N, E, затем R, G, R, I, затем L, L, E и буквы-заполнителя заполняют все шестнадцать клеток.
Теперь прочитайте готовую сетку строго слева направо, строка за строкой, и она складывается в SLLRGEFLRISEINE — анаграмму исходного текста, ведь перестановка только переставляет. Чтобы расшифровать, вы накладываете ту же самую решётку обратно поверх этих букв и читаете сквозь отверстия в том же четырёхповоротном порядке, и FLEISSNERGRILLE возвращается обратно. Это классическая иллюстрация шифра; в инструменте решётка строится для вас по вашему ключевому слову и выбранному размеру сетки.
Расшифровка сообщения поворотной решётки
Расшифровка — это зеркальное отражение кодирования. Запишите шифротекст в пустую сетку, строка за строкой, пока она не заполнится. Затем наложите на неё ту же решётку и читайте буквы, видимые сквозь отверстия, в порядке чтения, поверните решётку на четверть оборота, читайте снова и продолжайте все четыре поворота. Буквы выходят в их исходном порядке, восстанавливая сообщение.
Чтобы это сработало, обе стороны должны договориться о трёх вещах: один и тот же размер сетки, одна и та же решётка — здесь одно и то же ключевое слово — и одно и то же направление поворота. Этот инструмент всё время поворачивает решётку по часовой стрелке, как при кодировании, так и при расшифровке, поэтому сообщение, созданное здесь, всегда расшифровывается здесь. Поскольку шифр лишь перемещает буквы, всё, что в оригинале не является буквой — пробелы, цифры, знаки препинания — отбрасывается перед кодированием и не появится снова, а любой заполнитель X, добавленный для завершения последней сетки, проявится в конце расшифрованного текста.
История, применение и безопасность
Шифры с решёткой стары: Джероламо Кардано предложил простую решётку для тайнописи в шестнадцатом веке, а поворотную решётку, заполняющую всю сетку, изложил Флейснер в девятнадцатом. Германия выдала поворотные решётки своим войскам в 1916 году под кодовыми именами по размеру — 5×5 называлась Анна, 6×6 — Берта, 8×8 — Дора, и так далее, — но в поле они продержались лишь несколько месяцев, прежде чем французские криптоаналитики во главе с Жоржем Пенвеном их взломали. Сегодня поворотная решётка живёт главным образом как головоломка и наглядный урок того, как работает перестановка.
По современным меркам она даёт очень мало безопасности. Перестановка сохраняет исходные буквы, так что у шифротекста ровно такие же частоты букв, как у открытого текста, и злоумышленнику, угадавшему размер сетки, остаётся перебрать лишь ограниченное число решёток, особенно на малой сетке. Несколько сообщений одинаковой длины на одной и той же решётке особенно показательны. Наслаждайтесь поворотной решёткой ради её истории и приятного механизма и используйте её для игр и обучения — но никогда для защиты настоящих секретов, где правильным выбором будет современный, проверенный специалистами алгоритм, такой как AES.
Часто задаваемые вопросы
Что такое шифр поворотной решётки?
Что такое решётка Флейснера?
Как ключевое слово строит решётку?
Какие размеры сетки я могу использовать?
Можете показать разобранный пример?
Как расшифровать сообщение поворотной решётки?
Почему в моём расшифрованном тексте есть лишние буквы X?
Обрабатывает ли он пробелы, цифры и знаки препинания?
Чем он отличается от столбцовой перестановки или сциталы?
Безопасен ли шифр поворотной решётки?
Загружается ли мой текст на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами