T

Text Machine

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

Шифр 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. 1

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

    Выберите «Кодировать», чтобы превратить обычный текст в цифры шифра Morbit, или «Декодировать», чтобы превратить цифры шифра обратно в обычный текст.

  2. 2

    Задайте ключ

    Введите ключевое слово из девяти букв или последовательность из девяти цифр 1-9. Ключ задаёт, в какую цифру превращается каждая пара символов Морзе, и обе стороны должны использовать один и тот же ключ, чтобы всё совпало.

  3. 3

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

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

  4. 4

    Прочитайте таблицу пар

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

  5. 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?
Это ручной шифр, который прячет код Морзе внутри ряда цифр от 1 до 9. Сообщение записывается кодом Морзе с x в качестве разделителя букв и xx в качестве разделителя слов, поток из точек, тире и x читается по два символа за раз, и каждая из девяти возможных пар заменяется цифрой из таблицы, заданной ключом. Поскольку пары редко совпадают с отдельными буквами, каждая цифра шифра объединяет части своих соседей.
Почему пар ровно девять?
После того как сообщение переведено в Морзе, используется всего три символа: точка, тире и разделитель x. Чтение по два за раз даёт 3 × 3 = 9 комбинаций, от точка-точка до x-x. Есть ровно девять цифр от 1 до 9, чтобы их обозначить, так что каждая пара получает свою цифру — ни одной лишней и ни одной недостающей.
Что делает ключевое слово?
Ключевое слово задаёт, в какую цифру превращается каждая из девяти пар. Возьмите слово из девяти букв и пронумеруйте его буквы от 1 до 9 в алфавитном порядке, разрешая совпадения слева направо; эта перестановка сопоставляется с девятью парами в их фиксированном порядке. Без ключевого слова пары просто получают цифры от 1 до 9 по порядку, так что ключевое слово — это общий секрет, который должны использовать и отправитель, и получатель.
Можете показать разобранный пример?
С ключевым словом MORSECODE фраза MORE BITS становится цифрами 32379749578158. Сообщение сначала записывается кодом Морзе в виде потока из 27 символов, дополняется одним x до 28, затем читается парами, и каждая пара превращается в свою цифру по ключу MORSECODE (который нумерует пары как 5, 6, 8, 9, 3, 1, 7, 2, 4).
Как декодировать сообщение Morbit?
Обратите шаги: найдите каждую цифру, чтобы получить её пару символов Морзе, соедините пары в одну строку из точек, тире и x, разбейте её по разделителям (одиночный x между буквами, двойной xx между словами) и прочитайте каждую серию точек и тире обратно по таблице Морзе. В этом инструменте выберите «Декодировать» и введите тот же ключ, что использовался при кодировании.
Почему дополнение делается через x, а не точкой или тире?
Если в потоке Морзе нечётное число символов, добавляется ещё один, чтобы последняя пара была полной. Дополнение через x работает, потому что x — это разделитель: завершающий разделитель просто отмечает конец последней буквы или слова и исчезает при декодировании сообщения. Дополнение же точкой или тире прочиталось бы обратно как настоящий символ Морзе и могло бы добавить лишнюю ложную букву.
Обрабатываются ли цифры и знаки препинания?
Буквы и цифры кодируются, потому что у обоих есть стандартные коды Морзе. Знаки препинания и прочие символы отбрасываются, а любая серия пробелов становится одним разделителем слов. Это значит, что сокращение вроде «it's» обрабатывается как единое слово ITS, что соответствует распространённым эталонным реализациям этого шифра.
Можно ли использовать в качестве ключа девятизначное число вместо слова?
Да. Если вы введёте последовательность из девяти цифр от 1 до 9 — каждая использована ровно один раз — она используется напрямую как назначение «пара — цифра». Ключевое слово из девяти букв — это просто более удобный способ запомнить такую же перестановку. Всё, что не является ни корректной последовательностью из девяти цифр, ни словом из девяти букв, приводит к обычному порядку 1-9.
Чем Morbit отличается от Fractionated Morse?
Оба сначала записывают сообщение кодом Морзе и оба фракционируют поток из точек, тире и x, но Morbit читает поток по два символа за раз и выдаёт цифры от 1 до 9, тогда как Fractionated Morse читает его по три символа за раз и выдаёт буквы от A до Z. Поэтому Morbit даёт числовой шифртекст, а Fractionated Morse даёт буквы.
Безопасен ли шифр Morbit?
Нет. Фракционирование сводит на нет простой подсчёт частот, но лежащий в основе Морзе оставляет сильные статистические закономерности, и шифр поддаётся классическим методам взлома и компьютерам, особенно когда ключ угадан или использован повторно или когда доступно достаточно шифртекста. Он отлично подходит для головоломок и обучения, но для настоящей защиты используйте современный алгоритм, такой как AES.
Загружается ли мой текст на сервер?
Нет. Всё кодирование и декодирование происходит целиком в вашем браузере, так что ваш текст никогда не загружается, не записывается в журналы и не сохраняется. Даже ссылка для публикации хранит ваш текст и ключ в части URL после символа #, которую браузеры никогда не отправляют на сервер, так что ваше сообщение остаётся приватным, пока вы сами не решите поделиться ссылкой.

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

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

Фракционированный шифр Морзе

Шифр Поллукс

Страддлинг-чекерборд

Переводчик азбуки Морзе

Шифр Цезаря

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