T

Text Machine

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

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

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

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

Шифртекст для определения

Вставьте текст выше, и наиболее вероятные шифры появятся здесь, ранжированные по уверенности.

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

  1. 1

    Вставьте загадочный текст

    Скопируйте неизвестный код или шифртекст и вставьте его в поле. Это могут быть буквы, точки и тире Morse, Base64, числа или почти что угодно.

  2. 2

    Прочитайте сводку анализа

    Посмотрите число символов, сколько в нём букв, обнаруженный набор символов и индекс совпадений, который намекает, использовал ли шифр один алфавит или несколько.

  3. 3

    Просмотрите ранжированные догадки

    Наиболее вероятные шифры появляются в виде карточек, упорядоченных по уверенности от «Весьма вероятно» вниз до «Маловероятно», каждая с кратким объяснением сработавшего сигнала.

  4. 4

    Откройте подходящий декодер

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

  5. 5

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

    Скопируйте ссылку, которая снова откроет инструмент с вашим точным текстом, или очистите поле, чтобы начать заново. Всё остаётся в вашем браузере.

Как определить неизвестный шифр

Что такое определитель шифра?

Определитель шифра — это инструмент, который берёт фрагмент загадочного текста и сообщает, какой шифр или кодировка вероятнее всего его создали. Вместо того чтобы гадать вслепую или перебирать все декодеры подряд, вы один раз вставляете шифртекст и получаете ранжированный список кандидатов — Цезарь, Vigenère, Base64, Morse и другие — каждый с оценкой уверенности и прямой ссылкой на нужный декодер.

Это естественная отправная точка всякий раз, когда вы находите закодированный текст, не зная, как он был создан: задание capture-the-flag, подсказка в квест-комнате, головоломка геокэшинга, игра в альтернативную реальность или закодированная записка. Знание семейства шифра сужает десятки возможностей до одной-двух, так что вы можете прекратить поиски и начать расшифровку.

Как работает определитель шифра

Определитель использует классический криптоанализ, а не машинное обучение, поэтому каждый вердикт объясним. Он прогоняет ваш текст через серию проверок, от самых очевидных до самых тонких. Сначала он смотрит на набор символов: текст только из точек и тире — это Morse, только из нулей и единиц — двоичный, только из шестнадцатеричных цифр — hex, а алфавит Base64 с длиной, кратной четырём, — это Base64. Строки из небольших чисел указывают на квадраты Полибия, нумерацию букв A1Z26 или коды ASCII.

Когда текст состоит из обычных букв, инструмент переходит к статистике. Он измеряет индекс совпадений, чтобы решить, использовался ли один алфавит (моноалфавитный) или несколько (полиалфавитный), затем проводит тест на сдвиг Цезаря и тест на Atbash, применяя оценку по критерию хи-квадрат относительно частот английских букв. Сочетание набора символов, частотного профиля и структурных признаков, таких как длина и повторяющиеся узоры, формирует ранжированный список, который вы видите.

Индекс совпадений: объяснение

Индекс совпадений, или IoC, измеряет, насколько вероятно, что две случайно выбранные из текста буквы окажутся одинаковыми. Обычный английский текст имеет IoC около 0.067, потому что некоторые буквы, такие как E и T, встречаются гораздо чаще других. Совершенно случайный текст находится около 0.038, где каждая буква равновероятна.

Это одно число — самая полезная подсказка для шифров на основе букв. Шифры Цезаря, Atbash и замены по ключевому слову лишь меняют одну букву на другую, поэтому неравномерный частотный профиль английского сохраняется, и IoC остаётся высоким, около 0.066. Полиалфавитные шифры вроде Vigenère используют сразу несколько алфавитов, что сглаживает частоты и тянет IoC вниз к 0.04. Итак, высокий IoC говорит о моноалфавитном, низкий IoC — о полиалфавитном, а промежуточное значение — намёк попробовать оба.

Чтение подсказок по набору символов

Многие кодировки выдают себя одним лишь алфавитом. Код Morse использует только точки, тире и разделители. Двоичный код использует только цифры 0 и 1, обычно группами по восемь. Шестнадцатеричный использует цифры от 0 до 9 и буквы от A до F, с чётным числом символов. Base64 использует буквы верхнего и нижнего регистра, цифры, плюс и косую черту, часто заканчиваясь одним или двумя знаками равенства в качестве дополнения, при общей длине, кратной четырём.

Числа несут собственный смысл. Пары цифр от 1 до 5 — это координаты квадрата Полибия. Числа, которые все лежат между 1 и 26, скорее всего, это A1Z26, где 1 — это A, а 26 — это Z. Большие числа в диапазоне от 32 до 126 — это десятичные коды символов ASCII. Текст, построенный только из букв A, D, F, G, V и X, — безошибочный признак полевого шифра ADFGX или ADFGVX, применявшегося в Первой мировой войне.

Моноалфавитные против полиалфавитных шифров

Если текст состоит из букв и IoC высок, вы почти наверняка имеете дело с моноалфавитным шифром, где каждая буква открытого текста всегда отображается в одну и ту же букву шифртекста. Простейший — шифр Цезаря, который сдвигает каждую букву на одну и ту же величину; определитель подтверждает его, когда ровно один сдвиг превращает текст в английский. Atbash — особый случай, обращающий алфавит, так что A становится Z. Если не работает ни сдвиг, ни обращение, но IoC всё ещё высок, это общая замена по ключевому слову или аффинная замена, которой нужен решатель замен.

Если IoC низок, шифр использует более одного алфавита. Классический пример — Vigenère, который применяет повторяющееся ключевое слово, так что каждая позиция может использовать другой сдвиг; к его родственникам относятся Beaufort, Gronsfeld и Porta. Отдельная подсказка — чётная длина без сдвоенных букв внутри пар — указывает, наоборот, на полиграфический шифр вроде Playfair, который шифрует по две буквы за раз.

Что делать после определения шифра

Определение — это только первый шаг. Каждый кандидат в результатах ссылается на отдельный декодер для этого шифра, где вы можете закончить работу. Для шифра Цезаря декодер может перебрать все 25 сдвигов и выбрать лучший с помощью частотного анализа. Для Base64, Morse, двоичного или hex подходящий конвертер превращает код обратно в текст. Для шифров Vigenère и замены вам обычно понадобится ключ или решатель, но знание семейства подсказывает, какую именно технику применять.

Когда появляется несколько кандидатов, двигайтесь вниз по списку от самого уверенного. Определитель намеренно показывает более одной возможности, когда улики неоднозначны, потому что короткое сообщение редко даёт однозначный ответ. Проба верхнего декодера почти всегда подтверждает или отвергает догадку за секунды.

Ограничения, о которых стоит помнить

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

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

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

Что такое определитель шифра?
Определитель шифра анализирует фрагмент неизвестного текста и сообщает, какой шифр или кодировка вероятнее всего его создали. Вместо того чтобы перебирать все декодеры вручную, вы один раз вставляете шифртекст и получаете ранжированный список кандидатов, каждый с оценкой уверенности и ссылкой на нужный декодер.
Как он узнаёт, какой это шифр?
Он использует классический криптоанализ. Сначала он проверяет набор символов, поскольку Morse, двоичный, шестнадцатеричный, Base64 и числовые коды используют каждый свой характерный алфавит. Для текста из букв он измеряет частоты букв и индекс совпадений, затем проводит тесты Цезаря и Atbash, объединяя все улики в ранжированный список. Он полностью основан на правилах, поэтому каждый результат сопровождается объяснением.
Что такое индекс совпадений?
Индекс совпадений измеряет вероятность того, что две случайно выбранные из текста буквы окажутся одинаковыми. Английский — около 0.067, а случайный текст — около 0.038. Моноалфавитные шифры держат значение высоким, около 0.066, тогда как полиалфавитные шифры вроде Vigenère сглаживают его к 0.04, и это самая полезная единственная подсказка, чтобы различить два семейства.
Может ли он определить любой шифр?
Нет. Он охватывает классические шифры и распространённые кодировки, встречающиеся в головоломках, играх и истории, — более пятнадцати семейств в общей сложности. Он не распознаёт современную криптографию, такую как AES или RSA, чей вывод спроектирован выглядеть случайным и не нести структуры. Воспринимайте результаты как сильные подсказки, указывающие на нужный декодер, а не как гарантированный ответ.
Почему он предлагает более одного шифра?
Когда улики неоднозначны, инструмент намеренно перечисляет несколько возможностей, упорядоченных по уверенности, чтобы вы не упустили ответ. Особенно короткие сообщения редко дают однозначный вердикт, поэтому увидеть два-три кандидата — это нормально. Начните с самого уверенного и двигайтесь вниз по списку.
Он говорит, что мой текст — открытый текст. Что это значит?
Это значит, что распределение букв уже соответствует обычному английскому, поэтому текст может быть вообще не зашифрован или использует шифр, сохраняющий нормальные частоты. Если вы ожидали шифр, проверьте, не является ли сообщение просто читаемым или не было ли оно закодировано способом, который сохраняет статистику, похожую на английскую.
Декодирует ли инструмент сообщение тоже?
Определитель сосредоточен на том, чтобы сказать вам, какой у вас шифр. Чтобы декодировать, нажмите ссылку на верхнем кандидате, которая откроет отдельный декодер для этого шифра. Некоторые, как Цезарь, Base64, Morse, двоичный и hex, декодируют мгновенно; другие, как Vigenère, обычно требуют ключа или решателя, но вы будете точно знать, какой инструмент использовать.
Загружается ли мой текст на сервер?
Нет. Весь анализ происходит целиком в вашем браузере, поэтому ваш текст никогда не загружается, не логируется и не сохраняется. Даже ссылка для обмена хранит ваш текст в части URL после решётки, которую браузеры никогда не отправляют на сервер, поэтому он остаётся приватным, пока вы сами не решите им поделиться.
Какие шифры и кодировки он может обнаружить?
Среди прочего он распознаёт код Morse, двоичный, шестнадцатеричный, Base64, шифр Бэкона, квадраты Полибия, числовые коды A1Z26 и ASCII, ADFGX и ADFGVX, шифры сдвига Цезаря и ROT, Atbash, замену по ключевому слову и аффинную, Vigenère и другие полиалфавитные шифры, а также диграфные шифры в стиле Playfair.
Почему он не может определить очень короткие сообщения?
Статистическим тестам, таким как частотный анализ и индекс совпадений, нужно достаточно букв, чтобы быть надёжными. Горстка символов не содержит достаточно информации, чтобы отличить один шифр от другого, поэтому короткие образцы часто возвращаются как неоднозначные или нераспознанные. Чем длиннее сообщение, тем увереннее определение.
Как определить шифр вручную?
Сначала посмотрите на алфавит: точки и тире означают Morse, нули и единицы означают двоичный, а алфавит из A, D, F, G, V, X означает ADFGX. Для букв проверьте частоты; если одна буква шифра доминирует так, как E в английском, это вероятно простой сдвиг или замена, а если частоты выглядят ровными, это, скорее всего, полиалфавитный. Этот инструмент автоматизирует именно эти проверки.
В чём разница между шифром и кодировкой?
Кодировка, такая как Base64, шестнадцатеричный или Morse, просто представляет текст в другой форме и не требует секретного ключа для обращения. Шифр, такой как Цезарь или Vigenère, намеренно скрывает сообщение и требует ключа для декодирования. Определитель работает с обоими, потому что при встрече с загадочным текстом вам сначала нужно понять, с чем из двух вы имеете дело.

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

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

Шифр Цезаря

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

Шифр Атбаш

Шифр Рейл-Фенс

Шифр Плейфера

Аффинный шифр