RSA-Algorithmus (Rivest-Shamir-Adleman)
RSA ist ein System für Verschlüsselung und Authentifizierung im Internet und basiert auf einem im Jahr 1977 von Ron Rivest, Adi Shamir und Leonard Adleman entwickelten Algorithmus. Der RSA-Algorithmus gilt als der am häufigsten zur Verschlüsselung und Authentifizierung eingesetzte Algorithmus und ist fest in den Web-Browser von Microsoft integriert. Er ist zudem Teil von Lotus Notes, Quicken von Intuit und vielen weiteren Produkten. Das Verschlüsselungssystem ist Eigentum von RSA Security. Das Unternehmen vergibt Lizenzen zur Nutzung seiner Algorithmus-Technologie und vertreibt auch Kits für die Entwicklung. Zudem sind die Technologien Bestandteil bereits existierender oder vorgeschlagener Web-, Internet- und Computer-Standards.
Funktionsweise des RSA-Systems
Auf der Webseite von RSA finden sich detaillierte Angaben zu den mathematischen Grundlagen des Algorithmus, mit dem öffentliche und private Schlüssel generiert werden. Vereinfacht gesagt multipliziert der Algorithmus zwei große Primzahlen (bei einer Primzahl handelt es sich um eine Zahl, die nur durch sich selbst oder 1 teilbar ist). Mithilfe weiterer mathematischer Operationen wird ein Satz mit zwei Zahlen generiert, die den öffentlichen Schlüssel darstellen; ein zweiter Satz steht für den privaten Schlüssel. Nach Berechnung dieser Schlüssel sind die ursprünglichen Primzahlen nicht mehr relevant und können gelöscht werden. Für Verschlüsselung und Entschlüsselung werden sowohl der öffentliche als auch der private Schlüssel benötigt. Der private Schlüssel befindet sich allerdings ausschließlich im Besitz des Eigentümers. Beim RSA-System muss der private Schlüssel nie über das Internet versandt werden.
Der private Schlüssel dient der Entschlüsselung von Nachrichten, die mit dem öffentlichen Schlüssel verschlüsselt wurden. Wenn ich Ihnen also eine Nachricht senden möchte, kann ich Ihren öffentlichen Schlüssel – jedoch nicht Ihren privaten – über die zentrale Verwaltung finden und ihn zur Verschlüsselung der Nachricht verwenden. So können Sie diese Nachricht später mithilfe Ihres privaten Schlüssels entschlüsseln. Zusätzlich zur Verschlüsselung von Nachrichten (dies stellt die Vertraulichkeit sicher) können Sie sich mir gegenüber authentifizieren – verwenden Sie hierzu einfach Ihren privaten Schlüssel zur Verschlüsselung eines digitalen Zertifikats. Auf diese Weise kann ich sicher sein, dass die Nachricht wirklich von Ihnen stammt, indem ich das Zertifikat mit Ihrem öffentlichen Schlüssel überprüfe. Die folgende Tabelle veranschaulicht dies.
Aktion |
Verwendeter Schlüssel |
Art des Schlüssels |
Versenden einer verschlüsselten Nachricht | des Empfängers |
öffentlich |
Versenden einer verschlüsselten Signatur |
des Absenders |
privat |
Entschlüsseln einer verschlüsselten Nachricht |
des Empfängers |
privat |
Entschlüsseln einer verschlüsselten Signatur (und Authentifizierung des Absenders) |
des Absenders |
öffentlich |