UTILS.
100% в браузере
🔡

Калькулятор индекса совпадений

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

результат

Об этом инструменте

Калькулятор индекса совпадений (IoC) вычисляет классическую криптоаналитическую статистику: вероятность того, что две случайно выбранные из текста буквы окажутся одинаковыми. Он фильтрует ввод, оставляя только буквы, приводит к верхнему регистру, подсчитывает каждую из 26 букв n_i при общем числе N букв и оценивает IC = Σ n_i·(n_i − 1) / (N·(N − 1)). Он также сообщает нормализованный IC = IC × 26, масштабированный так, что равномерно случайный текст находится около 1.0, а английский открытый текст около 1.73.

Именно эти эталонные значения делают IoC полезным. Английский открытый текст имеет IC около 0.0667 (нормализованный ≈ 1.73), потому что его распределение букв далеко от плоского, тогда как равномерно случайный или хорошо перемешанный полиалфавитный шифртекст падает примерно до 0.0385 (нормализованный ≈ 1.00). Моноалфавитная замена сохраняет IC открытого текста, поэтому высокий IC сигнализирует о простом шифре; низкий IC сигнализирует о полиалфавитном, таком как Виженер.

Для восстановления длины ключа Виженера введите максимальную длину ключа, чтобы запустить сканирование столбцов. Инструмент разбивает текст на k столбцов для каждого кандидата k, вычисляет средний IC по этим столбцам и отмечает то k, чьё среднее ближе всего к английскому значению — вероятную длину ключа, потому что разбиение по истинному периоду собирает заново моноалфавитные столбцы. Всё детерминировано и вычисляется офлайн в вашем браузере; ничего не выгружается.

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

Что говорит мне индекс совпадений?
Он измеряет, насколько неравномерно распределение букв. Английский открытый текст имеет IC около 0.0667 (нормализованный ≈ 1.73); случайный или полиалфавитный шифртекст падает примерно до 0.0385 (нормализованный ≈ 1.00). Высокий IC указывает на открытый текст или моноалфавитный шифр; низкий IC указывает на полиалфавитный шифр вроде Виженера.
Чем полезен нормализованный IC?
Умножение необработанного IC на 26 перемасштабирует его так, что равномерно случайный текст находится примерно на 1.0, а английский примерно на 1.73, давая интуитивный эталон. Это упрощает чтение сравнения «насколько близко к английскому» без запоминания малых необработанных десятичных дробей.
Как сканирование столбцов оценивает длину ключа?
Для каждого кандидата длины ключа k оно разбивает текст на k столбцов (каждая k-я буква), вычисляет средний IC столбцов и отмечает то k, чьё среднее ближе всего к английскому (~0.0667). При истинном периоде Виженера каждый столбец — это единственный сдвиг Цезаря — моноалфавитный — поэтому его IC растёт к английскому значению.
Влияют ли пунктуация или регистр на результат?
Нет. Инструмент удаляет всё, кроме букв, и приводит остальное к верхнему регистру перед подсчётом, поэтому пробелы, цифры и пунктуация игнорируются. Только 26 букв A–Z вносят вклад в N и подсчёты букв.

Больше инструментов