deterministic session_secrand32 for secp256k1_musig_nonce_gen
#1787
-
|
Looking at bitcoind code, I can see they choose to to run As Can this or some deterministic variation of |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
No, this is insecure. You must not resign with the same I don't see how you could guarantee this using And you'd want to support more than one session for the same sighash: if the first session fails to complete, e.g., because one of the counterparties never produces a partial signature, you'll probably need some way to start a new session (because otherwise the coins will be stuck forever). Are 32 bytes really too much?
Please see this section in BIP327: https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki#modifications-to-nonce-generation |
Beta Was this translation helpful? Give feedback.
-
32 bytes is just secrand. You need a way to find a proper secrand, so need to add some more (meta)data to the mapping (as bitcoind for instance), then you can have multiple keys for which you need to sign in single musig expression, multiple musig expressions in an input, and multiple inputs in the transaction... |
Beta Was this translation helpful? Give feedback.
No, this is insecure.
You must not resign with the same
secnonce. So what you describe is secure IF you guarantee that there will ever only onesecp256k1_musig_partial_sign(..., secnonce, ...)call persecnoncevalue.I don't see how you could guarantee this using
sha256(privkey||sighash). If an attacker asks an honest signer for partial signatu…