Убедитесь, что это простая замена
В шифре простой замены каждая буква открытого текста всегда заменяется одной и той же буквой шифротекста. Пробелы и пунктуация обычно сохраняются. Поэтому одинаковые слова шифруются одинаково, а повторяющиеся буквы остаются повторами.
Это шире шифра Цезаря. У Цезаря один постоянный сдвиг, а простая замена допускает любую перестановку алфавита. Для русского алфавита число ключей огромно, поэтому полный перебор таблиц непрактичен. Нужно восстанавливать соответствия из ограничений языка.
Шаг 1 — Составить рабочую таблицу
Перепишите шифротекст, не меняя пробелы. Под ним оставьте строку для предполагаемого открытого текста и две таблицы: шифротекст → открытый текст и обратно. Соответствие должно быть взаимно однозначным.
Обозначьте шаблон каждого слова по повторам: например, 0-1-2-3-2. Кандидат обязан иметь тот же шаблон. Отдельно отметьте однобуквенные слова, двойные буквы, повторяющиеся слова, окончания и знаки препинания.
Шаг 2 — Начать с наиболее информативных признаков
Приоритетны:
- слова, повторяющиеся в нескольких местах;
- необычные шаблоны повторов и двойные буквы;
- однобуквенные предлоги и союзы, например
В,К,С,И; - вероятные имена, приветствия и слова по теме;
- частые окончания
-ОГО,-ЕНИЕ,-ТЬи-ЫЙ.
Каждая догадка остаётся гипотезой. Распространите её по всему тексту и сразу отмените, если нарушается шаблон слова или однозначность таблицы.
Шаг 3 — Использовать частоты как подсказки
В достаточно длинном русском тексте частые символы могут соответствовать О, Е, А или И. Полезны также пары и окончания, но тема, имена и малая длина способны изменить порядок.
Частотный анализ помогает выбрать кандидатов, но не назначает буквы автоматически. Если частотная гипотеза создаёт невозможные повторы или ломает несколько слов, она слабее криба, подтверждённого шаблоном.
Шаг 4 — Распространять каждое подтверждённое соответствие
Надёжно угаданное слово открывает другие места. Назначив шифробукве открытую букву, подставьте её во все вхождения. Если следующая догадка требует другого значения для той же шифробуквы, как минимум одна гипотеза неверна.
Чередуйте локальную и общую проверку: дополните перспективное слово, распространите буквы, изучите новые фрагменты и вернитесь к частотам. Не заполняйте слово только потому, что оно «почти подходит».
Мини-пример
Рассмотрим КОПНАПДИОЯ К МЛЗТАЙЬ. Однобуквенное К по контексту может быть предлогом В; тогда соответствие К→В нужно применить ко всем позициям. Длинные слова дают больше ограничений: повтор П в первом слове должен соответствовать одному и тому же открытому символу.
Если контекст подсказывает фразу ВСТРЕТИМСЯ В ПОЛДЕНЬ, пары К→В, О→С, П→Т и остальные образуют непротиворечивую взаимно однозначную таблицу. Полный текст был сгенерирован и проверен реальным ключевым алфавитом; это подтверждает механику примера, но в задаче без ключа каждую догадку всё равно нужно выводить из контекста и шаблонов.
Шаг 5 — Проверить полное решение
Убедитесь, что каждая шифробуква всегда имеет одно значение, две открытые буквы не используют один шифросимвол и все слова объясняются без ручных исправлений. Не придумывайте соответствия для букв, которых вообще нет в сообщении.
Инструмент простой замены применяет готовый полный ключ, но не находит неизвестный ключ автоматически. Используйте его для обратной проверки: повторное шифрование восстановленного текста должно точно вернуть исходный шифротекст.