RSA-Verschlüsselung: Überblick zu Funktion, Anwendung und Sicherheit

Wenn Dokumente digital signiert und elektronische Nachrichten zuverlässig geschützt werden, kommt häufig das RSA-Kryptosystem zum Einsatz. Lesen Sie, auf welchen Prinzipien die Methode beruht und welche Sicherheit sie bietet.

Transparentes Schlosssymbol vor gelbem Hintergrund
Das RSA-Kryptosystem. Foto Adobe Stock

Das RSA-Kryptosystem hat die digitale Kommunikation und zahlreiche weitere Anwendungen in der Cyberwelt um ein Vielfaches sicherer gemacht. Im Grunde ermöglicht dieses den sicheren Datenaustausch zwischen zwei Kommunikationsteilnehmern und bietet dabei einen hohen Sicherheitsstandard im Hinblick auf Bedrohungen wie Hacking, Datenmanipulation und Datendiebstahl. Sie bürgt – neben anderen Methoden der Verschlüsselung wie etwa ElGamal und ECC – auch für die Echtheit von digitalen Signaturen: Da qualifizierte elektronische Signaturen gemäß eIDAS-Verordnung die eigenhändige Unterschrift ersetzen und somit elektronische Dokumente rechtsgültig unterzeichnet werden können, bedarf es einer eindeutigen Identifikation der Absenderin beziehungsweise des Absenders. Darüber hinaus können RSA-Verfahren auch im Rahmen von Online-Banking, E-Mail- oder Festplattenverschlüsselungen zur Anwendung kommen.

Hinweis

Eine Liste mit kostenloser Software zum Verschlüsseln von Daten und Laufwerken finden Sie hier

Was ist das RSA-Kryptosystem?

Bei dem RSA-Kryptosystem werden digitale Daten (zum Beispiel eine Nachricht) mittels mathematischer Algorithmen zu einem Zeichencode umgewandelt und gegen Fälschung mittels Integritätsschutz via Signatur oder Fremdzugriff via Verschlüsselung abgesichert. Das bekannteste Einsatzgebiet dieser Verschlüsselungsmethode ist das Erstellen und Verschlüsseln von digitalen Signaturen. Diese dienen dazu, sich im Internet zu identifizieren und elektronische Dokumente zu unterzeichnen. Die RSA-Verschlüsselung erstellt dabei mithilfe einer mathematischen Operation ein kryptografisches Schlüsselpaar: Vereinfacht gesprochen verschlüsselt der öffentliche Schlüssel den Datensatz, während der private Schlüssel zum Entschlüsseln dient. Beide Schlüssel sind kryptografisch miteinander verknüpft. Allerdings lässt sich demzufolge aus dem öffentlichen Schlüssel nicht der private Schlüssel ableiten. Umgekehrt, nämlich aus dem privaten Schlüssel lässt sich der öffentliche Schlüssel ableiten.

Entwickelt wurde das bekannteste Public-Key-Verfahren, das nach den Initialen der Erfinder benannt ist, im Jahr 1977 von den Mathematikern R. Rivest, A. Shamir und L. Adleman an der US-Universität MIT.

Wie funktioniert die RSA-Verschlüsselung?

Jeder Text kann prinzipiell auch in Zahlen dargestellt beziehungsweise codiert werden. Die Zahlenreihe wird vom Sender mit dem öffentlichen Schlüssel des Empfängers verschlüsselt. Der Empfänger kann die verschlüsselte Nachricht nach Einsatz seines privaten Schlüssels entziffern. Jeder Kommunikationsteilnehmer verfügt zu diesem Zweck über ein Schlüsselpaar, welches aus Zahlenkomponenten des RSA-Algorithmus besteht.

Folgende Zahlenkomponenten sind für die RSA-Verschlüsselung notwendig: Man wählt zwei beliebige, jedoch hohe Primzahlen (p und q). Je höher sie sind, desto sicherer ist die Verschlüsselung. Das Produkt der beiden Primzahlen ist das RSA-Modul (n), dieses ist Bestandteil des privaten sowie des öffentlichen Schlüssels. Neben dem RSA-Modul n benötigen Sie einen Wert e und dessen modulares Invers d. Zu diesem Zweck wird die eulersche Funktion aus dem zuvor erstellten Produkt der beiden Primzahlen berechnet und anschließend eine natürliche Zahl e gesucht, die zum errechneten eulerschen Produkt [φ (n)] teilerfremd ist, also mit diesem keinen gemeinsamen Teiler besitzt. Wurde e ermittelt, kann das modulare Invers errechnet werden (d). Der öffentliche Schlüssel besteht nun aus e und n, während der private Schlüssel die Zahlen p, q und d enthält.

Wie funktioniert die RSA-Signatur?

Die RSA-Signatur ist die Umkehrung der RSA-Verschlüsselung – mit ihr erhalten Empfängerinnen und Empfänger den Nachweis, dass die versendete Datei unverändert geblieben ist und die sendende Person die Urheberin beziehungsweise der Urheber sein muss. Die sendende Person signiert eine Nachricht beziehungsweise erstellt eine dazugehörige Signatur, indem sie die Nachricht mit ihrem privaten Schlüssel verschlüsselt. Die Entschlüsselung und Überprüfung erfolgen anhand der mitgesendeten Signatur und des öffentlich verfügbaren Schlüssels.

Da Erstellung und Prüfung einer Signatur mit dem RSA-Kryptosystem eine hohe Rechenleistung erfordern können, wird in der Regel nicht die ganze Nachricht signiert. Stattdessen wird zunächst mittels Hashfunktion eine weitaus kürzere Prüfsumme (Hashwert) aus dem Klartext gebildet und das Signaturverfahren anschließend auf diesen Wert angewendet. Die Empfängerin oder der Empfänger kann mithilfe des öffentlichen Schlüssels den Text entschlüsseln und zusätzlich den ursprünglichen Hashwert aus dem Text errechnen – stimmt dieser mit dem mitgesendeten Hashwert überein, ist die Unverfälschtheit der signierten Nachricht nachgewiesen.

Hinweis

Eine Hashfunktion reduziert beliebig lange Zeichenfolgen (zum Beispiel einen Text) auf erheblich weniger Zeichen definiter Länge. Das Ergebnis der Berechnung mittels Hashfunktion ist der Hashwert. Für zwei unterschiedlich, beliebig lange Zeichenfolgen soll es nur einen eindeutigen Hashwert geben. Dies wird als Kollisionsresistenz bezeichnet. Dieser Hashwert wird häufig als hexadezimale Zeichenkette codiert und zeichnet sich etwa durch seine Einwegfunktion aus: Aus dem eindeutig zugeordneten Hashwert lässt sich der Ursprungstext nicht berechnen.

Da in Public-Key-Verfahren zu jedem öffentlichen Schlüssel immer nur genau ein damit kryptografisch verknüpfter privater Schlüssel passt, ist stets klar, dass das Dokument von der Inhaberin beziehungsweise dem Inhaber dieses Schlüssels signiert wurde. Durch die Verknüpfung des öffentlichen Schlüssels mit den Identitätsdaten der unterzeichnenden Person ist schließlich deren Identifizierung gewährleistet, wodurch sich das Verfahren auch für weitere sensible Anwendungen wie etwa Handy-Signatur oder ID Austria eignet.

Am Ende erfüllt die RSA-Signatur alle für die Rechtsgültigkeit einer eigenhändigen Unterschrift notwendigen Eigenschaften:

  • Authentizität (die Unterschrift muss von der unterzeichnenden Person A stammen): Nur A kennt ihren privaten Schlüssel d und kann somit von ihr selbst signierte Dokumente erstellen.
  • Integrität (die Unterschrift ist mit dem Dokument unzertrennlich verbunden): Die digitale Signatur kann nicht auf ein anderes Dokument übertragen werden, ohne sich dabei als Fälschung zu entlarven.
  • Verifizierbarkeit (die Empfängerin oder der Empfänger B kann sich davon überzeugen, dass die Unterschrift von A stammt): B kann jederzeit sicherstellen, dass der öffentliche Schlüssel e zu A gehört.
  • Beweisbarkeit (B kann belegen, dass die Unterschrift von A stammt): B kann jederzeit nachweisen, dass A den öffentlichen Schlüssel e veröffentlicht hat und die Entschlüsselung daher den Originaltext ergibt.

Hinweis

Einen Überblick über verschiedene digitale Signaturen und die damit verbundene Rechtsgültigkeit bietet der Beitrag „Digitale Signatur: So funktioniert die elektronische Unterschrift“.

Wie sicher sind RSA-Verfahren?

Primzahlen spielen in der asymmetrischen Kryptografie eine entscheidende Rolle: Die Schwierigkeit, einen RSA-Schlüssel nach dem Abfangen einer verschlüsselten Nachricht zu errechnen, besteht darin, die mit dem öffentlichen Schlüssel bekanntgegebene Zahl n (RSA-Modul) in ihre Primfaktoren p und q zu zerlegen. Da die Umkehrfunktion äußerst schwierig – nämlich komplexitätstheoretisch schwierig – zu berechnen ist (Falltürfunktion), spricht man in diesem Zusammenhang von asymmetrischer Kryptografie. Nur wer die Falltür d kennt, kann die Funktion umkehren und den Geheimtext entschlüsseln.

Die Sicherheit des RSA-Verfahrens stützt sich auf den Umstand, dass es bis heute keinen effizienten Algorithmus gibt, der sehr hohe Zahlen in Primfaktoren zerlegen kann. Daher ist der Schutz vor Fremdzugriffen gegenwärtig auch nur praktisch gegeben – nämlich komplexitätstheoretisch. Wird ein Algorithmus gefunden oder ein Computer (z.B. Quantencomputer) praktisch realisiert, der rasch aus dem RSA-Modul die entsprechenden Primzahlen p und q errechnen kann, ist die gesamte RSA-Verschlüsselung geknackt.

Wie sicher digitale Signaturen mittels RSA-Verfahren sind, hängt davon ab, inwieweit der private Schlüssel geheim und vor Dritten geschützt bleibt. Darüber hinaus können RSA-Verschlüsselungen nur noch über eine Schlüsselsuche (jeder mögliche Schlüssel wird ausprobiert) beziehungsweise eine Faktorisierung (Primfaktorenzerlegung) angegriffen werden, was bei einer Schlüssellänge ab 1024 Bit äußerst schwierig praktisch zu realisieren ist. Gängige anerkannte Standards wie etwa vom Deutschen BSI oder SOGIS (Senior Officials Group Information Security) empfehlen zumindest eine Schlüssellänge von 3072 bit einzusetzen.

Letzte Aktualisierung: 30. März 2023

Für den Inhalt verantwortlich: A-SIT Zentrum für sichere Informationstechnologie – Austria