musig2 0.3.1 → 0.3.2
raw patch · 4 files changed
+15/−10 lines, 4 filesdep ~ppad-secp256k1PVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ppad-secp256k1
API changes (from Hackage documentation)
Files
- CHANGELOG +8/−0
- README.md +3/−4
- lib/Crypto/Curve/Secp256k1/MuSig2.hs +2/−4
- musig2.cabal +2/−2
CHANGELOG view
@@ -1,5 +1,13 @@ # Changelog +## 0.3.2 (2026-11-13)++* Dependencies:+ - Require `ppad-secp256k1 >= 0.5.11`, whose BIP-340 signing and+ verification hash the message without copying it (it needs+ `ppad-sha256 >= 0.3.7`). With a 128 MiB message, peak memory for+ `verify` falls from about 268 MB to the size of the message+ ## 0.3.1 (2026-11-13) * Performance:
README.md view
@@ -190,10 +190,9 @@ through `secKeyToBytes`, and a secret nonce only through the `Unsafe` module. -Messages can be any length, as BIP-327 allows. Nonce generation and signing-hash long messages without copying them, but `verify` (BIP-340 verification-in `ppad-secp256k1`) copies the message once more, so cap the size of-messages from untrusted parties.+Messages can be any length, as BIP-327 allows. They are hashed without+being copied, but are held in memory whole, so cap the size of messages from+untrusted parties. The test suite runs the official [BIP-0327][bip327] test vectors, loaded from the upstream JSON files, with exact-output assertions; invalid-encoding
lib/Crypto/Curve/Secp256k1/MuSig2.hs view
@@ -61,10 +61,8 @@ checks its own result. * __Bound the size of untrusted messages.__ BIP-327 allows messages of any- length, and every function that takes one holds it in memory whole.- 'nonceGen', 'newSession' and 'deterministicSign' hash long messages and- extra inputs without copying them, but 'verify' (BIP-340 verification in- @ppad-secp256k1@) copies the message once more. If messages come from+ length. No function copies a long message or extra input to hash it, but+ each one holds the whole message in memory, so if messages come from untrusted parties, cap their size before passing them in. * __Constant-time arithmetic on secrets.__ Secret keys and nonces are never
musig2.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: musig2-version: 0.3.1+version: 0.3.2 synopsis: MuSig2 library license: MIT license-file: LICENSE@@ -55,7 +55,7 @@ , deepseq >=1.4 && <1.7 , entropy >=0.4.1.6 && <0.5 , ppad-fixed >=0.2.2 && <0.3- , ppad-secp256k1 >=0.5.10 && <0.6+ , ppad-secp256k1 >=0.5.11 && <0.6 , ppad-sha256 >=0.3.5 && <0.4 -- The implementation modules are other-modules here (not a dependency on the