Ich frage mich, ob die ersten beiden Roundtrips des Pre-Commiting und des anschließenden Aufdeckens von R/R in der MuSig-Signierung in die Keygen-Phase verschoben und deterministisch gemacht werden können. Das reduziert die Menge der auszutauschenden Nachrichten; Da Keygen nur einmal durchgeführt wird, möchten wir diese Phase erweitern. Dies wäre besonders nützlich für HD-Wallets: Auf Kosten der komplizierteren Erstellung von Wallets würde das Signieren weniger Interaktionen erfordern.
Das Notenpapier auf Seite 10-11 gibt Folgendes an (aus Sicht des Unterzeichners 1):
Schlüsselgenerierung
Unterzeichnung (insbesondere der Teil über die Vereinbarung von R i )
r 1 ist als zufällig spezifiziert. Das Signieren umfasst drei Interaktionsrunden, von denen zwei für die obigen Schritte verwendet werden (Einigung auf R i ). Ich möchte diese Schritte in die Keygen-Phase verschieben.
Ein HD-Wallet würde vermutlich BIP32 verwenden, um X 1 zu generieren . Können wir BIP32 auch zum Ableiten von R i /r i verwenden ?
Betrachten Sie stattdessen das folgende Schema. (aus Sicht der Mitunterzeichner 1)
HD-Wallet-Setup-Phase
Schlüsselgenerierung
Unterzeichnung (insbesondere der Teil über die Vereinbarung von R i )
Dieser Ansatz hat nur eine Interaktionsrunde während des Signierens (Senden von s i , weggelassen, da es sich nicht von dem, was in dem Papier beschrieben ist, geändert hat).
Ich habe den Abschnitt zur Derandomisierung gelesen, aber die Erklärung dafür, warum es nicht funktioniert, erfordert, dass R i vom Angreifer ausgewählt wird. Wenn wir es deterministisch herleiten und BIP32 sicher ist, dann gilt dieser Angriff nicht. In dem Papier heißt es: "Jeder Unterzeichner muss sicherstellen, dass sich sein r i -Wert unvorhersehbar ändert, wenn sich ein von anderen Mitunterzeichnern gesendetes R j oder die Nachricht m ändert. Solange f deterministisch ist, impliziert dies eine kreisförmige Abhängigkeit bei der Auswahl von Zufallswerten."
Wo ist diese zirkuläre Abhängigkeit? Das f aus RFC 6979 hängt nur von key und m ab.
Die Konstruktion, die Sie vorschlagen, wird wahrscheinlich funktionieren, solange Sie nicht mehr als eine Nachricht signieren. Indem Sie die R-Punkte effektiv im Voraus auswählen, haben Sie eine Single-Show-Signatur erstellt.
Die Ableitung, die Sie für die verschiedenen R-Werte verwenden, ist jedoch sinnlos. Es reicht nicht aus, dass Sie R-Werte nicht wiederverwenden; Sie können auch nicht mehrere verwandte R-Werte verwenden. Alle R-Werte, die Sie konstruieren, sind durch eine einzige lineare Gleichung miteinander verbunden. Das reicht einem Angreifer (der den Zusammenhang kennt) aus, um den privaten Schlüssel aus zwei Signaturen abzuleiten.
Arubi
Pieter Wuille
Pieter Wuille