@ajna-inc/ml-dsa
v0.1.1
Published
ML-DSA-65 (FIPS 204) post-quantum digital signatures via WASM. Companion to @ajna-inc/pq-bridge.
Readme
@ajna-inc/ml-dsa
ML-DSA-65 (FIPS 204) post-quantum digital signatures for credo-ts.
Companion to @ajna-inc/pq-bridge. Built on the PQClean
reference implementation (via the pqcrypto-mldsa Rust crate), compiled
to WASM. PQClean is the same C source that liboqs wraps — signatures
produced here are byte-identical to any FIPS-204-conformant ML-DSA-65
implementation across stacks.
Status
v0.1.x. WASM artifact lives in wasm/; TS wrappers in src/.
Public API
import {
mlDsaGenerateKeypair,
mlDsaSign,
mlDsaVerify,
ML_DSA_65,
} from '@ajna-inc/ml-dsa'
const { publicKey, secretKey } = mlDsaGenerateKeypair()
const sig = mlDsaSign(secretKey, new TextEncoder().encode('hello pq'))
const ok = mlDsaVerify(publicKey, new TextEncoder().encode('hello pq'), sig)Test-only deterministic variants (mlDsaGenerateKeypairFromSeed,
mlDsaSignDeterministic) are used solely to generate cross-stack
test vectors.
Build
# WASM (from credo-ts repo root)
pnpm -F @ajna-inc/ml-dsa build:wasm
# TS
pnpm -F @ajna-inc/ml-dsa build
# Test
pnpm -F @ajna-inc/ml-dsa test