Перейти к содержимому

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

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

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

Попробовать пример:

Наиболее вероятно, по порядку

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

  1. Шифр с повторяющимся ключом

    Сильный сигнал

    Несколько сдвинутых алфавитов используются по очереди, как в шифрах Виженера, Бофорта и Порты. Первое, что нужно найти, — длина ключа.

    • Индекс совпадений 0,0389 лежит между английским (около 0,067) и случайными буквами (около 0,038), как при смешивании нескольких алфавитов.
    • Если разбить буквы на 5 столбцов, средний индекс совпадений столбцов составит 0,0598, близко к английскому, как если бы каждый столбец был одним сдвинутым алфавитом.

    Попробуйте: Шифр Виженера, Шифр Бофорта, Porta Cipher

Измерения

ИзмерениеЗначениеС чем сравнивать
Букв A–Z231
Других символов (без пробелов)0
Использовано разных букв26
Индекс совпадений0,0389Английский текст — около 0,067; случайные буквы — около 0,038; простая подстановка и перестановка сохраняют английское значение.
Оценка английских пар букв0,08Обычный английский набирает 0,6 или больше; перемешанный или зашифрованный текст — намного меньше.
Расстояние частот букв от английских5,47Меньше примерно 0,6 — буквы стоят на своих местах; значительно выше — их заменили.
Лучшие длины повторяющегося ключа10 (индекс 0,062); 5 (индекс 0,0598); 7 (индекс 0,0409)Средний индекс совпадений, когда текст разбит на такое число столбцов; значение, близкое к 0,067, указывает на длину ключа.

Как пользоваться определителем шифра

  1. 1. Вставьте текст. Пробелы, переносы строк и заглавные буквы допустимы. Над результатами есть примеры: сдвиг Цезаря, шифр с повторяющимся ключом, подстановка и перестановка.
  2. 2. Прочитайте ранжирование. У каждого семейства есть сила — сильный сигнал, возможно или слабая подсказка — и причины, которые его туда поставили, например индекс совпадений или повторяющаяся длина ключа.
  3. 3. Откройте решатель. Каждый результат ведёт к инструментам, которые работают с этим семейством. Шифры Цезаря, аффинный и «частокол» (rail fence) могут перебрать все ключи; шифрам с ключом нужны подсказка или больше текста.
  4. 4. Проверьте измерения. Таблица в конце перечисляет все числа, на которых основано предположение, и значения, с которыми их нужно сравнивать.

Что измеряет инструмент

Ни один отдельный тест не называет шифр, но несколько дешёвых проверок быстро сужают круг. Первая — набор символов. Точки и тире — это Морзе, поток нулей и единиц группами по восемь — двоичный код, пары цифр от 1 до 5 — квадрат Полибия, ряд чисел примерно от 20 до 110 может быть шифром Nihilist, а текст только из букв A, D, F, G, V и X — шифр ADFGVX. Когда это буквы, верх берёт статистика.

ИзмерениеЧто оно говорит
Индекс совпаденийВероятность того, что две случайно выбранные буквы совпадут. Для английского текста около 0,067, для случайных букв около 0,038. Подстановка и перестановка сохраняют английское значение; смешивание нескольких алфавитов тянет его к случайному.
Английские пары буквСколько частых пар и троек (TH, HE, ING) содержит текст. Обычный английский набирает много; сдвинутый или перемешанный — мало. Инструмент пробует каждый сдвиг Цезаря, Atbash и аффинные ключи и сообщает о тех, которые читаются как английский.
Расстояние по частотам буквНасколько частоты букв отличаются от английских. Близко — значит, буквы стоят на своих местах и изменился только порядок (перестановка); далеко при высоком индексе совпадений — значит, буквы заменены (подстановка).
Индекс совпадений по столбцамРазбейте буквы на 2, 3, 4 … столбца и усредните индекс совпадений каждого. Если одна длина поднимает его до английского уровня, это длина повторяющегося ключа, как в шифре Виженера.
Повторяющиеся группы (Касиски)Расстояния между повторяющимися тройками букв обычно кратны длине ключа.
Удвоенные парыPlayfair никогда не создаёт пары одинаковых букв, поэтому длинный текст чётной длины без таких пар указывает на биграммный шифр.

Разбор примера

Образец «Повторяющийся ключ» — текст из 231 буквы. Его индекс совпадений 0,0389 почти такой же, как у случайных букв, поэтому это не простая подстановка и не перестановка, которые обе остались бы около 0,067. Разбиение на пять столбцов поднимает среднее обратно до 0,0598, а десять столбцов, кратных пяти, дают похожее значение. Инструмент берёт меньшую длину, 5, и перечисляет шифры Виженера, Бофорта и Порты, которые все используют повторяющийся ключ. Это тот шаг, с которого криптоаналитик начинает атаковать каждый столбец как сдвиг Цезаря.

Ограничения, которые нужно знать

  • Короткие тексты ненадёжны. Меньше примерно 40 букв статистика становится шумом, поэтому каждое статистическое предположение ограничено уровнем возможно. Текст из 200 букв даёт гораздо лучшие доказательства, чем текст из 20.
  • Составные шифры маскируются. Если сообщение сначала подставили, а потом переставили или зашифровали дважды, статистика не описывает ни один из шагов. Инструмент ищет одиночные классические шифры.
  • Плоский результат — не приговор. Текст, похожий на случайный, одинаково подходит автоключу, Bifid или Trifid, роторной машине вроде Enigma, одноразовому блокноту и современному шифрованию. Здесь их различить нельзя.
  • Правила составлены вручную. Это набор правил, основанных на стандартных тестах классического криптоанализа и настроенных на текстах из 100–400 букв, а не обученная модель. Вероятности он не показывает, потому что правила не могут их обосновать.

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

Как определить шифр?
Начните с символов: буквы, цифры, знаки или точки и тире сразу сужают круг. Для букв сравните индекс совпадений с 0,067 (английский) и 0,038 (случайный), проверьте, читается ли какой-нибудь сдвиг как английский, и ищите длину повторяющегося ключа. Этот инструмент выполняет эти проверки и ранжирует семейства.
Что такое индекс совпадений?
Вероятность того, что две буквы, взятые из текста наугад, совпадут. Для английского он около 0,067, а для равномерно случайных букв — 1 ÷ 26, то есть 0,038. Поскольку он не учитывает, какие именно буквы, простая подстановка и перестановка его не меняют, и именно поэтому он полезен для сортировки шифров.
Как отличить подстановку от перестановки?
Оба сохраняют английский индекс совпадений. При перестановке буквы те же самые, поэтому E, T и A по-прежнему самые частые. При подстановке профиль частот так же перекошен, но самые частые буквы другие. Расстояние по частотам в таблице показывает, с каким случаем вы имеете дело.
Как найти длину ключа шифра Виженера?
Перебирайте длину n от 2 вверх. Разбейте буквы на n столбцов и усредните индекс совпадений столбцов. При истинной длине или её кратном каждый столбец — один сдвинутый алфавит Цезаря, и среднее поднимается к 0,067. Повторяющиеся тройки букв, разделённые расстояниями, кратными n (тест Касиски), это подтверждают.
Почему инструмент говорит, что текст слишком короткий?
Если букв меньше примерно 40, частоты букв слишком сильно меняются по случаю, чтобы отличить английский от случайного текста или сдвиг от подстановки. Инструмент всё равно даст лучшее предположение, но пометит его как не сильнее «возможно».
Может ли этот инструмент взломать или расшифровать мой шифр?
Он определяет, но не решает. Если сдвиг Цезаря, Atbash или аффинный ключ читается как английский, инструмент показывает первые слова результата, а связанные решатели делают остальное. Шифрам с ключом нужны ключ, больше текста или угаданное слово.

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

Ещё в разделе «Коды и шифры»