Частотный анализ текста
Подсчитайте, как часто встречается каждая буква в тексте, и сравните с типичными частотами русского или английского языка на графике. Калькулятор вычислит индекс совпадений, энтропию Шеннона, найдёт частые биграммы и подскажет, похож ли текст на обычный, на шифр простой замены или на многоалфавитный шифр.
Буквы
Частые биграммы
Частоты букв в языке
Буквы в осмысленном тексте распределены очень неравномерно. В русском языке на О приходится около 11% всех букв, на Е — 8,5%, на А — 8%, а на Ф, Э, Щ и Ъ — доли процента. В английском лидируют E (12,7%), T (9,1%) и A (8,2%). Эти пропорции устойчивы: в любом достаточно длинном тексте они почти одинаковы, отличаясь в зависимости от жанра и тематики.
Частотный анализ — основной метод вскрытия шифров простой замены, известный с IX века по трудам арабского учёного аль-Кинди. Если каждая буква заменяется одним и тем же знаком, распределение частот сохраняется, и по нему восстанавливаются соответствия.
Индекс совпадений
Индекс совпадений — вероятность того, что две наугад выбранные буквы текста одинаковы:
IC = Σ ni·(ni − 1) / (N·(N − 1))
Для русского текста он около 0,055, для английского — около 0,066, а для равномерно случайных букв — 1/33 ≈ 0,030 и 1/26 ≈ 0,038. Важно, что простая замена не меняет индекс совпадений, а многоалфавитные шифры (например, шифр Виженера) делают его ближе к случайному. Так по одному числу можно понять, каким шифром закрыт текст.
Энтропия
Энтропия Шеннона H = −Σ pi·log₂ pi показывает, сколько бит информации в среднем несёт одна буква, если учитывать только частоты букв. Для равномерного алфавита из 33 букв это log₂ 33 ≈ 5,04 бита, для русского текста — около 4,4 бита. Если учесть зависимости между соседними буквами и словами, реальная информативность языка ещё ниже — порядка 1–1,5 бита на букву, поэтому тексты хорошо сжимаются архиваторами.
Как пользоваться
- Вставьте шифротекст и сравните столбцы на графике: если распределение похоже на языковое, но «перемешано» — это шифр простой замены.
- Если все буквы встречаются примерно одинаково часто, а индекс совпадений близок к случайному, текст закрыт многоалфавитным шифром или современным алгоритмом.
- Для шифра Цезаря график текста — это график языка, сдвинутый по кругу на величину ключа.
Комментарии и вопросы