[ECDSA] Welche Kurve?

An sich reicht RSA noch locker, und wenn du einen 4096-Bit Key verwendest, wird das auch noch einige Jahre halten.
Falls du ECDSA verwenden willst, so ist evtl. folgendes interessant für dich:
https://stribika.github.io/2015/01/04/secure-secure-shell.html
http://blog.fefe.de/?ts=aa52d8da
(Diese beziehen sich zwar auf SSH, die Kurven bleiben aber die gleichen.)

Die hier vorgeschlagenen Kurven werden jedoch nicht in der Liste auf der von dir verlinkten Seite aufgeführt, daher hab ich mir grade die Zeit genommen, zu checken, inwiefern da was passen könnte und ob die etwas taugen.

Namentlich sind mir zuerst die secp-Kurven ins Auge gefallen, jedoch sind Schneier/Bernstein wohl der Meinung, dass vor allem die starken Kurven nichts taugen (Bzw. allgemein, da sie vom NIST stammen), und auf deren Meinung vertraue ich hier einfach mal (http://www.heise.de/forum/heise-Sec...nicht-vertrauenswuerdig/posting-4876878/show/). Zudem scheiden damit auch die direkten NIST Kurven aus.
//Edit: Ok, habe grade gelesen, dass die Kurven mit "k1" am Ende OK sein sollten, nur die "r" Kurven sind wohl eher nicht vertrauenswürdig. Aber laut einigen Leuten sind die "k1" Kurven wohl auch nicht gerade sehr vertrauenswürdig, also schließe ich mich den Zweifeln an und bleibe dabei - secp-Kurven sind Mist.
Nichtsdestotrotz verwendet Bitcoin secp256k1, und den Jungs kann man einiges zutrauen - sollte die Kompatibilität also nichts anderes hergeben würde secp256k1 wohl die Wahl sein.

X9.62 scheiden wegen ihrer begrenzten Länge von 256Bit aus (Erster Abschnitt der Seite), zu den anderen (Zweiter Abschnitt) konnte ich nicht genug finden, um eine entscheidende Meinung zu bilden. Da diese aber eben nicht wirklich auffindbar sind, scheiden die mMn. auch aus.

Zudem konnte ich auch nichts aussagekräftiges zu den ECGOST-Kurven finden.

Übrig bleiben im Endeffekt also nur die Brainpool(Teletrust)-Kurven, wobei auch hier mMn. nur brainpoolp512t1 taugen würde (der max. Bitlänge wegen). Die andere Kurve ist brainpoolp512r1, also quasi der Vorgänger, also ist t1 hier zu bevorzugen da neuer.

Die Brainpool-Kurven sollen wohl laut meinen paar Google-Treffern vertrauenswürdig genug sein.
Alternativ eben 4096-Bit RSA. Ich glaube, das macht nicht wirklich einen Unterschied, ist wohl einer der berühmten Glaubenskriege ob RSA oder ECDSA ;)
 
Zuletzt bearbeitet:
Vielen Dank für die wunderbare Einschätzung der Kurven :)

Ich bleib jetzt erstmal sicherheitshalber bei 4096bit RSA.
Mal sehen, vielleicht bekomm ich ja Curve25519 mit BouncyCastle zum Laufen...
 
Curve25519 zieht wahrlich gut aus und hat nicht das Problem, dass es böse Gerüchte im Zusammenhang der NIST-Kurven und der NSA gibt.

Snowi schrieb:
An sich reicht RSA noch locker, und wenn du einen 4096-Bit Key verwendest, wird das auch noch einige Jahre halten.
2048 Bit (der Einfachheit halber runde ich ab hier auf ganze 1000) gilt derzeit als sicher, da mit zunehmender Länge die Komplexität ansteigt sind 4k natürlich "etwas" länger sicher (wobei RSA hier naturgemäß schlecht skaliert, s.u).

Die hier vorgeschlagenen Kurven werden jedoch nicht in der Liste auf der von dir verlinkten Seite aufgeführt, daher
X9.62 scheiden wegen ihrer begrenzten Länge von 256Bit aus (Erster Abschnitt der Seite),
Bei einem 4k RSA sollte die Kurve dennoch reichen.

Übrig bleiben im Endeffekt also nur die Brainpool(Teletrust)-Kurven, wobei auch hier mMn. nur brainpoolp512t1 taugen würde (der max. Bitlänge wegen). Die andere Kurve ist brainpoolp512r1, also quasi der Vorgänger, also ist t1 hier zu bevorzugen da neuer.
Brainpool steht auch in den BSI-Empfehlungen (und so schlecht sind die nicht, aber da steht auch stellenweise Müll)

Zu Letzt noch ein Kleiner Vergleich:

Symmetrischer Key (z.B. AES)RSA-LängeECDSA-Länge
801-1,5k160
1002-3k200-224
1282k bis an die 4k (oft 3k)256
25615 (ja Fünfzehn)+512
Sprich, RSA mit EC oder symmetrischen Verfahren zu vergleichen ist nicht eindeutig, aber so eine schöne Kurve kann RSA recht schnell in der Pfeife rauchen.

Eine entschiedene Frage wäre auch: WAS soll alles kompatibel sein?
Denn nicht alles, was eine TLS Verbindung mit RSA kennt kennt auch eine mit ECDSA
 
Hmm... In meinem Link sprechen ja die ersten beiden Antworten von Inkompatibilität in der Darstellung. Ich kann auf die Schnelle nicht beurteilen, welche Antwort korrekter ist, dafür müsste ich mir das Thema nochmal genauer anschauen. Zur Sicherheit würde ich vorerst davon abraten, curve25519 zu nutzen.
 
Zurück
Oben