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.
Inhaltsverzeichnis
Ü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 Asymmetrisch, 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.
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. ) erhält man nach der Multiplikation eine bis ca. 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.
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.
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
WW91IGZvdW5kIHRoZSBNQUdJQyBVTklDT1JOIG5hbWVkIEdudXBlZ2VhLiBHbnVw
ZWdlYSB3aWxsIHByb3RlY3QgeW91IGZyb20gZXZpbCBHbm9tZXMgYW5kIHBvaXNv
bm91cyBQeXRob25zLgoKXAogXDs7CiAvLigoKCAKKCwvIigoKF9fLC0uCiAgICBc
ICApXyggIH0gCiAgICAgfHwgICB8fCAgICAgICAKICAgICB8fCAgIHx8IAo=
-----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.
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.
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 😉
Hallo Thorsten,
was noch ganz dringend erwähnt werden muss ist die Prüfung des Schlüssels des Gegenübers. Sonst ist nämlich ein Man-In-The-Middle Angriff möglich, der auf gefälschten Schlüsseln basiert.
Schlüssel sollten über einen zweiten Kanal (Telefon oder persönlich) über den Fingerprint geprüft werden. Man sollte sich diesen immer vom Inhaber vorlesen lassen.
Pingback: Nein, ihr könnt unsere Chats NICHT lesen! – Tijos Blog
😉
Hallo, danke für diesen Artikel!
Ich habe nur einen Punkt auf den ich hinweisen möchte, der Begriff „asynchron“ ist in Verbindung mit der asymmetrischen Kryptografie fehl am Platz und absolut falsch. Ansonsten super Artikel, kurz und verständlich.
Gruß
Da hast du natürlich vollkommen recht. Habs behoben 🙂
Vielen Dank und viele Grüße
Pingback: Litecoin-Transaktionen können künftig über Telegram getätigt werden.
Pingback: E-Mails von Facebook verschlüsselt erhalten – [curi0sity]
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
Danke für dein Feedback Dirk!
Sehe ich ganz genauso, informieren über solche Themen ist in der heutigen Zeit sehr relevant
Mit freundlichen Grüßen,
Thorsten
Pingback: Stasi reloaded: Google liest Mails mit - [curi0sity]
Pingback: Mail Verschlüsselung: PGP immer noch wenig genutzt - [curi0sity]
Pingback: CCC fordert Verbot unverschlüsselter Verbindungen - [curi0sity]
Pingback: BSI-Präsident möchte infizierte Rechner offline stellen - [curi0sity]