Jetzt werden Schwächen der "Public Keys" publik:

Verschlüsselung ist noch wenig zuverlässig

01.02.1985

Denkt man an Hacker Wau Holland und ähnliche Koryphäen des Datenunwesens, so wird auch dem unbefangenen Beobachter rasch klar, wie wichtig es ist, Daten durch Verschlüsselung gegen unbefugte Manipulationen oder wenigstens Einblicke abzuschirmen. Nur bietet so manches Codierungsverfahren weit weniger Schutz, als man bisher gedacht hat.

Diese Erkenntnis verdankt die Fachwelt einer kleinen, aber äußerst aktiven Gruppe von Mathe- und Informatikern, die sich ein Wettrennen darin liefern, immer wirksamere Verschlüsselungs- und dann wieder Code-Bruch-Verfahren zu entwickeln. Dabei sah es Ende der 70er Jahre eine Zeitlang so aus, als lägen die Verschlüsselungsexperten endgültig vorn, während aber neuerdings die notorischen Gegner jeglicher Geheimniskrämerei wieder Schritt für Schritt an Boden gewinnen.

Jeder darf den Schlüssel kennen

Der offenbar unaufhaltsame Zug des Fortschritts hat erst kürzlich selbst jene Kryptologen überrollt, die mit ihren "Tornisterproblem"-Codierverfahren jahrelang den Beifall der Öffentlichkeit haben einheimsen können. Leute, deren Codierverfahren vor allem deshalb die Laien verblüfft hatten, weil man dabei ganz öffentlich bekanntgeben konnte, mit welcher Schlüsselzahl - Nachrichten, die an einen Empfänger gesandt werden sollten, zu verschlüsseln waren - und die es angeblich dennoch jedem außer dem "echten" Empfänger unmöglich machten, den durch den Draht gehenden Zahlenverhau wieder in sinnvolle Nachrichten umzusetzen.

Diese Tornister-Verfahren basieren im Grunde darauf, daß es bei hinreichend großen Zahlen praktisch unmöglich ist, in halbwegs christlicher Zeit herauszufinden, welche ganzzahligen Summanden (oder auch Faktoren) diese Zahl darstellen. Genauso, wie man praktisch nicht herausfinden kann, welche paar kleinen Schächtelchen aus einem riesigen Haufen lauter unterschiedlich großer denn wohl exakt und fugenlos in einen Tornister (also in eine große Schachtel) gesteckt werden können.

Auf der Grundlage dieses Konzepts wurden in den USA 1976 die erwähnten Public-Key-Verfahren vorgeschlagen, bei denen also jedermann die Verschlüsselungs-Schlüsselzahl kennen darf, aber nur der Empfänger zusätzlich weiß, mit welcher weiteren Zahl er die Nachrichten wieder entschlüsseln kann. Das Attraktive an dieser Technik ist dabei vor allem, daß man hier nicht, wie bei den üblichen Schlüssel-Verfahren sonst, auch den Entschlüsselungscode auf irgendeine Weise vom Sender zum Empfänger transportieren und ihn dabei natürlich der Gefahr abgefangen zu werden, aussetzen muß.

Die Tornister-Methode galt im Vergleich zu einer konkurrierenden zweiten Technik, mit einem öffentlichen Schlüssel zu arbeiten (RSA-Verfahren), über lange Jahre hinweg als die attraktivere, denn mit ihr konnte man schneller ver- und entschlüsseln. Um ihr Funktionieren und auch den Grund, warum sie nun aber doch als unsicher einzustufen ist, verstehen zu können, muß ihre Arbeitsweise hier nun ein wenig ausführlicher diskutiert werden.

In einem derartigen Verschlüsselungssystem wird mit einem öffentlichen Schlüssel operiert, der sich als Satz von n "Tornistergewichten" (Zahlen) darstellt. Will man nun eine Nachricht codieren, so gruppiert man die Einser und Nuller des entsprechenden Binärzahlenstroms in Blöcke von jeweils n Bit Länge und multipliziert jedes Bit in diesen Blöcken mit jeweils der dazugehörigen Tornister-Gewichtszahl. Die Resultate werden addiert und man erhält die verschlüsselte Nachricht.

Um mit diesem Verfahren nun effektiv arbeiten zu können, erfanden zwei Wissenschaftler, Martin E. Hellmann und Ralph C. Merkle, ein trickreiches Verfahren. Sie wählten als Basis dafür ein "leicht" zu knackendes Tornisterzahl-Verfahren auf der Grundlage nur einiger weniger Tornisterzahlen und fügten eine weitere Verarbeitungsstufe hinzu, die quasi wie eine - nur in einer Richtung durchschreitbare - Falltür wirkt und dafür sorgt, daß das am Ende resultierende Zahlengewirr den Anschein eines schwer und langwierig lösbaren Tornisterzahl-Problems erweckt.

Das alles soll etwas näher illustriert werden, beispielsweise anhand der Zahlen 1, 2, 4, 8, 16 und 32. Diese Tornisterzahlen - jede ist um 1 größer als die Summe der ihr vorangehenden - stehen für ein leicht entschlüsselbares Tornister-Problem, denn man sieht schnell, daß zur verschlüsselten Nachricht "37" die Originalnachricht "101001" gehört (1 + 4 + 32).Und keine andere.

Eine Falltür macht Verschlüsselung sicherer

Merkle und Hellmann wählten für die Praxis nun eine bestimmte Verallgemeinerung dieses knappen Beispiels und fügten als "Falltür" ein Zahlenpaar hinzu, mit dem die Tornisterzahlen einer modularen Multiplikation unterzogen werden, beispielsweise 28 und 71. Es werden dann alle ursprünglichen Tornisterzahlen (beziehungsweise -gewichte) mit 28 multipliziert und durch 71 dividiert, wobei man bloß die Reste notiert, würfelt man deren Reihenfolge dann noch durcheinander, steigt die Sicherheit des Verfahrens weiter an.

Zur Entschlüsselung muß man nun nur die korrekte Reihung der verfremdeten Tornisterzahlen kennen sowie außerdem ein weiteres Zahlenpaar, hier lautet es 33 und 71, mit dessen Hilfe die gleiche Rechenoperation wie vorhin (Ermitteln der Reste) zurück zu den ursprünglichen Tornisterzahlen führt; dann ist die Nachricht rasch entziffert. Und in der Tat gibt es gangbare mathematische Wege, dieses zweite Zahlenpaar bei der "Konstruktion" eines Schlüssel-Systems rasch und leicht zu finden. Sie dienen übrigens auch dazu, schnell mehrstufige Prozeduren - sogenannte "iterierte Tornister" - zu gestalten.

So attraktiv dieses ganze Verfahren nun bei seiner Präsentation vor Jahren auch aussah - Ernest E. Brickell von den Sandia National Laboratories in Albuquerque, New Mexico, hatte schon damals irgendwie den Eindruck, es müßte da vielleicht doch Ansatzpunke für raffinierte Codebrecher geben. Denn, so sagt er heute, in den "Mustern" der veröffentlichten Schlüssel sowie der übertragenen (codierten) Nachrichten wurden subtile kleine Hinweise vermutet, mit deren Hilfe ein Codeknacker wohl weiterkommen sollte.

Hausaufgabe für potentielle Codebrecher

Der erste erfolgreiche Angriff auf einfache Tornister-Kryptosysteme gelang dann im Jahre 1982 dem Kryptologen Adi Shamir vom Weizmann-Institut in Israel. Dabei fand er heraus, daß ganz bestimmte Informationen über bestimmte Zahlensequenzen ( "superincreasing sequences") selbst durch die "Falltür" der modularen Multiplikation - siehe oben -"nicht gut genug verborgen" werden. Und ferner, daß man die Informationen dann rasch wiederfinden kann, wenn es gelingt, ein besonderes mathematisches Problem (in einem Gitter einen kurzen Vektor zu finden ...) zu lösen.

Kaum hatte Shamir diese neue Hausaufgabe für potentielle Codebrecher formuliert, tauchte auch schon eine Lösung auf: Es gelang noch im gleichen Jahr einen Algorithmus zu finden, der genau dieses Problem rasch zu lösen gestattet. Und überdies gelang es kurze Zeit später einem anderen Fachmann auf ähnliche Weise auch ein etwas anderes Kryptosystem namens "Graham-Shamir"-Tornister zu knacken.

Jener zweite Codeknacker war übrigens Leonard M. Adleman vom Massachusetts Institute of Technology. Dieser Adleman ist zusammen mit Shamir und Ronald L. Rivest der Erfinder des kurz schon erwähnten "RSA" -Verfahrens; RSA steht dabei für die Anfangsbuchstaben der Familiennamen der drei Kryptologen. Außerdem zeigt dieses Beispiel, daß Mathematik manchmal doch eine gewinnbringende Beschäftigung sein kann: Denn Shamir konnte von Merkle inzwischen 100 Dollar Wettprämie kassieren, weil er dessen Codesystem hat knacken können.

Merkle wiederum mag wohl betrübt gewesen sein, zeigte sich aber in der Folge um so zuversichtlicher, daß wenigstens seine "iterierten Tornister" unknackbar sein sollten Diesmal ging er voller Optimismus gleich mit 1000 Dollar ins Risiko - bloß, um nun kürzlich ebenfalls erleben zu müssen, daß er auf Sand gebaut hatte .Denn der schon erwähnte Brickell schaffte es, auch dieses raffiniertere Verfahren quasi von hinten her zu durchleuchten.

Hier ist es nicht möglich, Brickells Vorgehensweise in allen Details vorzuführen, doch man kann ihn mit den Worten zitieren, es sei ganz egal, wie oft die erwähnten modularen Multiplikationen wiederholt würden - solang sie das einzige Mittel seien, das bei der Verschlüsselung angewandt würde, könne er die entsprechenden Nachrichten nunmehr entziffern.

Brickells Arbeiten, die Merkle eingestandenermaßen voll und ganz überrascht haben, werden inzwischen auch von Fachkollegen wie Shamir voll anerkannt - und das, obwohl Brickell für seine Annahmen, auf deren Basis ihm die praktische Lösung des Entschlüsselungsproblems gelang, überhaupt erst noch den mathematisch hieb- und stichfesten Beweis finden muß. Denn, so Brickell, in fast schon bester Hacker-Tonart: "Ich habe zunächst bloß einfach ein paar Annahmen gemacht und dann schnell ein Computerprogramm geschrieben, um zu sehen, ob die Sache so geht." - Ein Programm, allerdings, mit dem er auf einem Cray-Supercomputer Systeme mit bis zu 100 Tornistergewichten und mit bis zu 20 Iterationen in rund einer Stunde hat knacken können.

Mit Brickells Arbeiten dürfte für den von ihm geknackten Typus von Codierverfahren wohl ein für allemal das .,Aus" gesprochen sein, doch das heißt nun wieder nicht, alle Tornister-Techniken müßten fortan obsolet sein. Es kann "sichere" geben, die nicht mit Hilfe modularer Multiplikationen arbeiten - und es gibt auch schon Kryptologen, die sich und sei es auch bloß aus Spaß an der Freud', auf die Suche nach ihnen gemacht haben.

So stellten zwei Experten erst kürzlich ein neues Tornister-Verfahren mit öffentlichem Schlüssel vor, das mit mathematischen Strukturen vom Typus "finite Felder" arbeiten soll und von dem man bisher nur hoffen kann, es werde den Attacken der notorischen Codeknacker widerstehen. Einer von diesen beiden Experten ist übrigens einmal mehr Ronald L. Rivest, der andere heißt Benny Chor.

Es wäre inzwischen schon beinahe ein Wunder, sollte die neue Chor-Rivest-Technik standhalten; denn, so hört man aus Fachkreisen, die Geschichte der Kryptologie ist ganz allgemein eine Geschichte der immer neuen Fehlschläge.

Sicherheit eines Systems ist nicht beweisbar

Bleibt also nun allein das RSA-Verfahren als einzig "sichere" Technik übrig? Eine Technik, die sich auf die Schwierigkeit abstützt, sehr große Zahlen in halbwegs vernünftiger Zeit -selbst mit Computern - in ihre Primfaktoren zu zerlegen? Fachleute meinen, und da stehen sie nun allerdings in der guten wissenschaftskritischen Tradition des österreichisch-britischen Philosophen Sir Karl Popper, daß man die Sicherheit eines Code-Systems überhaupt nie werde "beweisen" können; allenfalls lasse sich sagen, viele potentielle Knacker hätten's versucht und sie alle seien (sofern sie nicht sogar schwindeln) gescheitert.

So gesehen wird die vielleicht größte Errungenschaft auf dem Gebiete der Kryptologie eines Tages gar nicht ein noch besseres Codierverfahren sein, sondern - sollte man es finden - ein Beweisverfahren, mit dem man fixe Aussagen über den Grad an Sicherheit machen kann, den gegebene Codierverfahren bieten können. Denn, so Shamir, dann würde es zumindest möglich sein, die Zeitspanne festzulegen, bis zu deren Verstreichen kein Knacken des Codes zu befürchten wäre.