Post-quantum primitives
@webbuf/mldsa
Rust/wasm ML-DSA (FIPS 204) post-quantum digital signatures
Install
npm install @webbuf/mldsa Usage
const { verifyingKey, signingKey } = mlDsa65KeyPair();
const signature = mlDsa65Sign(signingKey, message, context);
const ok = mlDsa65Verify(verifyingKey, message, signature, context); API reference (25 exports)
Constants
ML_DSA_44
constML_DSA_44: { readonly verifyingKeySize: 1312; readonly signingKeySize: 2560; readonly signatureSize: 2420; } ML_DSA_65
constML_DSA_65: { readonly verifyingKeySize: 1952; readonly signingKeySize: 4032; readonly signatureSize: 3309; } ML_DSA_87
constML_DSA_87: { readonly verifyingKeySize: 2592; readonly signingKeySize: 4896; readonly signatureSize: 4627; } Functions
mlDsa44KeyPair
functionmlDsa44KeyPair(): MlDsaKeyPair<1312, 2560>
mlDsa44KeyPair(seed: FixedBuf<32>): MlDsaKeyPair<1312, 2560> mlDsa44KeyPairDeterministic
functionmlDsa44KeyPairDeterministic(seed: FixedBuf<32>): MlDsaKeyPair<1312, 2560> mlDsa44Sign
functionmlDsa44Sign(signingKey: FixedBuf<2560>, message: WebBuf, context?: WebBuf): FixedBuf<2420> mlDsa44SignDeterministic
functionmlDsa44SignDeterministic(signingKey: FixedBuf<2560>, message: WebBuf, context?: WebBuf): FixedBuf<2420> mlDsa44SignInternal
functionmlDsa44SignInternal(signingKey: FixedBuf<2560>, message: WebBuf, rnd: FixedBuf<32>): FixedBuf<2420> mlDsa44Verify
functionmlDsa44Verify(verifyingKey: FixedBuf<1312>, message: WebBuf, signature: FixedBuf<2420>, context?: WebBuf): boolean mlDsa44VerifyInternal
functionmlDsa44VerifyInternal(verifyingKey: FixedBuf<1312>, message: WebBuf, signature: FixedBuf<2420>): boolean mlDsa65KeyPair
functionmlDsa65KeyPair(): MlDsaKeyPair<1952, 4032>
mlDsa65KeyPair(seed: FixedBuf<32>): MlDsaKeyPair<1952, 4032> mlDsa65KeyPairDeterministic
functionmlDsa65KeyPairDeterministic(seed: FixedBuf<32>): MlDsaKeyPair<1952, 4032> mlDsa65Sign
functionmlDsa65Sign(signingKey: FixedBuf<4032>, message: WebBuf, context?: WebBuf): FixedBuf<3309> mlDsa65SignDeterministic
functionmlDsa65SignDeterministic(signingKey: FixedBuf<4032>, message: WebBuf, context?: WebBuf): FixedBuf<3309> mlDsa65SignInternal
functionmlDsa65SignInternal(signingKey: FixedBuf<4032>, message: WebBuf, rnd: FixedBuf<32>): FixedBuf<3309> mlDsa65Verify
functionmlDsa65Verify(verifyingKey: FixedBuf<1952>, message: WebBuf, signature: FixedBuf<3309>, context?: WebBuf): boolean mlDsa65VerifyInternal
functionmlDsa65VerifyInternal(verifyingKey: FixedBuf<1952>, message: WebBuf, signature: FixedBuf<3309>): boolean mlDsa87KeyPair
functionmlDsa87KeyPair(): MlDsaKeyPair<2592, 4896>
mlDsa87KeyPair(seed: FixedBuf<32>): MlDsaKeyPair<2592, 4896> mlDsa87KeyPairDeterministic
functionmlDsa87KeyPairDeterministic(seed: FixedBuf<32>): MlDsaKeyPair<2592, 4896> mlDsa87Sign
functionmlDsa87Sign(signingKey: FixedBuf<4896>, message: WebBuf, context?: WebBuf): FixedBuf<4627> mlDsa87SignDeterministic
functionmlDsa87SignDeterministic(signingKey: FixedBuf<4896>, message: WebBuf, context?: WebBuf): FixedBuf<4627> mlDsa87SignInternal
functionmlDsa87SignInternal(signingKey: FixedBuf<4896>, message: WebBuf, rnd: FixedBuf<32>): FixedBuf<4627> mlDsa87Verify
functionmlDsa87Verify(verifyingKey: FixedBuf<2592>, message: WebBuf, signature: FixedBuf<4627>, context?: WebBuf): boolean mlDsa87VerifyInternal
functionmlDsa87VerifyInternal(verifyingKey: FixedBuf<2592>, message: WebBuf, signature: FixedBuf<4627>): boolean Interfaces
MlDsaKeyPair
interfaceverifyingKey: FixedBuf<VkSize>
signingKey: FixedBuf<SkSize>