RSA-Verschlüsselung, in voller Rivest-Shamir-Adleman-Verschlüsselung, Art der Public-Key-Kryptographie, die häufig für die Datenverschlüsselung von E-Mails und anderen digitalen Transaktionen über das Internet verwendet wird. RSA ist nach seinen Erfindern Ronald L. Rivest, Adi Shamir und Leonard M. Adleman benannt, die es an der Fakultät des Massachusetts Institute of Technology geschaffen haben.,
Im RSA-System wählt ein Benutzer heimlich ein Paar von Primzahlen p und q aus, die so groß sind, dass das Faktoring des Produkts n = pq für die Lebensdauer der Chiffren weit über die projizierten Rechenfähigkeiten hinausgeht. Ab 2000, U. S., staatliche Sicherheitsstandards verlangen, dass der Modul 1.024 Bit groß ist—dh p und q müssen jeweils etwa 155 Dezimalstellen groß sein, also ist n ungefähr eine 310-stellige Zahl. Da die größten harten Zahlen, die derzeit faktoriert werden können, nur halb so groß sind und sich die Schwierigkeit des Factorings für jede weitere dreistellige Zahl im Modul ungefähr verdoppelt, wird angenommen, dass zweistellige Moduli für mehrere Jahrzehnte vor Factoring sicher sind.,
Nachdem der Benutzer p und q ausgewählt hat, wählt er eine beliebige Ganzzahl e kleiner als n und relativ Primzahl zu p − 1 und q − 1, dh 1 ist der einzige gemeinsame Faktor zwischen e und dem Produkt (p-1) (q − 1). Dies stellt sicher, dass es eine andere Zahl d gibt, für die das Produkt ed einen Rest von 1 hinterlässt, wenn es durch das kleinste gemeinsame Vielfache von p − 1 und q − 1 geteilt wird. Mit Kenntnis von p und q kann die Zahl d leicht mit dem euklidischen Algorithmus berechnet werden., Wenn man p und q nicht kennt, ist es ebenso schwierig, e oder d zu finden, da der andere Faktor n ist, der die Grundlage für die Kryptossicherheit des RSA-Algorithmus bildet.
Die Beschriftungen d und e werden verwendet, um die Funktion zu bezeichnen, auf die ein Schlüssel gesetzt wird, aber da Schlüssel vollständig austauschbar sind, ist dies nur eine Bequemlichkeit für die Darstellung. Um einen Geheimhaltungskanal mit der Standardversion mit zwei Schlüsseln des RSA-Kryptosystems zu implementieren, würde Benutzer A e und n in einem authentifizierten öffentlichen Verzeichnis veröffentlichen, d jedoch geheim halten., Jeder, der eine private Nachricht an A senden möchte, würde sie in Zahlen von weniger als n codieren und dann mit einer speziellen Formel verschlüsseln, die auf e und n basiert. A kann eine solche Nachricht basierend auf d entschlüsseln, aber die Vermutung—und der bisherige Beweis—ist, dass für fast alle Chiffren niemand die Nachricht entschlüsseln kann, es sei denn, er kann auch n berücksichtigen.
Um einen Authentifizierungskanal zu implementieren, würde A d und n veröffentlichen und e geheim halten., Bei der einfachsten Verwendung dieses Kanals zur Identitätsprüfung kann B überprüfen, ob er mit A in Verbindung steht, indem er im Verzeichnis nach dem Entschlüsselungsschlüssel d von A sucht und ihm eine zu verschlüsselnde Nachricht sendet. Wenn er eine Chiffre zurückerhält, die mit d zu seiner Challenge-Nachricht entschlüsselt, um sie zu entschlüsseln, wird er wissen, dass sie höchstwahrscheinlich von jemandem erstellt wurde, der e kennt, und daher, dass der andere Kommunikant wahrscheinlich A. Das digitale Signieren einer Nachricht ist eine komplexere Operation und erfordert eine kryptosecure „Hashing“ – Funktion., Dies ist eine öffentlich bekannte Funktion, die jede Nachricht einer kleineren Nachricht—einem Digest—zuordnet, bei der jedes Bit des Digest so von jedem Bit der Nachricht abhängig ist, dass das Ändern sogar eines Bits in der Nachricht geeignet ist Ändern Sie auf kryptosecure Weise die Hälfte der Bits im Digest. Mit Cryptosecure ist gemeint, dass es für jeden rechnerisch undurchführbar ist, eine Nachricht zu finden, die einen vordefinierten Digest erzeugt, und ebenso schwierig, eine andere Nachricht mit demselben Digest wie eine bekannte zu finden., Um eine Nachricht zu signieren—die möglicherweise nicht einmal geheim gehalten werden muss-verschlüsselt A den Digest mit dem geheimen e, das er an die Nachricht anhängt. Jeder kann dann die Nachricht mit dem öffentlichen Schlüssel d entschlüsseln, um den Digest wiederherzustellen, den er auch unabhängig von der Nachricht berechnen kann. Wenn die beiden zustimmen, muss er zu dem Schluss kommen, dass A die Chiffre hervorgebracht hat, da nur A e kannte und daher die Nachricht verschlüsseln konnte.
Bisher bieten alle vorgeschlagenen Zwei-Schlüssel-Kryptosysteme einen sehr hohen Preis für die Trennung des Datenschutz-oder Geheimhaltungskanals vom Authentifizierungs-oder Signaturkanal., Die stark erhöhte Rechenmenge, die an dem asymmetrischen Verschlüsselungs – /Entschlüsselungsprozess beteiligt ist, verringert die Kanalkapazität erheblich (Bits pro Sekunde der übermittelten Nachrichteninformationen). Für vergleichsweise sichere Systeme ist es seit rund 20 Jahren möglich, bei Single-Key-Algorithmen einen 1.000-bis 10.000-fachen Durchsatz zu erzielen als bei Zwei-Key-Algorithmen. Infolgedessen ist die Hauptanwendung der Zweischlüsselkryptographie in hybriden Systemen., In einem solchen System wird ein Zweischlüsselalgorithmus zur Authentifizierung und digitalen Signaturen oder zum Austausch eines zufällig generierten Sitzungsschlüssels verwendet, der mit einem Einschlüsselalgorithmus mit hoher Geschwindigkeit für die Hauptkommunikation verwendet werden soll. Am Ende der Sitzung wird dieser Schlüssel verworfen.