it-swarm.com.de

Was ist besser für GPG-Schlüssel - RSA oder DSA?

ssh-keygen erstellt standardmäßig RSA-Schlüssel, gpg --gen-key bevorzugt jedoch DSA/ElGamal.

Welches - RSA oder DSA - ist besser für GPG?

57
grawity

Die GPG-Betreuer denken darüber nach, den Standard auf RSA zu ändern (Quelle: Umgang mit Schwachstellen in SHA-1 [LWN .net] ). Sie glauben also, RSA sei derzeit die bessere Option (und sie sollten mehr darüber wissen als Sie oder ich).

36
CesarB

RSA und DSA - Missverständnisse und nützliche Informationen
hat ein paar ältere RSA Referenzen und die aktuelle DSA Referenz,


Im Jahr 2003 RSA vs DSA-Signaturen - Der Gewinner ist ... - RSA.

Grundsätzlich ist die Schlüsselgenerierung für DSA also unglaublich schneller. Dies ist sinnvoll, wenn Sie die Algorithmen verstehen. Das Signieren ist für DSA ebenfalls schneller, jedoch nicht so stark. Die große Stärke von RSA besteht darin, zu verifizieren, was viel schneller ist als DSA .

Jüngster IETF-Entwurf: DSA mit SHA-2 für DNSSEC , gültig bis 7. Januar 2010.
Es gibt einige Gründe, DSA heute vor RSA zu bewerben.

Die Verwendung von DSA mit SHA-256 in DNSSEC hat einige Vorteile und Nachteile gegenüber der Verwendung von RSA mit SHA-256 bei der Verwendung von 2048-Bit Schlüssel. DSA-Signaturen sind viel kürzer als RSA-Signaturen ; Bei dieser Größe beträgt der Unterschied 512 Bit gegenüber 2048 Bit. Auf typischen Plattformen mit 2048-Bit-Schlüsseln ist das Signieren von DSA etwa dreimal schneller als bei RSA, das Überprüfen von RSA-Signaturen ist jedoch mehr als zehnmal schneller als bei DSA .

Die kryptografische Stärke von DSA wird im Allgemeinen als RSA-gleich angesehen, wenn der öffentliche DSA-Schlüssel und der öffentliche RSA-Schlüssel dieselbe Größe haben. Eine solche Einschätzung könnte sich natürlich in Zukunft ändern, wenn neue Angriffe gefunden werden, die mit dem einen oder anderen Algorithmus besser funktionieren.

Derzeit sind keine Angriffe auf die für dieses Dokument ausgewählten DSA-Parameter bekannt. Eine solche Einschätzung könnte sich natürlich in Zukunft ändern.

Dies ist jedoch derzeit nur ein Entwurf .

Jeder mag die Überprüfungsgeschwindigkeit von RSA (!).

24
nik

RSA. Es wurden einige Schwachstellen in SHA-1 entdeckt, dem von DSA verwendeten Hash. Debian migriert alle ihre Schlüssel von DSA nach RSA.

8
pgs

Zitieren einer Forumsdiskussion :

Mein Rat wäre, einen RSA-Signaturschlüssel (der "primäre" oder "Hauptschlüssel") und einen RSA-Unterschlüssel für die Verschlüsselung zu verwenden. Der Grund für die Verwendung von RSA zum Signieren liegt hauptsächlich darin, dass Sie mit RSA größere Hashes verwenden können als mit DSA. Mit DSA2 können Sie auch größere Hashes verwenden, aber RSA wird seit vielen Jahren länger unterstützt als mit DSA2.

Ich denke, wenn Sie es auf eine Standardweise verwenden (d. H. Sie verschlüsseln keine große Menge von Daten), werden beide gut abschneiden.

Ich persönlich würde RSA wählen, weil ich den Algorithmus gelernt habe und er einer der schönsten Algorithmen ist, die ich je gesehen habe.

5
Adam Matan

Auch die Verwendung von SHA-2-Algorithmen ist seit der aktuellen Revision von DSS möglich und erlaubt; aber ich konnte nicht herausfinden, welcher Revision GPG folgt.

Bezüglich der aktuellen DSS Spezifikation ( FIPS-186-3 , S. i) jede in der SHS (FIPS) spezifizierte Hash-Funktion -180-3, S. iv) kann verwendet werden:

DSS:

Von FIPS genehmigte Algorithmen für digitale Signaturen müssen mit einer geeigneten Hash-Funktion verwendet werden, die im SHS angegeben ist.

SHS:

Diese Norm legt fünf sichere Hash-Algorithmen fest - SHA-1, SHA-224, SHA-256, SHA-384 und SHA-512 - zur Berechnung einer komprimierten Darstellung elektronischer Daten (Nachricht).


Zur Frage: Beide Algorithmen basieren auf mathematischen Problemen, die sich nicht als sicher herausstellen (RSA verwendet das Problem der Faktorisierung von Zahlen und DSA verwendet das Problem des diskreten Logarithmus), können Sie nicht sagen eines ist sicherer als das andere, weil weder das eine noch das andere Problem jemals gelöst wurde.

Bei der Verwendung von DSA mit SHA-1 besteht jedoch möglicherweise ein Sicherheitsproblem, wie bereits in pgs erwähnt.

4
Manuel Faux

Tatsache ist, dass es Ihnen wahrscheinlich nicht viel ausmacht :) Im Rahmen der Vorbereitung der Generierung eines Schlüsselpaars und der Pflege vorhandener Schlüsselpaare sollten Sie unabhängig von der von Ihnen gewählten asymmetrischen Krypto Folgendes tun: 1) Überprüfen der empfohlenen Aktualität Schlüssellängen 2) Wählen Sie eine Basis/Modulo, um die Signatur oder die Überprüfung zu optimieren. Dies hängt davon ab, was häufiger gemacht wird. (Die für die Ausstellung von TLS/SSL-Serverzertifikaten zu verwendenden Schlüssel sollten für die Überprüfung optimiert werden, da jeder Webbrowser die Signatur überprüft ... Schlüssel, die in der Signatursoftware verwendet wurden, sollten auf ähnliche Weise optimiert werden.) 3) Stellen Sie sicher, dass Sie Ihre Schlüssel altern - verwenden Sie denselben Schlüssel seit einigen Jahren für ssh-auth, kann es sein, dass Sie Zeit haben, sich zu regenerieren, selbst wenn Sie einen Schlüssel ausgewählt haben Größe, die für die Anwendung heute noch zumutbar ist.

Sowohl RSA als auch DSA wurden im Wesentlichen evaluiert. Wenn Sie eine zuverlässige Codebasis verwenden (RSAREF, RSA Commercial, Mozilla/Netscape, Microsoft, OpenSSL, ...), ist es Ihnen wahrscheinlich egal, welches Kryptosystem Sie verwenden, solange Sie es richtig verwenden und die aktuellen Best Practices anwenden

1
Ram