Warum wurde die RSA-Verschlüsselung für den Schlüsselaustausch populär?

16

Das ist eine weiche Frage. Ich weiß nicht viel über Kryptographie oder ihre Geschichte, aber es scheint, als würde RSA häufig den Schlüsselaustausch durchführen, indem ein symmetrischer Schlüssel verschlüsselt wird, um eine längere Nachricht zu senden (z. B. die Beschreibung von iMessage hier ). Ist das nicht genau das, wofür Diffie-Hellman-Schlüsselaustausch, der älter ist (und mir einfacher erscheint)? Bei Wikipedia waren beide patentiert, so dass dies nicht für die Auswahl verantwortlich gewesen wäre.

Um es klar zu sagen, ich frage nicht, ob es theoretisch wichtig ist, dass Kryptografie mit öffentlichen Schlüsseln möglich ist. Ich frage mich, warum dies in der Praxis zur Standardmethode für den Schlüsselaustausch geworden ist. (Für einen Nicht-Kryptografen ist DH einfacher zu implementieren und auch nicht an die Details der verwendeten Gruppe gebunden.)

Louis
quelle
3
RSA kann auch für die sichere Schlüsselübertragung verwendet werden, wenn ein interaktives Schlüsselaustauschprotokoll wie DH nicht möglich ist, z. B. wenn nur eine Einwegverbindung verfügbar ist oder die Übertragungszeiten für Hin- und Rückflüge zu lang sind. Anwendungsfälle wie verschlüsselte E-Mails bevorzugen solche Ansätze, da der Computer des Empfängers zum Zeitpunkt des Versendens der Nachricht möglicherweise nicht mit dem Internet verbunden ist und daher nicht an einem interaktiven Schlüsselaustausch teilnehmen kann.
Kevin Cathcart
Fragen Sie sich, warum es für den Schlüsselaustausch beliebt wurde oder allgemein?
Hör auf, Monica am
@ KevinCathcart DH ist nicht unbedingt interaktiv. Der Absender kann ein Einweg-Schlüsselpaar erstellen und den öffentlichen Schlüssel zusammen mit der Nachricht senden. Dieser Ansatz ist die Grundlage für die ECIES / DLIES- und ElGamal-Verschlüsselung. Dies hat einen geringen Mehraufwand (128 Byte für einen 1024-Bit-Schlüssel).
CodesInChaos
@CodesInChaos: Aber keiner von beiden sind Schlüsselaustauschalgorithmen. Sobald Sie vom Schlüsselaustausch zur vollwertigen Kryptografie mit öffentlichen Schlüsseln übergegangen sind, hat die Wahl des zugrunde liegenden Problems, das nur schwer rückgängig zu machen ist, keine Auswirkungen auf betriebliche Belange wie die Sicherstellung, dass der Absender eine Kopie des öffentlichen Schlüssels des Empfängers hat. Ich verstand die Frage: "Warum verwenden wir häufig Krypto mit öffentlichen Schlüsseln, um Schlüssel auszutauschen, und nicht nur einen Schlüsselaustauschalgorithmus, der oft einfacher ist?". Grundsätzlich kann jeder Public-Key-Algorithmus verwendet werden, um ein gemeinsames Geheimnis über einen nicht interaktiven Kanal zu etablieren.
Kevin Cathcart

Antworten:

14

Es gibt keinen starken technischen Grund. Wir hätten Diffie-Hellman (mit entsprechenden Signaturen) genauso gut wie RSA verwenden können.

Warum also RSA? Soweit ich das beurteilen kann, dominierten nichttechnische historische Gründe. RSA wurde patentiert und es gab ein Unternehmen, das sich für RSA einsetzte. Außerdem gab es gute Bibliotheken, und RSA war für Entwickler leicht verständlich und vertraut. Aus diesen Gründen wurde RSA gewählt, und sobald es die populäre Wahl war, blieb es aufgrund der Trägheit so.

Heutzutage ist der Hauptgrund für die zunehmende Verwendung von Diffie-Hellman der Wunsch nach perfekter Vorwärtsgeheimnis, was mit Diffie-Hellman leicht zu erreichen ist, mit RSA jedoch langsamer.

Übrigens: Es handelt sich um Diffie-Hellman-Schlüsselaustausch, nicht um Diffie-Hellman-Secret-Sharing. Geheimes Teilen ist etwas ganz anderes.

DW
quelle
2
Ich dachte, die Patente wären eher ein Grund, RSA zu vermeiden ?
user1686
@grawity, das davon abhängt, wie sich der Patentinhaber verhält; und vor einer Generation hatten sich Tech-Patentinhaber nicht kollektiv durch groß angelegte und lang andauernde Gerichtsverfahren in dem Maße blamiert, wie dies während der Smartphone-Kriege oder des Massenpatenttrolling kleiner Unternehmen geschah.
Dan Neely
10

Diffie-Hellman fehlt ein entscheidendes Merkmal: die Authentifizierung. Sie wissen, dass Sie ein Geheimnis mit jemandem teilen, aber Sie können nicht wissen, ob es der Empfänger oder ein Mann in der Mitte ist. Mit RSA haben Sie möglicherweise einige vertrauenswürdige Parteien, die öffentliche Schlüssel speichern. Wenn Sie eine Verbindung zu Ihrer Bank herstellen möchten, können Sie die vertrauenswürdige Partei (beispielsweise Verisign) nach dem öffentlichen Schlüssel der Bank fragen, da Sie bereits den öffentlichen Schlüssel der vertrauenswürdigen Partei auf Ihrem Computer haben. Sie wissen also, dass Sie ein Geheimnis mit Ihrer Bank teilen.

Wenn Sie mit Diffie-Hellman ein Geheimnis mit Ihrer Bank erstellen, können Sie tatsächlich ein Geheimnis mit einem Mann in der Mitte (MITM) erstellen, der auch eines mit Ihrer Bank erstellt, und der muss nur von einem Verschlüsselungsschlüssel in einen übersetzen der andere bleibt unsichtbar (während er die gesamte Kommunikation lesen kann).

Jacen
quelle
Natürlich können Sie RSA zur Authentifizierung und anschließend zum Austausch von DH-Schlüsseln verwenden.
Hören Sie auf, Monica am
4
pk=GskmÖdp
@kasperd: Ich bin überrascht, dass dies so viele Stimmen hat.
Louis
1
Sie können entweder Langzeit-Diffie-Hellman-Schlüssel zur Authentifizierung verwenden (siehe CurveCP für ein Beispielprotokoll) oder DH mit DSA / Schnorr / ElGamal-Signaturen kombinieren (die einen Großteil der zugrunde liegenden Mathematik mit DH teilen), genau wie Sie können kombinieren Sie RSA-Verschlüsselung mit RSA-Signaturen.
CodesInChaos
-2

Wie bereits erwähnt, ist der RSA-Algorithmus nicht viel besser als Diffie-Hellman. Letzterer ist nur unzureichend authentifiziert. Außerdem hängen beide Algorithmen von der Schwierigkeit ab, diskrete Logarithmen zu finden, so dass beide hinsichtlich der Sicherheit ziemlich ähnlich sind.

Ronak Khandelwal
quelle
2
Vielen Dank für den Beitrag. Alles, was Sie sagen, wurde jedoch bereits in anderen Antworten behandelt. Wir möchten, dass Sie Fragen beantworten, auf die noch keine guten Antworten vorliegen, anstatt vorhandene Antworten zu duplizieren. Auch hängt RSA auf der Schwierigkeit des Factoring - Problems (und auf dem RSA - Problem streng genommen) , anstatt die diskreten Logarithmus per se, während Diffie-Hellman ist ein klassisches diskretes Protokoll - basiertes System (streng genommen, stützt sie dich auf der DDH Annahme ).
DW
-3

Dies hat eine dunkle Seite, die nicht übersehen werden kann.
Die Tatsache, dass die RSA von der NSA kooptiert wurde.
Die NSA hat eine Hintertür in den Cyper Eliptic Curve gepflanzt, die sie an die RSA lieferte.
http://www.intelligence-world.org/nsa-infiltrated-rsa-security-more-deeply-than-thought-study/

John Hoffmann
quelle
1
Diese Antwort ist inkohärent. Die Kryptographie mit elliptischen Kurven unterscheidet sich von RSA. Eine Hintertür in Crypto mit elliptischen Kurven würde RSA also nicht gefährden. Diese Antwort ist einfach falsch - es gibt keine so dunkle Seite.
DW