Asymmetrische Verschlüsselung

Bertram Scharpf <software[ät]bertram-scharpf.de>

Dieses Brevier soll die asymmetrische Verschlüsselung anhand eines außerordentlich trivialen Beispiels anschaulich machen.

Vorstellung des Schlüsselpaares

Ein Schlüsselpaar besteht aus einem geheimen und einem öffentlichen Teilschlüssel. Manchmal heißt der geheime Teil auch „privater“ Schlüssel. Ihr Schlüsselpaar sei nun:

geheim: "G"
öffentlich:"3"

Diese Schlüssel haben jeweils nur eine Ziffer. Echte Schlüssel haben Längen von über dreihundert oder über sechshundert Ziffern und sind etwas schwieriger zu erraten. In der Tat ist ein großes Problem der Verschlüsselung, daß die Maschinen immer schneller werden und immer größere Schlüssellängen durchprobieren können, so wie Sie dies vielleicht in den nächsten Absätzen tun werden.

Verschlüsseln und Entschlüsseln

Verschlüsseln von Daten

Ein Bekannter von Ihnen kennt eine Telefonnummer, zum Beispiel:

"089/32168".

Diese möchte er Ihnen zukommen lassen, und unterwegs soll sie eine nicht verwertbare Gestalt haben. Ihr Bekannter nimmt Ihren öffentlichen Schlüssel "3". Dann multipliziert er jede Ziffer der Telefonnummer mit dieser 3 und streicht die vordere Stelle weg:

0->0*3-> 0->0
8->8*3->24->4
9->9*3->27->7
3->3*3-> 9->9
2->2*3-> 6->6

Am Ende steht da:

"047/96384".

Da die vordere Stelle inzwischen fehlt (7 statt 27), läßt sich der Originalzustand nicht mehr ohne weiteres mit dem öffentlichen Schlüssel "3" wiederherstellen, zum Beispiel indem man durch 3 teilt.

Entschlüsseln von Daten

Sie als Inhaber des geheimen Schlüssels können das Original trotzdem wieder errechnen.

Ihr privater Schlüssel, den Sie niemandem verraten haben und den Sie auch auf keiner Netzseite herzeigen, ist noch mit einem Paßwort geschützt. Ihr Schlüssel heißt "G" und nur Sie wissen, daß, weil G der 7. Buchstabe im Alphabet ist, Sie zum entschlüsseln die 7 nehmen müssen.

Sie multiplizieren diesmal mit 7 und streichen wieder die vordere Stelle:

0->0*7-> 0->0
4->4*7->28->8
7->7*7->49->9
9->9*7->63->3
6->6*7->42->2

Rechnen Sie die letzen drei Ziffern selbst nach und sehen Sie, daß herauskommt:

"089/32168".

So hat nun Ihr Bekannter eine Fassung verschickt, die nur Sie interpretieren können.

Komprimierte Daten

Lange Blöcke aus Nullzeichen oder auch nur häufige Buchstaben wie E, R und N sind der natürliche Feind jeder Verschlüsselung. Regelmäßigkeiten in der verschlüsselten Nachricht sind der ideale Einstiegspunkt für Angreifer. Deshalb werden Regelmäßigkeiten beseitigt, indem die Daten zuerst komprimiert werden. Wundern Sie sich also nicht, wenn die verschlüsselte Datei kürzer ist als das Original.

Signieren und Bestätigen der Echtheit

Signieren des gesamten Inhalts

Nun gehen wir den umgekehrten Weg: Sie haben eine geniale Telefonnummer erfunden, und jeder auf der Welt soll sie wissen. Die Leute sollen aber auch wissen, daß nur Sie es gewesen sein können, der sie erfunden hat. Dazu nehmen Sie Ihren geheimen Schlüssel und rechnen wieder:

0->0*7-> 0->0
8->8*7->56->6
9->9*7->63->3
3->3*7->21->1
2->2*7->14->4

Was dabei herauskommt, ist eine sogenannte Signatur:

"063/14726".

Nun veröffentlichen Sie Ihre Daten zusammen mit dieser Signatur und Ihrem öffentlichen Schlüssel:

Daten: "089/32168"
Signiert:"063/14726"durch"3"

Damit kann jeder Empfänger durch eine einfache Rechnung nachprüfen, daß genau Sie als Besitzer und Verwender des geheimen Schlüssels die Daten erstellt haben:

0->0*3-> 0->0,ist gleich 0.
6->6*3->18->8,ist gleich 8.
3->3*3-> 9->9,ist gleich 9.
1->1*3-> 3->3,ist gleich 3.
4->4*3->12->2,ist gleich 2.

Es können also nur Sie gewesen sein, der diese Telefonnummer erfunden hat, und es war kein Hacker zugange, der Ihr Werk nachträglich verändert hat.

Signieren einer Prüfsumme

In der Praxis signiert man Dateien nicht als ganzes, denn das hieße, die doppelte Menge Daten übertragen zu müssen. Man signiert eine Prüfsumme.

Es gibt viele verschiedene Verfahren für Prüfsummen. Ziel ist es jeweils, möglichst aus der Summe keine Rückschlüsse auf die zugrundeliegende Datei zuzulassen, zumal wenn bereits eine ähnliche Datei vorliegt. Wir bleiben hier wieder sehr banal und bilden die Quersumme:

"089/32168".->0+8+9+3+2+1+6+8->"37"

Diese signieren Sie mit 7:

3->3*7->21->1
7->7*7->49->9

Jetzt übertragen Sie nur noch:

Daten: "089/32168"
Signierte Quersumme:"19"durch"3"

Der Empfänger kann jetzt die 19 mit der 3 entschlüsseln, erhält dabei eine 37. Wenn er die Quersumme von "089/32168" ausrechnet, sieht er, daß dies ebenfalls 37 ergibt. Damit ist die Nachricht authentisch.

Signieren von Schlüsseln

Wenn Sie nun meinen, weil Sie alles verstanden haben, seien Ihre Daten sicher, dann haben Sie nicht mit der ganzen menschlichen Schlechtigkeit gerechnet. Wer sagt Ihrem Konversationspartner, daß Ihr öffentlicher Schlüssel auch echt ist? Jemand könnte sich in die Leitung geklemmt, und Ihren Schlüssel mit seinem ausgetauscht haben. Wenn er gescheit ist, wird er die abgefangenen Daten stets wieder neu verschlüsseln und signieren, damit keiner etwas merkt.

Deshalb läßt man sich seinen eigenen öffentlichen Schlüssel bestätigen. Sie schreiben den Schlüssel ("3") in eine Datei zusammen mit Ihrem Namen, Ihrer Netzanschrift, dem Erzeugungsdatum und gegebenenfalls noch mit einem Verfallsdatum. Diese Datei lassen Sie dann von einem Dritten signieren.

Nur von wem? Derjenige, der Ihren Schlüssel signiert, könnte derselben Masche aufgesessen sein. Zu diesem Problem gibt es zwei Ansätze.

Die Verschlüsselungsmethode SSL bedient sich einer Kette von Autoritäten. Bei Auslieferung eines größeren Progamms wie zum Beispiel „Firefox“ werden Urschlüssel, sogenannte Zertifikate, mitgeliefert, die vom Hersteller sorgfältig geprüft werden. Die Inhaber dieser Schlüssel signieren wiederum Schlüssel von Zweitautoritäten, an die sie hohe (auch finanzielle) Ansprüche stellen. Diese signieren wiederum Schlüssel für etwas weniger Geld, und am anderen Ende der Zertifizierungskette steht dann Ihr öffentlicher Schlüssel.

Um die Kosten dieses Verfahrens zu umgehen, versucht die Verschlüsselungsmethode PGP ein Netz des Vertrauens aufzubauen. Ihr Schlüssel soll von möglichst vielen Teilnehmern signiert werden, die Sie persönlich kennen, und mit denen Sie Informationen über Ihren Schlüssel auch außerhalb des Internets austauschen. Je mehr dieser Kontakte Ihren Schlüssel signiert haben, um so unwahrscheinlicher ist, daß er von einer unseriösen Kraft untergeschoben wurde.

Deshalb: Warten Sie nicht. Besorgen Sie sich einen Schlüssel und sorgen Sie dafür, daß Ihre Freunde desgleichen tun. Sie werden sehen, daß alles viel weniger kompliziert ist, als Sie es vor zwanzig Minuten noch gesehen haben.


Nachbemerkungen

Rechtliches

© 2012 Bertram Scharpf
http://www.bertram-scharpf.de

Sie dürfen diesen Text vervielfältigen und verteilen, wenn Sie selber Freie Software zum Verschlüsseln einsetzen.

Sie dürfen diesen Text nicht inhaltlich ändern und nicht auf die sogenannte „reformierte“ Rechtschreibung umstellen.

Valid XHTML 1.0 Transitional