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

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

Входные данные
0 симв. · 0 байт
Попробовать:
Результат
✓ Анализ выполняется в браузере ✓ Поддержка Unicode и многоязычного текста ✓ Анализ в реальном времени ✓ Обработка выполняется локально в браузере
Примеры
Анализ русского панграма
Вход Съешь же ещё этих мягких французских булок, да выпей чаю

Этот панграм содержит все буквы русского алфавита как минимум один раз.

Шифртекст Цезаря
Вход ТУЛЕЗХ ПЛУ

ПРИВЕТ МИР, зашифрованное шифром Цезаря со сдвигом 3. В частотах видны Т, У, Л и другие буквы, сдвинутые относительно исходного сообщения.

Фраза из русской прозы
Вход Все счастливые семьи похожи друг на друга

Известная русская фраза для проверки распределения букв в естественном языке.

Повторяющиеся шаблоны
Вход АТАКА НА РАССВЕТЕ АТАКА НА ЗАКАТЕ

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

Как работает частотный анализ

Частотный анализ измеряет, как часто в тексте встречаются буквы, символы, слова или группы символов. Естественные языки имеют устойчивые статистические закономерности: одни буквы появляются заметно чаще других. В русском языке, например, среди самых частых букв обычно находятся О, Е, А, И, Н и Т.

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

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

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

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

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

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

Понимание языковых частотных профилей

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

Английский профиль:

E
12.7%
T
9.1%
A
8.2%
O
7.5%
I
7.0%
N
6.7%

В русском языке вершина профиля выглядит иначе: чаще всего встречаются О, Е, А, И, Н и Т. Эти частоты помогают отличать русский открытый текст от случайного набора символов и от шифртекста после простой подстановки.

Русский профиль:

О
10.97%
Е
8.45%
А
8.01%
И
7.35%
Н
6.70%
Т
6.26%

Криптоаналитики сравнивают наблюдаемые частоты шифртекста с такими профилями, чтобы определить вероятный язык и сопоставить частые символы с наиболее вероятными буквами открытого текста. Классическая английская мнемоника ETAOIN SHRDLU сохраняется как исторический ориентир, а для русского анализа полезнее держать в голове порядок вроде ОЕАИНТ.

FAQ

Частотный анализ изучает, как часто в тексте встречаются буквы, символы, слова или группы символов. Это базовая криптоаналитическая техника, которая помогает выявлять языковые закономерности и атаковать многие классические шифры.

Частотный анализ лучше всего работает против моноалфавитных подстановок: шифра Цезаря, аффинного шифра и простых шифров замены. Он также помогает при атаках на шифр Виженера в сочетании с другими методами. Современные алгоритмы шифрования, такие как AES, не уязвимы к частотному анализу.

В английском среди самых частых букв обычно E, T, A, O, I, N, S, H, R, D, L и C. В русском чаще всего встречаются О, Е, А, И, Н, Т, С и Р. Точные доли зависят от жанра текста, но ведущие буквы в естественной письменной речи остаются достаточно стабильными.

Индекс совпадений (IC) показывает, насколько вероятно, что две случайно выбранные буквы из текста окажутся одинаковыми. У естественных языковых текстов IC обычно выше, чем у случайного текста. Криптоаналитики используют IC, чтобы различать открытый текст, моноалфавитные подстановки и некоторые полиалфавитные шифры.

Биграммы — это последовательности из двух символов, например СТ, НО или ЕН. Триграммы — последовательности из трех символов, например СТО, ЕНИ или ОГО. Они дают дополнительную статистическую информацию и заметно улучшают анализ классических шифров.

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