Решатель шифра простой замены
Вставьте моноалфавитный шифр простой замены или криптограмму и восстановите исходное сообщение, не зная ключа. Решатель сопоставляет частоты букв для стартового предположения, а затем применяет simulated annealing с оценкой по английским триграммам, перебирая 26-буквенный алфавит в поисках варианта, который больше всего похож на английский текст. Все вычисления выполняются в вашем браузере.
Попробуйте пример:
Вставьте шифр простой замены выше, нажмите «Решить», и здесь появятся восстановленное сообщение и алфавит замены. Чем больше текста вы дадите, тем надёжнее будет ответ.
Как пользоваться Взломщик подстановки
- 1
Вставьте шифртекст
Скопируйте свой шифр простой замены или криптограмму и вставьте в поле. Чем больше текста, тем надёжнее решение; буквы читаются без учёта регистра, а пробелы, цифры и знаки препинания игнорируются при решении и затем восстанавливаются в ответе.
- 2
Нажмите «Решить»
Нажмите «Решить шифр». Поиск занимает некоторое время — он перебирает сотни тысяч кандидатов-алфавитов — и затем показывает наиболее похожее на английский прочтение, которое удалось найти.
- 3
Прочитайте восстановленное сообщение
Расшифрованный текст появляется с восстановленным исходным регистром, расстановкой пробелов и знаков препинания. Скопируйте его одним нажатием, чтобы сохранить результат.
- 4
Проверьте восстановленный алфавит
Под сообщением алфавит замены показывает, во что расшифровалась каждая буква шифртекста. Бледные буквы ни разу не встретились в вашем тексте, поэтому решатель не смог их определить. Скопируйте алфавит, чтобы повторно использовать или проверить ключ.
- 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)?
Детерминирован ли решатель?
Работает ли он только на английском?
Отправляется ли мой шифртекст на сервер?
А что если это вовсе не шифр замены?
Похожие инструменты
Продолжайте работу с этими удобными инструментами