T

Text Machine

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

Шифр скитала

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

Настройки стержня

Диаметр

4

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

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

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

Схема сетки скитала

Пример с сообщением IAMHURTVERYBADLYHELP, намотанным на четырёхбуквенный стержень. Введите свой текст выше, чтобы увидеть его на сетке.

1
2
3
4
I
A
M
H
U
R
T
V
E
R
Y
B
A
D
L
Y
H
E
L
P

Как пользоваться Шифр скитала

  1. 1

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

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

  2. 2

    Задайте диаметр стержня

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

  3. 3

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

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

  4. 4

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

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

Как устроен шифр скитала

Что такое шифр скитала?

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

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

Как работает шифр скитала

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

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

Разобранный пример

Возьмём сообщение IAMHURTVERYBADLYHELP со стержнем, вокруг которого умещается четыре буквы, так что в сетке четыре столбца. Записывая двадцать букв строка за строкой, заполняем пять строк: IAMH, затем URTV, затем ERYB, затем ADLY, затем HELP. Это сообщение, записанное вдоль стержня.

Теперь читаем прямо вниз по каждому столбцу по очереди. Первый столбец складывается в IUEAH, второй — в ARRDE, третий — в MTYLL, а четвёртый — в HVBYP. Соединённые вместе, они дают шифртекст IUEAHARRDEMTYLLHVBYP. Каждая буква оригинала по-прежнему на месте, лишь перемешана в новом порядке, и результат имеет в точности ту же длину, что и ввод.

Как расшифровать шифр скитала

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

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

Диаметр и ключ

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

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

Как взломать шифр скитала

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

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

Надёжен ли шифр скитала?

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

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

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

Что такое шифр скитала?
Скитала — это классический шифр перестановки и старейшее известное криптографическое устройство. Древние спартанцы наматывали полоску пергамента на стержень фиксированной толщины, писали сообщение вдоль стержня и разматывали полоску, так что буквы попадали в перемешанный порядок. Он не заменяет ни одной буквы; он лишь меняет их порядок, поэтому шифртекст является анаграммой открытого текста.
Как работает шифр скитала?
Воспроизведите стержень в виде сетки, число столбцов которой равно тому, сколько букв умещается вокруг стержня. Запишите сообщение в сетку по одной строке за раз, затем считайте его обратно, идя прямо вниз по каждому столбцу по очереди и соединяя столбцы вместе. Это считывание столбец за столбцом сетки, заполненной строка за строкой, и перемешивает порядок, в точности как разматывание полоски.
Можете показать пример скитала?
Со стержнем, вокруг которого умещается четыре буквы, сообщение IAMHURTVERYBADLYHELP становится IUEAHARRDEMTYLLHVBYP. Записывая его строка за строкой, получаем строки IAMH, URTV, ERYB, ADLY и HELP, а считывая вниз по четырём столбцам, получаем IUEAH, ARRDE, MTYLL и HVBYP. Каждая буква оригинала по-прежнему на месте, лишь перемешана, и длина не меняется.
Как мне расшифровать шифр скитала?
Переключитесь на «Расшифровать» и задайте тот же диаметр, что использовался при шифровании, затем вставьте шифртекст. По длине шифртекста и диаметру инструмент вычисляет, какой высоты был каждый столбец, разрезает шифртекст на столбцы, ставит их бок о бок и считывает сетку обратно поперёк строк, восстанавливая исходное сообщение.
Что такое диаметр в шифре скитала?
Диаметр — это ключ. Он задаёт, сколько букв наматывается на стержень за один оборот, то есть число столбцов в сетке. Более толстый стержень даёт больше столбцов и иное перемешивание; более тонкий даёт меньше. Диаметр, равный единице, не делает ничего, поэтому полезный диапазон начинается с двух, и отправитель и получатель должны использовать одно и то же значение.
Почему скиталу называют шифром перестановки?
Шифр перестановки скрывает сообщение, меняя порядок его символов, а не подставляя новые. Скитала делает именно это: она сохраняет каждую исходную букву, но перемещает её на новое место, продиктованное наматыванием полоски на стержень, поэтому результат является перестановкой тех же самых букв.
Меняет ли шифр скитала пробелы и знаки препинания?
Да. Поскольку это шифр перестановки, участвует каждый символ, поэтому пробелы, цифры и знаки препинания переставляются вместе с буквами, а не остаются на месте. Общее число символов всегда остаётся прежним. Многие исторические пользователи сначала удаляли пробелы, но этот инструмент сохраняет их, так что расшифровка восстанавливает ваш текст в точности.
В чём разница между скиталой и шифром «изгородь»?
Оба являются шифрами перестановки, которые переставляют буквы, используя небольшое число в качестве ключа, и оба можно изобразить в виде сетки. Скитала заполняет сетку поперёк строк и считывает вниз по столбцам — это простая столбцовая перестановка со столбцами, сохранёнными в естественном порядке. Шифр «изгородь» вместо этого ведёт зигзаг вверх и вниз по набору рядов. Из одного и того же текста они порождают разные перемешивания.
Как взломать шифр скитала?
Пространство ключей крошечное, поэтому вы просто пробуете расшифровать каждым правдоподобным диаметром — два, затем три, затем четыре, и так далее — и оставляете тот результат, который читаем. Этот перебор быстр даже вручную. Нормальные частоты букв в сочетании с перемешанным, нечитаемым текстом — сильный намёк на то, что используется шифр перестановки, такой как скитала.
Надёжен ли шифр скитала?
Нет. Имея ключом лишь одно небольшое число, он взламывается перебором за секунды, поэтому не обеспечивает реальной безопасности для конфиденциальной информации. Его лучше понимать как учебный и головоломный шифр и частицу истории криптографии. Для подлинной защиты вместо него следует использовать современные алгоритмы, такие как AES.
Загружается ли мой текст на сервер?
Нет. Всё шифрование и расшифровка происходят полностью в вашем браузере, поэтому ваш текст никогда не загружается, не записывается в журналы и не сохраняется. Даже ссылка для обмена хранит ваш текст в части URL после знака решётки, которую браузеры никогда не отправляют на сервер, поэтому он остаётся конфиденциальным, пока вы сами не решите поделиться им.
Как написать шифр скитала в коде?
Разместите сообщение в сетке с одним столбцом на каждую букву, умещающуюся вокруг стержня, заполняя её строка за строкой. Чтобы зашифровать, считайте сетку вниз по каждому столбцу по очереди и соедините столбцы. Чтобы расшифровать, вычислите высоту каждого столбца из длины шифртекста и числа столбцов, нарежьте шифртекст на эти столбцы и считайте их обратно поперёк строк. Этот браузерный инструмент использует ровно такой подход и обрабатывает полный Unicode по кодовым точкам.

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

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

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

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

Шифр Цезаря

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

Шифр Атбаш

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