You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BIP-0340's validator criteria doesn't require s is non-zero. While it does require R isn't identity, meaning s will be only be 0 for non-trivial cases, finding a valid signature with an s of 0 is reducible to the birthday problem AFAICT. Accordingly, it wouldn't have 2**128 complexity to find a valid signature such that s == 0, though I'm unsure how significantly reduced the complexity is.
The signature should match BIP-0340 and use Scalar, not NonZeroScalar.
This was commented on by the recent NCC Group audit, though they didn't follow up. (though I'm unsure why). Perhaps they didn't realize the likelihood of a BIP-0340 compliant signature which k256 would rejected was less than 2**128.
Edited to strikeout my misinformed thoughts. While this is the birthday problem, I don't believe an efficient algorithm for solving it exists given how the challenge is binding, meaning this would only break with 2**128 computational complexity AFAIK. Regardless, it's still a spec break...
The text was updated successfully, but these errors were encountered:
BIP-0340's validator criteria doesn't require
s
is non-zero. While it does requireR
isn't identity, meanings
will be only be 0 for non-trivial cases, finding a valid signature with ans
of 0 is reducible to the birthday problem AFAICT.Accordingly, it wouldn't have 2**128 complexity to find a valid signature such thats == 0
, though I'm unsure how significantly reduced the complexity is.The signature should match BIP-0340 and use Scalar, not NonZeroScalar.
This was commented on by the recent NCC Group audit, though they didn't follow up.
(though I'm unsure why). Perhaps they didn't realize the likelihood of a BIP-0340 compliant signature which k256 would rejected was less than 2**128.References:
elliptic-curves/k256/src/schnorr.rs
Lines 84 to 91 in e38513e
https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#verification
Edited to strikeout my misinformed thoughts. While this is the birthday problem, I don't believe an efficient algorithm for solving it exists given how the challenge is binding, meaning this would only break with 2**128 computational complexity AFAIK. Regardless, it's still a spec break...
The text was updated successfully, but these errors were encountered: