mldsa65 0.1.0

ML-DSA-65 (FIPS 204) digital signatures with WASM bindings
Documentation

mldsa65

ML-DSA-65 (FIPS 204) digital signature library.

Built in Rust on ml-dsa, compiled to WASM.

ML-DSA-65 (formerly CRYSTALS-Dilithium) provides NIST Level 3 post-quantum signature security.

Native Rust usage

use mldsa65::*;

let kp = generate_keypair();
let sig = sign(&kp.seed, b"hello");
assert!(verify(&kp.verifying_key, b"hello", &sig));

Install

npm install mldsa65-wasm

Usage

import {generateKeypair, sign, verify} from 'mldsa65-wasm';

// Generate keypair (32-byte seed + 1952-byte verifying key)
const {seed, verifyingKey} = generateKeypair();

// Sign a message (deterministic)
const signature = sign(seed, new TextEncoder().encode('hello'));

// Verify
const valid = verify(verifyingKey, new TextEncoder().encode('hello'), signature);

Sizes

Value Size
Seed (private key) 32 bytes
Verifying key (public key) 1,952 bytes
Signature 3,309 bytes

Security

  • Deterministic signing (no randomness at sign time)
  • Seed zeroized on drop
  • Based on ml-dsa by RustCrypto

License

Dual-licensed under the MIT License or Apache-2.0 License.