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

Калькулятор індексу збігів

Обчислюйте індекс збігів тексту для визначення типу шифру та оцінки довжини ключа Vigenère, з еталонами англійської vs випадкової та скануванням стовпців.

результат

Про цей інструмент

Калькулятор індексу збігів (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 сигналізує про поліалфавітний, як-от Vigenère.

Для відновлення довжини ключа Vigenère введіть максимальну довжину ключа, щоб запустити сканування стовпців. Інструмент розбиває текст на k стовпців для кожного кандидата k, обчислює середній IC по цих стовпцях і позначає k, чиє середнє найближче до англійського значення — імовірну довжину ключа, бо розбиття за справжнім періодом відновлює моноалфавітні стовпці. Усе детерміноване й обчислюється офлайн у вашому браузері; нічого не завантажується.

Поширені запитання

Що каже мені індекс збігів?
Він вимірює, наскільки нерівномірний розподіл літер. Англійський відкритий текст має IC близько 0.0667 (нормалізований ≈ 1.73); випадковий чи поліалфавітний шифротекст падає приблизно до 0.0385 (нормалізований ≈ 1.00). Високий IC вказує на відкритий текст чи моноалфавітний шифр; низький IC вказує на поліалфавітний шифр на кшталт Vigenère.
Чому нормалізований IC корисний?
Множення сирого IC на 26 перемасштабовує його так, що рівномірно випадковий текст лежить приблизно на 1.0, а англійський приблизно на 1.73, даючи інтуїтивний еталон. Це полегшує читання порівняння ‘наскільки близько до англійської’ без запам’ятовування малих сирих десяткових значень.
Як сканування стовпців оцінює довжину ключа?
Для кожного кандидата довжини ключа k він розбиває текст на k стовпців (кожна k-та літера), обчислює середній IC стовпців і позначає k, чиє середнє найближче до англійського (~0.0667). При справжньому періоді Vigenère кожен стовпець — це один зсув Цезаря — моноалфавітний — тож його IC зростає до англійського значення.
Чи впливають пунктуація чи регістр на результат?
Ні. Інструмент вилучає все, крім літер, і переводить решту у верхній регістр перед підрахунком, тож пробіли, цифри й пунктуація ігноруються. Лише 26 літер A–Z дають внесок у N і підрахунки літер.

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