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

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

Порядок в таблице
Букв в тексте—
Индекс совпадений—
Энтропия—
Самые частые буквы—

Буквы

Частые биграммы

Рекламный блок «после калькулятора» (ads/after-calc.html)

Частоты букв в языке

Буквы в осмысленном тексте распределены очень неравномерно. В русском языке на О приходится около 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. Важно, что простая замена не меняет индекс совпадений, а многоалфавитные шифры (например, шифр Виженера) делают его ближе к случайному. Так по одному числу можно понять, каким шифром закрыт текст.

Рекламный блок «внутри статьи» (ads/in-article.html)

Энтропия

Энтропия Шеннона H = −Σ pi·log₂ pi показывает, сколько бит информации в среднем несёт одна буква, если учитывать только частоты букв. Для равномерного алфавита из 33 букв это log₂ 33 ≈ 5,04 бита, для русского текста — около 4,4 бита. Если учесть зависимости между соседними буквами и словами, реальная информативность языка ещё ниже — порядка 1–1,5 бита на букву, поэтому тексты хорошо сжимаются архиваторами.

Как пользоваться

  • Вставьте шифротекст и сравните столбцы на графике: если распределение похоже на языковое, но «перемешано» — это шифр простой замены.
  • Если все буквы встречаются примерно одинаково часто, а индекс совпадений близок к случайному, текст закрыт многоалфавитным шифром или современным алгоритмом.
  • Для шифра Цезаря график текста — это график языка, сдвинутый по кругу на величину ключа.
Рекламный блок «внизу страницы» (ads/bottom.html)