Kryptographie & Atari (1)

Kryptographie ist in Zeiten des weltweiten Datenverkehrs ein heißes Thema. Die gängigen Verschlüsselungssysteme für den Atari sowie einen kleinen Abstecher in die Geschichte der Kryptographie möchten wir ihnen vorstellen.

Seit jeher streiten sich Staaten, Geheimdienste und Privatpersonen um das Thema Verschlüsselung. So gab es z.B. eine US-Bestimmung, die die Verschlüsselungsstärke von Browsern beschränkte. Der Grund war wohl, das die US-Geheimdienste verschlüsselte Botschaften auch gerne entschlüsseln möchten. In diesem Zusammenhang gab es auch wegen angeblicher Hintertüren in Browsern und Betriebssysteme diverse Skandale, denn natürlich möchte z.B. Airbus nicht, das Boeing die Pläne für das nächste Flugzeug bekommt. Es wird deshalb schon seit längerem empfohlen, sensible Daten zu verschlüsseln. Natürlich sollte die Verschlüsselung gut sein, denn grundsätzlich ist jeder Code zu knacken - es ist nur eine Frage des Aufwandes.

Geschichte der Kryptographie

Das Wort stammt aus dem 17. Jahrhundert und wird John Wilkins sowie Thomas Browne zugeschrieben. Die ähnliche Steganographie ist sogar noch etwas älter und wurde erstmals von einem Mönch im 16. Jahrhundert benannt.

Die ersten Anfänge der Kryptographie liegen im römischen Reich, denn Julius Caesar pflegte wichtige Nachrichten zu verschlüsseln, in dem er jeden Buchstaben durch den im Alphabet viertnächsten ersetzte. Diese Methode hat dann immerhin fast 2000 Jahre überdauert und ist auch heute noch Bestandteil des Informatik-Unterrichts. Das als "ROT-13" bekannte Verfahren ist auch nichts anderes als eine Variante des Caesar-Codes. Wenn die Nachricht einem Feind in die Hände fiel, konnte dieser zunächst nichts damit anfangen, denn durch die Verschiebung entstehen wirre Wörter. Um sich ein bißchen in die Caesarische Verschlüsselung hineinzuversetzen, kann folgendes Programm benutzt werden:

CLS
INPUT "Wort eingeben:",a$
a$=UPPER$(a$)
PRINT a$
FOR i=1 TO LEN(a$)
  b$=MID$(a$,i,1)
  b=ASC(b$)+4
  IF b>90
    b=b-26
  ENDIF
  PRINT CHR$(b);
NEXT i

Die wirklich erste Verschlüsselung dürften aber Sprachen und Gesten gewesen sein. Die USA haben z.B. Navajo-Indianer im Krieg eingesetzt, die sich in ihrer Stammessprache unterhalten haben. Für den Feind war diese Sprache völlig unverständlich. Auch heutige Computer sind nur begrenzt in der Lage, fremde Sprachen zu übersetzen, was teilweise zu der kuriosen Situation für die Geheimdienste führt, das sie zwar alle Informationen gesammelt haben, aber niemanden, der sie übersetzen könnte. Verläßt man die Geheimdienst-Zirkel, findet man Sprache als Mittel der Verschlüsselung auch in Slangs, mit denen Wörterbücher nur mühsam schritt halten können. Verwirrung wird zusätzlich dadurch erzeugt, das bekannte Wörter andere Bedeutungen erhalten. So ist das unschöne englische "F"-Wort in den USA zum Universalwort mutiert.

Der nächste Schritt nach Caesar war eine dynamischere Buchstabenverschlüsselung. Statt jeden Buchstaben zu verschieben, wurde eine Tabelle angelegt, in dem jeder Buchstabe ein Zahlenwert zugewiesen wurde. Das "A" erhält z.B. den Wert sieben und das "B" den Wert eins. Der so verschlüsselte Text ist erheblich schwerer zu entschlüsseln. Diese Methode wurde in der italienischen Renaissance entwickelt und wird polyalphabetisch genannt. Auf diesem Prinzip basierte auch die deutsche Enigma-Maschine, die auch vor Augen führt, wie fatal es sein kann, wenn ein Verschlüsselungsalgorithmus entschlüsselt wird. Nachdem der Code geknackt war, konnte jeder Funkspruch dechiffriert werden, was natürlich jeden militärischen Geheimplan zunichte machte.

Sowohl das Caesar-Verfahren als auch die polyalphabetische Methode haben allerdings den großen Nachteil, das durch Analyse der Häufigkeit der Buchstaben der Text entschlüsselt werden kann. Wenn dann auch noch die Vokalverteilung miteinbezogen wird, ist ein Code schnell geknackt. Je nach dem wieviel über den verschlüsselten Text bekannt ist, kann ein Kryptoanalytiker die verwendete Tabelle schnell herausfinden. Solche relativ einfachen Codes werden heutzutage aber schon automatisch vom Computer entschlüsselt.

Der Computer brachte Bewegung in die Krypto-Landschaft, denn er schaffte durch brutales Ausprobieren auch bisher sicher geglaubte Dokumente zu entschlüsseln. Für die Wissenschaft war dies ein Segen, aber alle die auf verschlüsselte Dokumente angewiesen werden sicher geflucht haben, obwohl es oft weniger ein Computer ist, der einen Algorithmus durch Entschlüsselung preisgibt, sondern der leichtsinnige Benutzer dieses Algorithmus.

Mit dem Computer sah man sich noch vor einem anderen Problem: Menschen verdoppeln ihre mathematische Leistungsfähigkeit nicht alle paar Monate. Insidern wird das Mooresche Gesetz von einem der Intel-Gründer etwas sagen, wonach sich die Geschwindigkeit der CPU alle achtzehn Monate verdoppelt.

Ein neuer Verschlüsselungsalgorithmus muß also zumindest so sicher sein, das er nicht schon am Heim-PC in fünf Minuten entschlüsselt ist. Auf dieser Annahme basieren auch alle heutigen Krypto-Techniken - aber niemand kann garantieren, das die Technik nicht doch einmal einen Quantensprung macht und einen 128-Bit-Schlüssel blitzschnell entschlüsselt.

Egal ob Caesar-Verfahren oder moderne Methoden wie PGP - jede Verschlüsselung basiert darauf, das die Entschlüsselungsmethode nur einem ausgewählten Personenkreis zugängig und für den Rest der Welt möglichst schwer herauszufinden ist. Die Behauptung der Industrie, eine Verschlüsselungsmethode sei absolut sicher, ist deswegen nur eine Werbefloskel, zumal sich gerade diese Codes als besonders unsicher erwiesen haben. In einigen Ländern wird deshalb nicht etwa ein stärkerer Schutz gefordert, sondern ein Gesetz, zum Verbot von Entschlüsselungsprogrammen (DMCA in den USA). Selbst das referieren darüber, wie ein Schutz entfernt werden kann, gerät somit zur Straftat. Aber selbst diese übergeordnete "Schutzmethode" hindert im Zeitalter des Internets kaum noch jemanden.

Ziemlich gute Privatssphäre

PGP (Pretty Good Privacy) ist das bekannteste Verschlüsselungsprogramm und für verschiedene Systeme erhältlich. Phil Zimmermann wählte dazu einen frei erhältlichen Verschlüsselungsalgorithmus namens CAST. Dieser ist 128 Bit stark und laut Zimmermann gibt es gute Gründe dafür, das der Algorithmus nicht durch die gängigen kryptoanalytischen Techniken geknackt werden kann. Er führt insbesondere ins Felde, das CAST keine schwachen Schlüssel hat.

Im Gegensatz zu einigen anderen Krypto-Programmen komprimiert PGP die Datei vor der Verschlüsselung. Für das Internet ist PGP deshalb ideal geeignet, da die verschlüsselten Dateien schneller übertragen werden. Ausgebremst werden durch die Komprimierung zudem die Kryptoanalytiker, da das System der Häufigkeit der Buchstaben nicht mehr greift. Dazu muß noch nicht einmal eine besonders exotische Komprimierungstechnik verwendet werden: PGP benutzt z.B. ZIP.

Beim Start generiert PGP aus einer Zufallszahl einen einmaligen Session-Schlüssel (session key). Mit diesem Schlüssel wird die gewünschte Datei verschlüsselt. Der Schlüssel wird mit dem öffentlichen Schlüssel (public key) verschlüsselt. Dieser öffentliche Schlüssel wird mit der verschlüsselten Datei zum Empfänger übertragen. Der Empfänger wiederum kommt an den Schlüssel des Senders nur durch seinen privaten Schlüssel (private key) heran. Damit kombiniert PGP zwei Verschlüsselungstechniken: die konventionelle (für die Datei), die als schnell und sicher gilt, und die öffentliche (für den Session-Schlüssel), die den Datenaustausch gestattet.

Die Schlüssel sind eine Folge von Zahlen, die zur Ver- und Entschlüsselung benutzt werden. Die Größe der Schlüssel wird in Bit angegeben. Wie in Hollywood, gilt auch hier das Motto: "Size Matters". Je größer der öffentliche Schlüssel, desto größer ist auch die Sicherheit. Bei der heutigen Computertechnik geht man davon aus, das ein 128-Bit starker konventioneller Schlüssel relativ sicher ist. Stärkere Schlüssel sind zwar vorstellbar, würden dann aber auch allen autorisierten Personen ein gehöriges Maß an Geduld abverlangen.

Trotz aller Sicherheit sollte der unverschlüsselte private Schlüssel an einem sicheren Platz auf der Festplatte aufbewahrt werden. Ansonsten können fremde diesen Schlüssel zu benutzen, um Dokumente zu fälschen.

PGP 5.0 dürfte für den Atari die aktuellste Version sein. Nach dem Runterladen wird das Programm auf die Festplatte gepackt. In der Datei pgp.cfg können diverse Einstellungen gemacht werden, u.a. auch die verwendete Ausgabesprache. Die Datei ist ausführlich auf Englisch kommentiert.

Um nun ein Schlüsselpaar zu generieren, wird pgp50i.ttp mit dem Parameter "-kg" aufgerufen.

Ausblick

In der nächsten Ausgabe wird weiter auf PGP reingegangen und RNE 7.31 vorgestellt, ein neues Kryptographie-Programm aus Deutschland.

Quellen:

[1] Götz Hoffart: "PGP mit dem Atari", ATOS 3/99, http://www.mindrup.de/atos/online/9903/pgp01.htm
[2] Peter Meyer : "Eine Einführung in die Anwendung der Verschlüsselung", Jan. 1994, http://hermetic.magnet.ch/crypto/introg.htm
[3] The International PGP Home Page - http://www.pgpi.org/


Mia Jaap
Aus: ST-Computer 04 / 2002, Seite 36

Links

Copyright-Bestimmungen: siehe Über diese Seite