Robert Sedgewick: Algorithmen

[ Inhaltsverzeichnis ] [ vorhergehende Seite ] [ nächste Seite ] [ Stichwort ]


23. Kryptologie



Ver- und Entschlüsselungsmaschinen

Viele kryptographische Anwendungen (zum Beispiel militärische Sprach-Kommunikationssysteme) erfordern die Übertragung großer Datenmengen, weshalb die Methode der einmaligen Überlagerung ungeeignet ist. Was benötigt wird, ist eine Annäherung an die einmalige Überlagerung, bei der aus einem kleinen echten Schlüssel, der verteilt wird, ein großer »Pseudo-Schlüssel« erzeugt werden kann.

Die übliche Vorgehensweise in solchen Situationen ist folgende: In eine Verschlüsselungsmaschine werden vom Absender gewisse Kryptovariablen (echter Schlüssel) eingegeben, die die Maschine benutzt, um eine lange Folge von Schlüssel-Bits (Pseudo-Schlüssel) zu erzeugen. Durch XOR-Verknüpfung dieser Bits mit dem Klartext wird der Chiffretext gebildet. Der Empfänger, der eine ähnliche Maschine und dieselben Kryptovariablen hat, verwendet sie, um die gleiche Folge von Schlüssel-Bits zu erzeugen, die er dann mit dem Chiffretext XOR-verknüpft und so den Klartext zurückgewinnt.

Die Erzeugung des Schlüssels besitzt in diesem Zusammenhang große Ähnlichkeit mit Hashing und der Erzeugung von Zufallszahlen, und die in den Kapiteln 16 und 35 erörterten Verfahren sind für die Erzeugung des Schlüssels geeignet. Tatsächlich wurden einige der in Kapitel 35 betrachteten Mechanismen zuerst für die Verwendung in Ver- und Entschlüsselungsmaschinen von der hier beschriebenen Art entwickelt. Allerdings müssen Schlüsselgeneratoren etwas komplizierter sein als Zufallszahlengeneratoren, da es Möglichkeiten gibt, einfachen Maschinen beizukommen. Das Problem besteht darin, daß es für den Kryptoanalytiker leicht sein könnte, etwas Klartext zu bekommen (zum Beispiel Schweigen in einem Sprechsystem) und damit ein Stück des Schlüssels. Falls der Kryptoanalytiker genug über die Maschine weiß, könnte der Schlüssel genügend Anhaltspunkte liefern, um die Werte aller Kryptovariablen zu einem bestimmten Zeitpunkt abzuleiten; danach kann die Arbeitsweise der Maschine simuliert und der gesamte Schlüssel von diesem Moment an berechnet werden.

Kryptographen haben verschiedene Möglichkeiten, um solche Probleme zu umgehen. Ein Weg besteht darin, eine Kryptovariable zu einem Teil der Maschinenarchitektur selbst zu machen. Gewöhnlich wird angenommen, daß der Kryptoanalytiker alles über die Struktur der Maschine weiß (vielleicht wurde eine gestohlen), mit Ausnahme der Kryptovariablen. Wenn jedoch einige der Kryptovariablen zur Konfigurierung der Maschine verwendet werden, kann es schwierig sein, deren Werte zu finden. Eine andere Methode, die gewöhnlich angewandt wird, um den Kryptoanalytiker in die Irre zu führen, ist die Produktchiffre. Dabei werden zwei verschiedene Maschinen so kombiniert, daß sie eine komplizierte Schlüsselfolge erzeugen (oder einander steuern). Ein weiteres Verfahren ist die nichtlineare Substitution; hierbei erfolgt die Übersetzung zwischen Klartext und Chiffretext nicht Bit für Bit, sondern in großen Abschnitten. Das allgemeine Problem bei solchen komplexen Methoden ist, daß sie sich aufgrund ihrer Komplexität mitunter dem Verständnis des Kryptographen entziehen, und daß stets die Möglichkeit besteht, daß für eine bestimmte Wahl der Kryptovariablen ungünstige Entartungen auftreten.


[ Inhaltsverzeichnis ] [ vorhergehende Seite ] [ nächste Seite ] [ Stichwort ]