packages feed

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 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