RSA Verschlüsselung einfach erklärt

Auf dieser Seite wird die RSA Verschlüsselung einfach erklärt, ohne, dass man großes mathematisches Vorwissen benötigt. Wer dennoch an der mathematischen Seite interessiert ist, kann sie hier nachlesen.

Überblick über RSA Verschlüsselung

Das Verfahren der RSA Verschlüsselung (benannt nach Rivest, Shamir und Adleman) ist eines der sichersten Verfahren zum Verschlüsseln von Daten. Es ist dabei Asynchron, heißt es gibt zwei Schlüssel: Einen public-key (auch: öffentlicher Schlüssel) und einen private-key (auch: privater Schlüssel).

Der public-key kann (und soll) an Freunde und Kollegen verteilt werden und dient der VERschlüsselung. Der private-key sollte wohl behütet auf dem heimischen Rechner bleiben und dient der ENTschlüsselung.

Für die RSA Verschlüsselung braucht man 2 Schlüssel.

Zum ver- und entschlüsseln braucht man zwei Schlüssel: Den privaten und den öffentlichen.

Schritt 1: Generieren der Schlüssel:

Nur so viel: Mathematisch gesehen sind die Schlüssel zueinander in bestimmter Weise invers (wen es interessiert: Restklassen), in etwa so wie der Kehrwert einer Zahl.

Zunächst sucht man zwei gigantisch große Primzahlen.
Die multipliziert man nun und bekommt eine noch viel gigantisch größere Zahl, wenn man 4096-Bit große Primzahlen benutzt (also bis ca. 1,0444\cdot 10^{1233}) erhält man nach der Multiplikation eine bis ca.1,0908\cdot 10^{2466} große Zahl. Das errechnen von solch großen Zahlen aus dem public-key (also das erstellen einer Primfaktorzerlegung) ist nach heutigen Rechenleistungen (ich rede nicht vom neusten i7, sondern von high-end Cluster-Servern) nicht möglich … jedenfalls nicht in diesem Jahrtausend.

Man sollte dabei mindestens 2048 Bits für einen Schlüssel verwenden. 1024-Bits ist zwar schon sicher, aber wer weiß, was die Zukunft bringt … 😉

Achtung: Nicht wundern, wenn die Berechnung von zufälligen Primzahlen mit 2048-Bits und mehr gut 15 Minuten oder länger dauert. Manche CPUs haben einen RNG (random-number-generator) drin und mit denen geht es schneller, aber das haben nicht alle.

Öffentlichen RSA-Schlüssel versenden.

Damit Leute Nachrichten verschlüsseln können muss man den öffentlichen Schlüssel versenden.

Schritt 2: Schlüssel verschicken:

Damit Leute mit dem public-key Nachrichten verschlüsseln können, muss man ihn an alle senden, die ihn benutzen sollen.
Alternativ kann man ihn auch auf sogenannte Keyserver laden, auf denen man sich solche Schlüssel runter laden kann.
Dabei ist es nicht notwendig den public-key zu verschlüsseln, da er nur zum VERschlüsseln von Nachrichten da ist. Im Prinzip kann ihn also jeder Mensch besitzen.

RSA Verschlüsselung mit dem öffentlichen Schlüssel

Mit dem öffentlichen Schlüssel kann man nun Nachrichten verschlüsseln.

Schritt 3: Nachricht verschlüsseln:

Mit dem public-key kann man nun eine Nachricht verschlüsseln.
Bei E-Mails kann man z.B. Thunderbird mit dem Plug-In Enigmail nutzen, welches Funktionen wie eine Schlüsselverwaltung usw. bereit stellt (Anleitung zur Einrichtung). Die Nachricht wandelt Enigmail dabei in eine Zahl um, welche nun zu mathematischen Berechnungen verwendet wird.

Eine verschlüsselte Nachricht kann z.B. so aussehen (diese Nachricht ist so sinnlos, dass man sie nicht mal entschlüsseln kann 😉 ):

—–BEGIN PGP MESSAGE—–
Version: GnuPG v2

hQIMAz6ANAmYuD7gGpul4vLb1JV6pvBhgNKnsVYs1m+S185xlnKb2SPlJZ9Pf2Jz
v4gJ3hGD19PXX5ITLfGHB12fBdnecAO0kkpcJ0Te/ubypT9oni9hy3MjYMi4EVsM
3Ba7fzSoOovY0VkU5IJaRSOY3MNUhl+sdPx6XcHlv7quAkdVxQ==B19fwdFecAO0
=TAX2ITLs1m+S1VxQe/ub

—–END PGP MESSAGE—–

Die Nachricht wird meist mit dem Base64-Verfahren codiert, da es das selbe ist mit denen E-Mails codiert werden, was das verschicken der Nachricht erleichtert.

Senden der Nachricht.

Die Nachricht kann man nun gefahrlos versenden.

Schritt 4: Nachricht versenden:

Die Nachricht kann nun einfach versendet werden, ohne, dass die NSA, der BND oder die Briten mitlesen können. Deren Rechenleistung reicht für eine simple E-Mail, die mit einem 2048 oder 4096-Bit großen RSA-Key verschlüsselt ist, „leider“ noch nicht aus 😉

Bei längeren Nachrichten oder E-Mails mit verschlüsseltem Anhang, kann das senden u.U. etwas länger dauern.

Entschlüsseln der Nachricht.

Nur wer den privaten Schlüssel hat, kann die Nachricht entschlüsseln.

Schritt 5: Nachricht entschlüsseln:

Der Empfänger kann nun die Nachricht mit seinem private-key entschlüsseln. Warum? Man erinnere sich, dass die Schlüssel invers sind. Detailliertere Informationen dazu hier.

Zukunftsaussichten:

Mittlerweile gibt es noch viel gigantisch sichererere…re Verschlüsselungsverfahren als RSA (s. Elliptische Kurven / ECC), doch für private Mails und für die nächsten Jahre reicht RSA vollkommen aus 😉

6 Kommentare

  1. Pingback: E-Mails von Facebook verschlüsselt erhalten – [curi0sity]

  2. Dirk

    Hallo Hauke,

    habe mich gerade nochmal etwas auf Deiner Seite umgesehen. Hat sich gemacht, Kompliment!

    Dieser Beitrag hier über die Emailverschlüsselung und auch die anderen Einträge über Verschlüsselung und Spionage gefallen mir aber besonders. Es ist sooo wichtig, immer wieder darauf zu drängen, daß die Leute doch vorsichtiger mit ihren Daten umgehen sollen. Und deshalb muß man immer wieder informieren und aufklären.

    Weiter so!

    Wir sehen uns im April, bis dann – Dirk

    Antworten
  3. Pingback: Stasi reloaded: Google liest Mails mit - [curi0sity]

  4. Pingback: Mail Verschlüsselung: PGP immer noch wenig genutzt - [curi0sity]

  5. Pingback: CCC fordert Verbot unverschlüsselter Verbindungen - [curi0sity]

  6. Pingback: BSI-Präsident möchte infizierte Rechner offline stellen - [curi0sity]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.