AtlatestRenderedmarkdown
sigil-crypto / treeRELEASES.md
Readme
sigil-crypto Releases
v0.16.7 — 2026-09-23
Sigil can now check minisign signatures itself. (sigil crypto) gains Ed25519 (RFC 8032) and BLAKE2b-512, and the new (sigil crypto minisign) parses minisign public keys and .minisig files and verifies them the way minisign -V does, with no minisign binary on PATH. Both build for wasm32-wasi as well as native and static musl targets, so a browser build can verify a signed registry index with the same code as the CLI.
Changes
ed25519-verifychecks an Ed25519 signature and returns#tor#f. It rejects non-canonical encodings, small-order keys and R values, and S values outside the group order, and checks the cofactored equation that RFC 8032 section 5.1.7 allows. It agrees with libsodium, which the minisign tool uses, on every RFC 8032, Wycheproof and ed25519-speccheck vector except where the key or R has a small-order component (speccheck cases 4 and 5, and a crafted signature under an honest key with a mixed-order R); only the key holder can produce those, and minisign never does.ed25519-public-keyanded25519-signderive a key and sign with a 32-byte seed; they come with the vendored implementation.blake2b-512hashes a string or bytevector to 64 bytes.(sigil crypto minisign):minisign-parse-public-key(aminisign.pubfile or the bare key line),minisign-parse-signature, andminisign-verify/minisign-verify-prehashed, which return the authenticated trusted comment or#f.minisign-failure-reasonreturns#ffor a good signature and otherwise why it failed:key-id-mismatch,legacy-refused,bad-signatureorbad-trusted-comment-signature. Both minisign formats verify: prehashedEDand legacyEd.- Ed25519 and BLAKE2b come from Monocypher 4.0.3, vendored unmodified under
vendor/monocypher/with its provenance invendor/MONOCYPHER.md. - On wasm32-wasi only the Monocypher procedures and
(sigil crypto minisign)are built. The Mbed TLS-backed procedures (hashes, HMAC, PBKDF2, ECDSA, ECDH, AES-GCM, base64, random bytes) raise "not available on wasm" there instead of being unbound. Before this release the package did not build for wasm32-wasi at all.
Upgrade notes
Nothing changes for existing callers on native targets.