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