T

Text Machine

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

Решатель шифра простой замены

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

Попробуйте пример:

Шифртекст

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

Как пользоваться Взломщик подстановки

  1. 1

    Вставьте шифртекст

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

  2. 2

    Нажмите «Решить»

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

  3. 3

    Прочитайте восстановленное сообщение

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

  4. 4

    Проверьте восстановленный алфавит

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

  5. 5

    Поделитесь или очистите

    Скопируйте ссылку для обмена, которая заново откроет инструмент с вашим точным шифртекстом — текст помещается в часть URL после решётки, которая никогда не достигает сервера. Кнопка «Очистить» сбрасывает всё.

Как взломать шифр простой замены — объяснение

Что делает этот инструмент

Моноалфавитный шифр простой замены заменяет каждую букву алфавита на другую — A может стать Q, B может стать W — и использует этот же перемешанный алфавит для всего сообщения. Это шифр, лежащий в основе газетных криптограмм, головоломок квест-комнат и «Аристократов» Американской ассоциации криптограмм. Существует более четырёхсот септиллионов возможных алфавитов — слишком много, чтобы перебирать их по одному, и всё же шифр простой замены — один из самых лёгких для взлома. Этот инструмент взламывает его за вас автоматически, без ключа.

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

Почему шифр простой замены можно взломать

Шифр простой замены скрывает, какая буква есть какая, но не может скрыть, как часто используется каждая буква. В английском языке E встречается гораздо чаще любой другой буквы, за ней следуют T, A, O, I и N, тогда как J, Q, X и Z редки. Шифрование лишь переименовывает эти частоты: какая бы буква ни заменяла E, она будет самой частой буквой в шифртексте. Этот единственный факт — частоты букв переживают замену — и есть та трещина в броне, на которой построен весь криптоанализ.

Одних частот не вполне достаточно, потому что у нескольких букв счётчики схожи и их можно перепутать. Более глубокий сигнал — в том, как буквы сочетаются друг с другом. Английский язык любит определённые сочетания — TH, HE, ING, THE, AND — и почти полностью избегает других. Правильная расшифровка полна этих естественных сочетаний; неправильная усеяна комбинациями, которых настоящий английский никогда не использует. Измерение этой разницы и позволяет компьютеру распознать верный ответ среди бесчисленных правдоподобно выглядящих неверных.

Шаг первый: стартовое предположение по частотам

Решатель начинает с подсчёта того, как часто каждая буква встречается в шифртексте, и выстраивает эти счётчики против известного частотного порядка английского языка. Самая частая буква шифртекста предполагается равной E, следующая — T, затем A, O, I, N и так далее по списку. Это классический первый ход, которому вручную учится каждый решатель криптограмм.

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

Шаг второй: simulated annealing находит ключ

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

Simulated annealing иногда принимает замену, которая на мгновение делает результат хуже, с вероятностью, которая поначалу высока и затем неуклонно понижается — словно поиск сначала горяч и медленно остывает. На раннем этапе он свободно блуждает и выбирается из тупиков; позже он успокаивается и шлифует лучший найденный алфавит. Инструмент запускает это несколько раз из разных начальных точек, завершает каждый прогон строгим проходом только на улучшение и сохраняет единственный наилучший результат — поэтому он надёжно находит ответы, которые обычный подъём в гору упустил бы.

Как решатель оценивает английский: приспособленность триграмм

Каждый кандидат-алфавит оценивается одним числом: его приспособленностью триграмм. Инструмент рассматривает каждую последовательность из трёх подряд идущих букв в расшифрованном тексте и складывает, насколько вероятна каждая тройка в настоящем английском, используя таблицу частот трёхбуквенных сочетаний, построенную на большом массиве английских текстов. Распространённые тройки вроде THE, AND и ING набирают высокий балл; тройки, которых английский никогда не использует, набирают ужасный балл.

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

Сколько текста нужно и когда возникают трудности

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

Несколько других вещей делают сообщение труднее: текст, намеренно избегающий частых букв (как панграмма), текст не на английском или шифр, который вдобавок переставляет буквы, а не только переименовывает их. Когда прочтение выходит почти правильным, ответ почти всегда — больше шифртекста или исправление одной-двух упрямых букв вручную. Если же текст вовсе не простая замена, «Определитель шифров» подскажет, с чем вы на самом деле имеете дело.

Шифры замены и их родственники

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

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

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

Можно ли действительно решить шифр замены без ключа?
Да. Шифр замены скрывает, какая буква есть какая, но не то, как часто используется каждая, а частоты английских букв и трёхбуквенных групп очень характерны. Решатель отталкивается от этих частот, а затем ищет алфавит, чья расшифровка больше всего похожа на английский, восстанавливая и сообщение, и ключ без чего-либо заданного заранее.
Какой шифр это решает?
Он решает моноалфавитные шифры простой замены — те, где один фиксированный перемешанный алфавит заменяет буквы во всём сообщении. Сюда входят газетные криптограммы, Aristocrat и Patristocrat, шифры с ключевым алфавитом и более простые случаи вроде Caesar и Atbash. Он не решает полиалфавитные шифры, такие как Vigenère, которые меняют алфавит по ходу дела.
Как работает решатель?
В два этапа. Сначала он сопоставляет частоты букв шифртекста с английскими, чтобы сделать стартовое предположение. Затем он применяет simulated annealing — многократно меняет местами две буквы и сохраняет замены, делающие текст более похожим на английский, изредка принимая ухудшение, чтобы выбраться из тупиков, — с оценкой по тому, насколько естественно выглядят трёхбуквенные сочетания. Он запускается несколько раз и сохраняет наилучший результат.
Почему используется оценка по триграммам, а не частоты букв?
Частоты отдельных букв может воспроизвести ключ, всё равно выдающий бессмыслицу, поэтому одних их недостаточно, чтобы распознать верный ответ. Приспособленность триграмм оценивает каждую последовательность из трёх букв против настоящего английского, где THE, AND и ING распространены, а большинство троек исчезающе редки. Неверный ключ выдаёт неестественные тройки и набирает плохой балл, что позволяет поиску точно выйти на подлинное прочтение.
Сколько текста нужно, чтобы взломать криптограмму?
Стремитесь к хотя бы ста пятидесяти буквам обычного английского для почти идеального решения. Примерно восемьдесят-сто букв обычно работают, но могут дать неверное прочтение одной-двух редких букв. Ниже примерно пятидесяти букв статистических данных редко хватает, чтобы любой решатель был уверен, так что ждите лишь частичного прочтения.
Результат почти правильный, но несколько букв неверны. Почему?
Редкие буквы вроде J, Q, X и Z встречаются так нечасто, что короткое сообщение может не содержать их в достаточном количестве, чтобы уверенно их разместить, а две буквы со схожими частотами иногда могут поменяться местами. Решение обычно — больше шифртекста или исправление одной-двух выпавших букв вручную, как только остальное сообщение становится читаемым.
Решит ли он криптограмму, сохраняющую пробелы (Aristocrat)?
Да. Пробелы, цифры и знаки препинания сохраняются в результате, но игнорируются при решении, так что разбиение на слова ни помогает, ни мешает. Сохраняет ли ваша головоломка пробелы (Aristocrat) или убирает их (Patristocrat), один и тот же метод частот и триграмм восстанавливает сообщение.
Детерминирован ли решатель?
Да. Хотя он использует рандомизированный поиск, случайность управляется фиксированным зерном, так что один и тот же шифртекст всегда даёт один и тот же результат. Это также означает, что ссылка для обмена воспроизводит ровно то же решение для каждого, кто её открывает.
Работает ли он только на английском?
Встроенные таблицы частот и триграмм описывают английский язык, поэтому он настроен на английский открытый текст. Сообщение на другом языке обычно выходит бессмыслицей, даже когда поиск завершается успешно, потому что он сопоставляет неверную статистику. Для текста не на английском вам понадобились бы данные о частотах для соответствующего языка.
Отправляется ли мой шифртекст на сервер?
Нет. Весь поиск выполняется в вашем браузере, поэтому ваш текст никогда не загружается, не логируется и не хранится. Даже ссылка для обмена держит ваш шифртекст в части URL после решётки, которую браузеры никогда не передают на сервер, так что он остаётся конфиденциальным, пока вы сами не решите поделиться им.
А что если это вовсе не шифр замены?
Если решение выходит бессмыслицей, а частоты букв выглядят необычно ровными, сообщение может быть полиалфавитным, основанным на перестановке или чем-то совсем иным. Запустите «Определитель шифров», чтобы выяснить, с чем вы имеете дело, а затем используйте подходящий инструмент — например «Решатель Vigenère» для шифра с повторяющимся ключом.

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

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

Определитель шифра

Частотный анализ

Конвертер Unix-времени

Конвертер JSON в CSV

Конвертер CSV в JSON

Конвертер JSON в YAML