Fragen? Antworten! Siehe auch: Alternativlos
Der einzige Grund, wieso DSA überhaupt existiert, ist weil die US-Regierung ein Exportverbot für starke Verschlüsselung durchsetzen wollte, und den Leuten aber starke Signaturen ermöglichen wollte, und daher die NSA bat, ein Signaturverfahren zu basteln, das nicht auch automatisch ein Verschlüsselungsverfahren ist, wie es bei RSA der Fall war.
Was ist jetzt hier das Problem? Stellt sich raus, dass man mit großen Computern auch algorithmisch den Private Key berechnen kann, wenn die Nonces nicht wiederverwendet wurden sondern "nur" in Relation zueinander standen, z.B. weil sie aus einem Pseudozufallszahlengenerator rausfielen statt echter Zufall zu sein.
To run the attack in practice, the following is required: A minimum of 4 signatures generated by the same private key, the associated public key, and the message hash associated with each signature. If the nonces obey the recurrence relation, we retrieve the private key used to generate the vulnerable signatures.
Hey, schnell, wo liegen eine Menge signierter Daten öffentlich rum? Oh ja richtig, auf der Blockchain! Nun sollten da die meisten Transaktionen ephemeral sein, d.h. der Private Key wurde nur einmal verwendet. Dann wäre der Angriff nicht möglich, denn der braucht mindestens vier Signaturen vom selben Key. Und tatsächlich ist das auch für 90% der Signaturen in der Blockchain der Fall. Also haben sie mal geguckt, wie weit sie bei den anderen 10% kommen. Ergebnis:We broke 762 unique wallets. All of these had a zero balance. Interestingly enough, we could break all these wallets, not because of a linear or quadratic recurrence but because there was at least one repeated nonce in the signatures.
Die Wallets mit Nonce-Recycling hatte schon jemand anderes leergeräumt :-)Unter dem Strich blieb kein Fall übrig, der nicht auf Nonce-Doppelverwendung zurückführbar ist. Das könnte aber mehr Glück als Verstand gewesen sein.