Шифр Morbit
Кодируйте и декодируйте шифр Morbit. Сообщение сначала записывается кодом Морзе с одиночным x между буквами и двойным x между словами, затем поток из точек, тире и x читается по два символа за раз, и каждая из девяти возможных пар заменяется цифрой от одного до девяти в порядке, заданном ключевым словом. Следите за разбором в реальном времени — буквы, Морзе, цифры — и копируйте, скачивайте или делитесь результатом. Всё работает прямо в браузере.
Ключ
Ключ задаёт, в какую цифру превращается каждая пара символов Морзе. Используйте ключевое слово из девяти букв (его буквы нумеруются от 1 до 9 в алфавитном порядке, при совпадении — слева направо) или последовательность из девяти цифр 1-9, введённую напрямую. Всё остальное приводит к обычному порядку 1-9. Обе стороны должны использовать один и тот же ключ.
Введите текст выше, чтобы увидеть здесь результат.
Таблица пара → цифра
..
5
.-
6
.x
8
-.
9
--
3
-x
1
x.
7
x-
2
xx
4
Как пользоваться Шифр Морбит
- 1
Выберите кодирование или декодирование
Выберите «Кодировать», чтобы превратить обычный текст в цифры шифра Morbit, или «Декодировать», чтобы превратить цифры шифра обратно в обычный текст.
- 2
Задайте ключ
Введите ключевое слово из девяти букв или последовательность из девяти цифр 1-9. Ключ задаёт, в какую цифру превращается каждая пара символов Морзе, и обе стороны должны использовать один и тот же ключ, чтобы всё совпало.
- 3
Введите или вставьте текст
Введите своё сообщение, и оно преобразуется по мере набора. При кодировании панель шагов показывает каждую букву над её Морзе, а затем поток, разрезанный на пары, с цифрой под каждой.
- 4
Прочитайте таблицу пар
Откройте таблицу пар, чтобы увидеть все девять пар Морзе с цифрой, в которую каждая отображается при текущем ключе.
- 5
Скопируйте, скачайте или поделитесь
Скопируйте результат, скачайте его в виде текстового файла или поделитесь ссылкой, которая снова откроет инструмент с вашим точным текстом и ключом, готовыми к работе.
Разбираемся в шифре Morbit
Что такое шифр Morbit?
Шифр Morbit превращает обычный код Морзе в строку цифр от 1 до 9, так что привычные точки и тире вовсе не появляются в готовом сообщении. Он принадлежит к тому же семейству ручных шифров на основе кода Морзе, что Fractionated Morse и Pollux, — все они каталогизированы и сохранены American Cryptogram Association (Американской криптограммной ассоциацией), и он любим в головоломочных квестах и соревнованиях capture-the-flag, потому что результат выглядит как бессмысленный ряд чисел.
Название — это смесь слов Morse (Морзе) и bit (бит), а в основе идеи лежит фракционирование. После того как сообщение переведено в код Морзе, поток из точек, тире и разделителей нарезается на пары, и каждая пара заменяется одной цифрой. Поскольку два символа Морзе почти никогда не совпадают аккуратно с одной буквой открытого текста, каждая цифра шифра в итоге несёт фрагменты своих соседей. Именно это смешение стирает характерный ритм Морзе и сглаживает частоты букв, которые иначе выдали бы сообщение.
Три символа, девять пар
Чтобы превратить Морзе в единую неразрывную строку, нужен разделитель. Morbit использует букву x: одиночный x между буквами и двойной xx между словами. Так что сообщение теперь использует всего три символа — точку, тире и x — и больше ничего.
Если читать эти символы по два за раз, получается 3 × 3 = 9 возможных пар, перечисленных в фиксированном порядке: точка-точка, точка-тире, точка-x, тире-точка, тире-тире, тире-x, x-точка, x-тире и x-x. Девять пар, и ровно девять цифр от 1 до 9, чтобы их обозначить. Это аккуратное соответствие и есть вся причина, по которой шифр работает: каждая пара получает свою цифру, и ни одна не остаётся лишней и ни одной не недостаёт.
Ключевое слово и назначение цифр
Девять пар всегда перечисляются в одном и том же фиксированном порядке. Меняется лишь цифра, записанная под каждой из них. Без ключевого слова пары просто получают цифры от 1 до 9 по порядку. Ключевое слово их перемешивает: возьмите слово из девяти букв, пронумеруйте его буквы от 1 до 9 в алфавитном порядке — при совпадении слева направо — и сопоставьте эту перестановку с девятью парами.
Ключевое слово MORSECODE, например, имеет буквы, пронумерованные как 5, 6, 8, 9, 3, 1, 7, 2, 4, так что первая пара точка-точка становится 5, вторая пара точка-тире становится 6 и так далее. Живая таблица выше показывает это соответствие и обновляется в тот же миг, как вы меняете ключ. При желании вы также можете ввести напрямую последовательность из девяти цифр 1-9. Ключ — это общий секрет: отправитель и получатель должны использовать один и тот же.
Как работает шифр Morbit
Кодирование выполняется в три действия. Сначала запишите всё сообщение кодом Морзе, ставя один x между буквами и два между словами. Во-вторых, если в полученной строке нечётное число символов, добавьте в конец один x, чтобы она делилась на пары ровно — дополнение именно через x, а не точкой или тире, имеет значение, ведь лишняя точка при декодировании прочиталась бы как ложная буква. В-третьих, читайте строку по два символа за раз и заменяйте каждую пару её цифрой из ключа.
Сила шифра — именно в этом разбиении на пары. Одна буква открытого текста, переведённая в Морзе и соединённая с соседями разделителями, оказывается размазана по нескольким парам, и каждая пара к тому же заимствует символ у буквы с одной из сторон. Поэтому восстановление одной буквы открытого текста означает реконструкцию и окружающего Морзе — а это как раз и сводит на нет простые атаки подсчётом букв, которые ломают обычный шифр замены. Панель шагов выше показывает это в реальном времени: верхняя строка сопоставляет каждую букву с её Морзе, а нижняя показывает поток, разрезанный на пары, с цифрой под каждой.
Разобранный пример
Возьмём фразу MORE BITS с ключевым словом MORSECODE. В коде Морзе MORE — это тире-тире x тире-тире-тире x точка-тире-точка x точка, а BITS — тире-точка-точка-точка x точка-точка x тире x точка-точка-точка, причём двойной xx отмечает пробел между двумя словами. Соединённое вместе это даёт поток из 27 символов, нечётной длины, поэтому в конец добавляется один x, чтобы получилось 28.
Теперь прочитаем 28 символов по два за раз, получив 14 пар, и превратим каждую пару в её цифру с помощью ключа MORSECODE (точка-точка — это 5, тире-тире — 3, точка-x — 8 и так далее). Результат — 32379749578158. Декодирование в точности обращает процесс: каждая цифра становится своей парой, пары соединяются обратно в поток Морзе, и поток читается обратно по таблице Морзе, чтобы восстановить MORE BITS.
Декодирование сообщения Morbit
Декодирование просто выполняет те же три действия в обратном порядке. Каждая цифра ищется в ключе, чтобы восстановить её пару символов Морзе, пары соединяются обратно в одну длинную строку из точек, тире и x, и эта строка разбивается по разделителям — одиночный x завершает букву, двойной xx завершает слово. Чтение каждой серии точек и тире обратно по таблице Морзе восстанавливает исходный текст. Любое дополнение x, добавленное при кодировании, безобидно остаётся в конце и исчезает, так что сообщение, зашифрованное этим инструментом, всегда декодируется обратно в точности.
Чтобы декодировать правильно, нужно использовать тот же ключ, что и при кодировании; другой ключ сопоставит пары с неверными цифрами, и Морзе выйдет бессмыслицей. Поскольку код Морзе есть только у букв и цифр, любые знаки препинания или иные символы исходного сообщения были отброшены при кодировании и не вернутся. Пробелы между группами цифр шифра при декодировании игнорируются, так что неважно, был ли зашифрованный текст записан слитно или аккуратными блоками по пять.
История, применение и безопасность
Morbit — один из небольшого набора шифров на основе кода Морзе «карандашом по бумаге» — наряду с Fractionated Morse и Pollux, — которые были каталогизированы и сохранены American Cryptogram Association для любительского криптоанализа. Они вознаграждают тех, кто умеет разглядеть скрытую структуру Морзе, и остаются неизменным элементом шифровальных задач именно потому, что шаг фракционирования делает их интереснее прямой замены.
По современным меркам этот шифр небезопасен. Фракционирование сводит на нет наивный частотный анализ, но лежащий в основе Морзе навязывает сильные статистические закономерности, и известный или угаданный ключ — или просто достаточный объём шифртекста — позволяет настойчивому решателю или компьютеру восстановить сообщение. Относитесь к Morbit как к головоломке и обучающему инструменту — наглядной демонстрации того, как сочетание кодирования с заменой усиливает шифр, — и никогда как к способу защитить настоящие секреты. Для подлинной конфиденциальности всегда используйте современный, проверенный сообществом алгоритм, такой как AES.
Часто задаваемые вопросы
Что такое шифр Morbit?
Почему пар ровно девять?
Что делает ключевое слово?
Можете показать разобранный пример?
Как декодировать сообщение Morbit?
Почему дополнение делается через x, а не точкой или тире?
Обрабатываются ли цифры и знаки препинания?
Можно ли использовать в качестве ключа девятизначное число вместо слова?
Чем Morbit отличается от Fractionated Morse?
Безопасен ли шифр Morbit?
Загружается ли мой текст на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами