Kryptoanalyse
Die Kryptoanalyse bezeichnet die Studie von Methoden und Techniken, um Informationen aus verschlüsselten Texten zu gewinnen. Diese Informationen können sowohl der verwendete Schlüssel wie auch der Originaltext sein. Kryptoanalyse ist der "Gegenspieler" der Kryptographie. Beide sind Teilgebiete der Kryptologie.Lange Zeit beschäftigten sich hauptsächlich Mathematiker mit der Kryptologie. Mit der Verbreitung von Computern sind Kryptologen immer auch zu einem gewissen Teil Informatiker. Ein wichtiger Ansatz ist wiederkehrende Muster zu erkennen und zusätzliches Wissen aus Social Engineering. So konnte etwa Enigma mit einem anfänglichen Wissen geknackt werden, dass am Anfang zweimal der Schlüssel für den Rest der Nachricht (verschlüsselt mit einem unbekannten Tagesschlüssel) und anschließend das Datum und der Wetterbericht gesendet wurde. Man konnte damit den Tagesschlüssel rekonstruieren.
Bevor mechanische Apparate wie die Enigma oder Computer der Kryptografie ermöglichten, Nachrichten zu Pseudo-Zufallsfolgen zu verwürfeln, war die Statistik die stärkste Waffe, um Nachrichten zu entschlüsseln. Solange ein Mensch die Texte von Hand verschlüsselt, muss der verwendete Algorithmus einfach genug bleiben, um die Nachricht in vertretbarer Zeit fehlerfrei umzusetzen. Diese Verschlüsselungsverfahren sind durch die Statistik angreifbar. Mit ihr wird die Häufigkeit bestimmter Zeichen und Zeichenfolgen bestimmt. Mit dem Wissen über die Gesetzmäßigkeiten einer Sprache können Buchstaben und Wörter zugeordnet werden und der Klartext rekonstruiert werden.
Seitdem Computer durch ihre Geschwindigkeit und Präzision die statistischen Bindungen in einem verschlüsselten Text auf fast Null reduzieren, müssen neue Analysetechniken verwendet werden mit den Zielen den Verschlüsselungsalgorithmus aufzudecken, eine Schwachstelle im Algorithmus auszunutzen (wie auch schon die Statistik Schwachstellen nutzte) und den Schlüssel zu rekonstruieren, mit dem die Nachricht verschlüsselt wurde.
Wenn es um die Analyse einer alten nicht mehr bekannten Schrift geht, spricht man von Entzifferung.
Nach dem Kerckhoffschen Prinzip geht man grundsätzlich davon aus, dass der Angreifer das grundsätzliche Verschlüsselungsverfahren kennt, jedoch nicht den verwendeten Schlüssel. Es hat sich in der Vergangenheit immer wieder gezeigt, dass Verschlüsselungsverfahren, die nur auf der Geheimhaltung des Algorithmus beruhen, schwach sind. Früher oder später wurde der Algorithmus gefunden oder durch diverse Verfahren aufgedeckt.
Ziel eines Angriffes ist die Ermittlung des geheimen Schlüssels, der dann in der Zukunft beliebige Entschlüsselungen erlaubt.
Man unterscheidet verschiedene Angriffszenarien auf ein Kryptosystem:
Der Angreifer kennt einen oder mehrere Geheimtexte und versucht mit deren Hilfe auf den Klartext beziehungsweise den Schlüssel zu schließen.
Der Angreifer besitzt Geheimtext und hat Grund zu der Annahme, dass dieser bestimmte Wörter enthält, mit denen eine Analyse versucht werden kann.
Siehe Hauptartikel: Angriff mit frei wählbarem Klartext
Siehe Hauptartikel: Angriff mit frei wählbarem Geheimtext
Angriffsszenarien
Ciphertext Only
Manchmal wird diese Methode auch als Known Ciphertext bezeichnet.Probable Plaintext
Known Plaintext
Der Angreifer besitzt Geheimtext(e) und die zu diesen gehörenden Klartexte. Beide werden benutzt, um den Schlüssel zu ermitteln.Angriff mit frei wählbarem Klartext (englisch chosen-plaintext attack)
Adaptive Chosen Plaintext
Ähnlich dem vorhergehenden Angriff; der Angreifer hat längere Zeit Zugang zu einem Verschlüsselungssystem und kann sich immer wieder frei gewählte Klartexte verschlüsseln. Insbesondere kann er nach der Analyse des erhaltenen Krypotextes je nach Ergebnis gezielt einen neuen Klartext zum Verschlüsseln wählen (daher 'adaptive'). Angriff mit frei wählbarem Geheimtext (englisch chosen-ciphertext attack)
Adaptive Chosen Ciphertext
Ähnlich zum vorhergehenden Angriff; allerdings hat der Angreifer längere Zeit Zugang zum System und kann nach jeder Analyse gezielt einen neuen Kryptotext zum Entschlüsseln wählen.Chosen Text
Kombination aus Chosen Plaintext und Chosen Ciphertext. Adaptive Chosen Text
Kombination aus Adaptive Chosen Plaintext und Adaptive Chosen Ciphertext.