Vergleich von ECDSA und RSA

Einleitung

In letzter Zeit gab es zahlreiche Diskussionen über die Vor- und Nachteile von RSA[01]
und ECDSA[02] in der Krypto-Community. Für die Uneingeweihten sind sie zwei von
die am weitesten verbreiteten Algorithmen für digitale Signaturen, aber auch für technisch anspruchsvollere
versiert, kann es ziemlich schwierig sein, mit den Fakten Schritt zu halten. Dieser Artikel ist ein
Versuch eines vereinfachenden Vergleichs der beiden Algorithmen. Dies ist jedoch nicht der Fall
Als zutiefst technischer Aufsatz kann der ungeduldigere Leser das Ende des
Artikel für eine kurze TL; DR-Tabelle mit der Zusammenfassung der Diskussion.

Benötigen Sie ein Zertifikat? SSL.com hat Sie abgedeckt. Vergleichen Sie die Optionen hier um die richtige Wahl für Sie zu finden, von S/MIME und Codesignaturzertifikate und mehr.

BESTELLEN SIE JETZT!

ECDSA gegen RSA

ECDSA und RSA sind Algorithmen, die von verwendet werden Public Key KryptographieSysteme,
einen Mechanismus für Beglaubigung. Kryptographie mit öffentlichem Schlüssel ist die
Wissenschaft des Entwurfs kryptografischer Systeme, die Schlüsselpaare verwenden: a Öffentlichkeit
Schlüssel
(daher der Name), der zusammen mit a
entsprechenden privater Schlüssel, die nur seinem Besitzer bekannt ist. Authentifizierung
bezieht sich auf den Prozess der Überprüfung, ob eine mit einem privaten Schlüssel signierte Nachricht war
erstellt vom Inhaber eines bestimmten privaten Schlüssels. Algorithmen verwendet für
Authentifizierung werden zusammen als bezeichnet Algorithmen für digitale Signaturen [04].

Solche Algorithmen beruhen auf komplexen mathematischen Problemen, die relativ einfach sind
einen Weg zu berechnen, obwohl es ziemlich unpraktisch ist, umzukehren. Dies bedeutet, dass für
ein Angreifer, der eine digitale Signatur fälscht, ohne das Private zu kennen
Schlüssel, müssen sie hartnäckige mathematische Probleme wie Integer lösen
Faktorisierung, für die keine effizienten Lösungen bekannt sind [05].

Aus diesem Grund gibt es keine effizienten Lösungen für die
zugrunde liegenden mathematischen Problemen kann die Bewertung von kryptografischen Algorithmen
treten nur in Bezug auf ihre Implementierungsdetails in Verbindung mit dem auf
Sicherheitsniveau, das sie bieten. Zu diesem Zweck wird in diesem Abschnitt a vorgestellt
Vergleich von RSA und ECDSA unter Verwendung von fünf (oder sechs) Quantifizierungsmetriken. Jede Metrik
wird in einem eigenen Abschnitt vorgestellt, zusammen mit seiner Bedeutung für jeden, der ist
versuchen, zwischen den beiden Algorithmen zu entscheiden.

Adoption

RSA ist seit vielen Jahren der Industriestandard für die Kryptografie mit öffentlichen Schlüsseln
jetzt. Die meisten SSL /TLS Zertifikate wurden (und werden) mit RSA-Schlüsseln signiert.
Obwohl die meisten Zertifizierungsstellen inzwischen Unterstützung für ECDSA-basiert implementiert haben
Zertifikate, diese langlebige Einführung hat nur zu vielen Legacy-Systemen geführt
Unterstützung von RSA. Daher, wenn ein Anbieter Abwärtskompatibilität mit alten benötigt
Client-Software sind sie gezwungen, mit RSA signierte Zertifikate zu verwenden. Heutzutage,
Die meisten modernen Kunden haben jedoch Unterstützung für ECDSA implementiert
Entfernen Sie diese Kompatibilitätsbeschränkung wahrscheinlich in naher Zukunft.

Standardlaufzeit

RSA wurde zuerst für SSL / standardisiertTLS 1994 [06], während ECDSA eingeführt wurde
in der Spezifikation von TLS v1.2 im Jahr 2008 [07]. Dieser Altersunterschied zeigt a
Ungleichheit in der Reife der Standards, die die Best Practices für beschreiben
jeder Algorithmus. Obwohl RSA-Standards ausgiebig erforscht wurden und
geprüft hat ECDSA nicht so viel Aufmerksamkeit gesehen. Vor kurzem Befürwortung davon
Algorithmus von großen CAs und seine Übernahme in modernste SSL /TLS Kunden hat
führte dazu, dass umfangreichere Forschungsergebnisse veröffentlicht wurden, aber es bleibt immer noch ein
relativ neues Schema. Dies lässt Raum für unentdeckte Designfehler oder
fehlerhafte Implementierungen werden in Zukunft bekannt gegeben.

Verhältnis von Schlüsselgröße zu Sicherheitsstufe

Sicherheitsstufe [08] ist eine Metrik in der Kryptographie, die sich auf die Stärke bezieht
eines kryptografischen Grundelements oder einer Funktion. Es wird üblicherweise in "Bits" gemessen, dass
Geben Sie die Anzahl der Operationen an, die ein Angreifer ausführen muss, um seine zu gefährden
Sicherheit. Diese Metrik kann eine Quantifizierungsmethode zum Vergleichen der Wirksamkeit bereitstellen
verschiedener Kryptosysteme. Es sollte betont werden, dass auch die Größe des öffentlichen Schlüssels gilt
gemessen in Bits, aber es ist ein ganz anderes Konzept, das sich auf die bezieht
physische Größe des Schlüssels.

In dieser Hinsicht bietet ein gemeinsamer öffentlicher RSA 2048-Bit-Schlüssel eine Sicherheitsstufe von
112 Bit. ECDSA benötigt jedoch nur öffentliche Schlüssel mit einer Größe von 224 Bit, um die bereitzustellen
gleiche 112-Bit-Sicherheitsstufe. Dieser auffällige Unterschied in der Schlüsselgröße hat zwei
signifikante Implikationen. Kleinere Schlüsselgrößen erfordern weniger Bandbreite zum Einrichten eines
SSL /TLS Stream, was bedeutet, dass ECDSA-Zertifikate ideal für Mobilgeräte sind
Anwendungen. Darüber hinaus können solche Zertifikate in Geräten mit viel gespeichert werden
mehr einschränkende Speicherbeschränkungen, eine Tatsache, die m / erlaubtTLS Stapel zu sein
in IoT-Geräten implementiert, ohne viele Ressourcen zuzuweisen. Veröffentlicht
Untersuchungen zeigen sogar, dass ECDSA effizienter [09] in Embedded zu implementieren ist
Geräte.

Leistung und zeitliche Komplexität

Algorithmen sind abstrakte Rezepte, die eine Methode zur Erreichung eines bestimmten Ziels beschreiben.
In der Informatik wird ihre Leistung durch Zählen der Anzahl gemessen
elementare Operationen, die notwendig sind, um dieses vorgegebene Ende zu erreichen
Bedingung. Eine solche Metrik wird aufgerufen zeitliche Komplexität. Da unterschiedliche Eingabe
Größen erfordern eine unterschiedliche Anzahl von Operationen, die zeitliche Komplexität ist normalerweise
ausgedrückt als Funktion der Eingabegröße.

Beide fraglichen Algorithmen arbeiten ungefähr gleich zeitaufwendig
mathematische Operationen wie Divisionen und Multiplikationen. Somit Eingabegröße
(was in diesem Fall die Größe ihrer Schlüssel ist) bleibt die wichtigste
Faktor, der ihre Leistung beeinflusst. Der Vergleich der beiden Algorithmen muss sein
unterscheidet zwischen dem Signieren einer Nachricht und dem Überprüfen einer Signatur. In den meisten
In der Praxis scheint RSA deutlich schneller zu sein als ECDSA in
Überprüfen von Signaturen, obwohl es beim Signieren langsamer ist.

Bei höheren Sicherheitsstufen wird es kompliziert. Zum Beispiel in den meisten
Bei der allgemeinen Konfiguration einer Sicherheitsstufe von 112 Bit benötigt RSA 2048 Bit
im Vergleich zu ECDSA, die 224-Bit-Schlüssel benötigt. In der nächsten gemeinsamen Ebene von 128 Bit, RSA
erfordert einen 3072-Bit-Schlüssel, während ECDSA nur 256 Bit enthält. Dies führt zu RSAs
Die Leistung wird dramatisch sinken, während ECDSA nur geringfügig betroffen ist. Wie
eine Folge dieses Skalierungsproblems, obwohl RSA bei der
Momentan könnte der kontinuierliche Anstieg der Sicherheitsanforderungen sehr gut rendern
ECDSA die De-facto-Lösung für die Zukunft.

Postquantenwiderstand

Shor-Algorithmus [10] ist ein bekannter Algorithmus zum Brechen von RSA-Schlüsseln mit
Quantencomputer. Da es keine (öffentlichen) praktischen Implementierungen von a
Bei einer solchen Maschine ist das Folgende eine Vermutung über die Zukunft des öffentlichen Schlüssels
Kryptographie. Im Moment dieses Schreibens die beste Implementierung von Shors
Der Algorithmus kann eine 15-Bit-Schlüssel-RSA-Verschlüsselung umgehen. Obwohl das nicht klingt
in Bezug auf, da immer mehr Forschung auf Quantencomputer gerichtet ist, RSA
könnte jederzeit in ernsthafte Schwierigkeiten geraten.

Fürsprecher für ECDSA sollten jedoch nicht schnell feiern, weil elliptisch
Kurvenkryptographie ist auch anfällig [11] zu einer modifizierten Version von Shor
Algorithmus. Wenn folglich beide Chiffren von einem Quantencomputer gebrochen werden können,
Die einzige objektive Metrik ist die Komplexität, die zur Implementierung einer solchen erforderlich ist
Attacke. Laut öffentlicher Forschung benötigen RSA 2048-Bit-Schlüssel 4098 Qubits
(und 5.2 Billionen Tofolli-Gates) besiegt werden, während ECDSA 256-Bit-Schlüssel
benötigen nur 2330 Qubits (und 126 Milliarden Tofolli-Tore). Daher ist RSA mehr
teuer zu brechen, mit einer theoretischen Quantenmaschine.

Zusammenfassung

Obwohl dieser Vergleich keineswegs umfassend ist, ist es offensichtlich, dass
RSA hat zu Recht seine Position als führende digitale Signatur erlangt
Algorithmus für die meisten Zertifikatanwendungen. Da ist Technologie aber immer
Auf unvorhersehbarere Weise voranzukommen, sind auch das Sicherheitsbewusstsein und die Sicherheitsbedürfnisse
zunehmend. Vor etwas mehr als zehn Jahren war die Sicherheit eingebetteter Geräte
Fiktion und heutzutage sichere Kommunikation sind ein Muss für jede reale Welt
Anwendung. Selbst wenn ECDSA relativ jung ist, ist es daher jedermanns Sache
raten Sie mal, ob es RSA als Standard für die Authentifizierung in SSL / ersetzen wirdTLS
Implementierungen.

Wenn Sie als Leser immer noch nicht entscheiden können, welchen Algorithmus Sie wählen sollen, gibt es solche
Lösungen zur Unterstützung von ECDSA und RSA (als Fallback-Mechanismus), bis zum
Die Crypto-Community entscheidet sich für einen Gewinner. Überprüfen Sie diesen Artikelabschnitt für eine Zukunft
Anleitung.

TL; DR-Tabelle

Metrisch RSA ECDSA
Adoption ?  
Reife ?  
Schlüsselgröße   ?
Leistung ?  
Skalierung   ?
P / Q-Widerstand ?  

Bibliographie

Abonnieren Sie den Newsletter von SSL.com

Verpassen Sie keine neuen Artikel und Updates von SSL.com

Bleiben Sie informiert und sicher

SSL.com ist ein weltweit führendes Unternehmen im Bereich Cybersicherheit, PKI und digitale Zertifikate. Melden Sie sich an, um die neuesten Branchennachrichten, Tipps und Produktankündigungen von zu erhalten SSL.com.

Wir würden uns über Ihr Feedback freuen

Nehmen Sie an unserer Umfrage teil und teilen Sie uns Ihre Meinung zu Ihrem letzten Kauf mit.