# Koinzidenzindex

Den Koinzidenzindex (engl.: Index of coincidence, Abkürzung: IC) erhält man durch statistische Auswertung der Häufigkeit von Einzelzeichen (also meist der einzelnen Buchstaben) eines oder auch zweier Texte. Mit seiner Hilfe können verschlüsselte oder unverständliche Texte auf sprachliche Eigenschaften untersucht werden. Er wird speziell bei der Entzifferung historischer Schriftdokumente und allgemein in der Kryptanalyse benutzt. Die Methode wurde vom amerikanischen Kryptoanalytiker William F. Friedman für kryptologische Zwecke entwickelt und im Jahr 1922 in seiner bahnbrechenden Arbeit The index of coincidence and its applications in cryptography (deutsch: „Der Koinzidenzindex und seine Anwendungen in der Kryptographie“) publiziert.
$\mathbf {IC} ={\frac {\sum _{i=A}^{Z}n_{i}(n_{i}-1)}{N(N-1)}}$
In seiner grundlegenden Form wird der Koinzidenzindex ermittelt, indem man die Einzelanzahlen $n_{i}$ der unterschiedlichen Einzelzeichen eines Geheimtextes zählt, also beispielsweise wie oft der Buchstabe A auftritt, wie oft B, und so weiter. Diese werden nach oben angegebener Formel mit den um 1 verminderten Einzelanzahlen multipliziert und für alle Buchstaben (beispielsweise von A bis Z) aufsummiert. Die Summe wird schließlich dividiert durch die Gesamtanzahl N der Buchstaben des Textes (also der Textlänge) sowie die um 1 verminderte Textlänge. Das Ergebnis ist der Friedmansche Koinzidenzindex IC.
Natürliche Sprachen haben ihren jeweils typischen Koinzidenzindex.

## Definitionen

In allgemeiner Form sind unter dem Begriff Koinzidenzindex vier Funktionen zusammengefasst, die meist mit den griechischen Buchstaben $\kappa ,\chi ,\psi \$ und $\phi \$ (Kappa, Chi, Psi und Phi) bezeichnet werden. Oft wird $\phi \$ als der Koinzidenzindex bezeichnet, wobei vom historischen Standpunkt wohl eher $\kappa \,$ das Anrecht auf diesen Namen hat.
Gegeben seien zwei gleich lange Texte $T=x_{1}x_{2}\ldots x_{k},T'=x'_{1}x'_{2}\ldots x'_{k}$ über demselben Alphabet. Dann ist das $\kappa \,$ der beiden Texte
    $\kappa (T,T')=\sum _{i=1}^{k}{\frac {\delta (x_{i},x'_{i})}{k}},$
wobei $\delta \,$ das Kronecker-Delta bezeichnet (also $\delta (x_{i},x'_{i})=1$, falls $x_{i}=x'_{i}$ und $0$ sonst).
Damit ist $\kappa \,$ eine Zahl zwischen 0 und 1, wobei 1 genau dann auftritt, wenn beide Texte gleich sind. Werden die Zeichen zufällig mit gleicher Wahrscheinlichkeit aus einem Alphabet mit $n$ Zeichen gewählt, so ist der Erwartungswert für $\kappa \,$ gleich ${\tfrac {1}{n}}$, da jeder Summand mit Wahrscheinlichkeit ${\tfrac {1}{n}}$ gleich ${\tfrac {1}{k}}$ ist (und sonst gleich 0).
Da man in der Kryptanalyse oft aus kurzen Texten viel Information herauspressen möchte, ist die Funktion $\chi \,$, die, wie die folgenden Funktionen, auf Friedmans Mitarbeiter Solomon Kullback (1935) zurückgeht, gelegentlich aussagekräftiger:
    $\chi (T,T')=\sum _{i=1}^{k}\sum _{j=1}^{k}{\frac {\delta (x_{i},x'_{j})}{k^{2}}}=\sum _{\ell =1}^{n}{\frac {m_{\ell }\cdot m'_{\ell }}{k^{2}}},$
wobei $m_{\ell },m'_{\ell }$ angibt, wie oft das $\ell$-te Zeichen des Alphabets im Text $T$ bzw. $T'$ auftritt. Die Funktion $\chi \,$ hängt also allein von den Buchstabenhäufigkeiten der beiden Texte ab. Nun ist
    $\psi (T)=\chi (T,T).\,$
Während $\chi \,$ angewandt auf zwei Texte aus zufälligen gleichverteilten Zeichen wie $\kappa \,$ den Erwartungswert ${\tfrac {1}{n}}$ hat, ist das für $\psi \,$ nicht mehr der Fall, da $\delta (x_{i},x_{i})$ immer gleich 1 ist. Deshalb schließt man sinnvollerweise bei der Summation die Zeichen an derselben Position aus und definiert
    $\phi (T)=\sum _{1\leq i\neq j\leq k}{\frac {\delta (x_{i},x_{j})}{k(k-1)}}=\sum _{\ell =1}^{n}{\frac {m_{\ell }(m_{\ell }-1)}{k(k-1)}}.$
Ebenso wie $\psi \,$ kann $\phi \$ allein aus den Buchstabenhäufigkeiten der beiden Texte berechnet werden, jedoch ist für einen Text aus Zufallszeichen der Erwartungswert für $\phi \$ gleich ${\tfrac {1}{n}}$, während er für $\psi \,$ größer ist (nämlich ${\tfrac {n+k-1}{nk}}$). Insbesondere für kurze Texte ist der Unterschied markant.

## Bedeutung

Geht man von Texten aus mehr oder weniger gleichverteilten Zufallszeichen über zu Texten, die in einer bestimmten natürlichen Sprache verfasst sind, so ändert sich der Wert des Koinzidenzindexes erheblich. Eine Faustregel besagt, dass er etwa doppelt so groß wird. Dies gilt nicht nur für Klartexte, sondern gleichermaßen auch für monoalphabetisch verschlüsselte Geheimtexte, da sich bei diesen Verfahren die Häufigkeiten der einzelnen Buchstaben nicht ändern. Das heißt, der Koinzidenzindex ist invariant gegenüber diesen Arten der Verschlüsselung.
Nimmt man beispielsweise die 26 Buchstaben unseres gewohnten lateinischen Alphabets (Umlaute werden durch ae, oe, ue ersetzt, ß durch Doppel-s oder sz, Leerzeichen und Satzzeichen werden ignoriert), so liegt der Wert für deutschsprachige Texte $\kappa ,\chi \,$ und $\phi \,$ bei rund 0,078 oder 7,8 %, während man für englischsprachige Texte etwa 6,6 % erhält. Dies ist in beiden Fällen, und auch für alle anderen Sprachen, deutlich höher als im Fall der Gleichverteilung der Buchstaben. Treten sämtliche Buchstaben des Alphabets gleich häufig auf, wie es für „zufällig“ generierte Buchstabenfolgen („Zufallstexte“) oder für „stark verschlüsselte“ Geheimtexte der Fall ist, dann ergibt sich ein Wert von etwa 1/26, also rund 3,8 %. Der höhere Wert des Koinzidenzindexes für die deutsche Sprache gegenüber der englischen Sprache spiegelt vor allem die größere Häufigkeit des dominanten Buchstabens E im Deutschen (etwa 18 %) gegenüber dem Englischen (etwa 12 %) wider.
Der Erwartungswert $E_{S}$ des Koinzidenzindexes für eine Sprache $S$ lässt sich aus den Buchstabenhäufigkeiten nach der Formel
    $E_{S}=\sum _{i=1}^{n}p_{i}^{2}$
berechnen, wobei $p_{i}$ die Wahrscheinlichkeit des $i$-ten Zeichens des Alphabets in Texten der entsprechenden Sprache angibt.
In verwandten Sprachen ähneln sich oft die Erwartungswerte $E_{S}$, so dass bei unbekannten Texten anhand des Koinzidenzindex Vermutungen auf den zugehörigen Sprachraum angestellt werden können.

## Anwendung zur Kryptanalyse

Die wesentliche Eigenschaft ist hier, dass sich bei einer einfachen monoalphabetischen Substitutionsverschlüsselung weder $\kappa ,\chi ,\psi \,$ noch $\phi \,$ ändern, sofern die beteiligten Texte auf die gleiche Art verschlüsselt sind. Eine sprachliche Zuordnung hinreichend langer Texte wird somit allein auf statistischer Basis möglich.
Bei einer periodischen polyalphabetischen Substitutionsverschlüsselung ist der Koinzidenzindex noch wertvoller, denn die Schlüssellänge der Verschlüsselung kann mit folgender Formel abgeschätzt werden (Friedman-Test). Für die Sprache $S$ lautet die Formel für die Schlüssellänge $h$
    $h\approx {\frac {(E_{S}-{\frac {1}{n}})k}{(k-1)\phi (T)-k{\frac {1}{n}}+E_{S}}}.$
Diese Formel lässt sich theoretisch herleiten unter der Annahme, dass alle Schlüsselzeichen verschieden sind. Der Wert ist also vor allem bei mit kurzen Schlüsseln verschlüsselten kurzen Texten aufschlussreich, insbesondere in Kombination mit dem Kasiski-Test. Hat man mit längeren Schlüsselwörtern verschlüsselte längere Texte zur Verfügung, so ist das folgende Vorgehen präziser.
Entfernt man vom Text $T$ einmal die ersten $r$ Zeichen und einmal die letzten $r$ Zeichen, so erhält man zwei Texte, deren $\kappa \,$ bestimmt werden kann. Ist $r$ ein Vielfaches der Schlüssellänge, so sollte $\kappa \approx E_{S}$ sein, da die verglichenen Einzelzeichen mit demselben Schlüssel verschlüsselt sind. Ist $r$ jedoch kein Vielfaches der Schlüssellänge, so ist mit einem deutlich niedrigeren Wert für $\kappa \,$ zu rechnen, da die verglichenen Zeichen nur selten gleich verschlüsselt sind. Wiederholte Sequenzen im Schlüsselwort, mit denen man den Kasiski-Test und den Friedman-Test überlisten kann, beeinflussen die Ergebnisse hier nur ansatzweise und sollten in der Regel erkannt werden.
Auch bei nicht periodischen polyalphabetischen Verschlüsselungen lassen sich diese Methoden gewinnbringend nutzen. Insbesondere erkennt man bei zwei mit dem gleichen One-Time-Pad verschlüsselten Texten $T,T'\,$ durch Berechnung von $\kappa (T,T')\,$ sofort diese kryptographische Sünde und kann zum Beispiel durch die Methode des wahrscheinlichen Wortes angewandt auf einen der Texte versuchen, Klartextsequenzen im anderen Text zu erzeugen.
Der Koinzidenzindex eignet sich also für sogenannte Ciphertext-only-Angriffe (wo über den Inhalt des verschlüsselten Textes nichts bekannt sein muss) auf Substitutionsverschlüsselungen, wodurch diese Verfahren (natürlich außer einem korrekt angewendeten One-Time Pad) als ausgesprochen unsicher angesehen werden müssen.