WebBuf WebBuf
Docs

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

const
ML_DSA_44: { readonly verifyingKeySize: 1312; readonly signingKeySize: 2560; readonly signatureSize: 2420; }

ML_DSA_65

const
ML_DSA_65: { readonly verifyingKeySize: 1952; readonly signingKeySize: 4032; readonly signatureSize: 3309; }

ML_DSA_87

const
ML_DSA_87: { readonly verifyingKeySize: 2592; readonly signingKeySize: 4896; readonly signatureSize: 4627; }

Functions

mlDsa44KeyPair

function
mlDsa44KeyPair(): MlDsaKeyPair<1312, 2560>
mlDsa44KeyPair(seed: FixedBuf<32>): MlDsaKeyPair<1312, 2560>

mlDsa44KeyPairDeterministic

function
mlDsa44KeyPairDeterministic(seed: FixedBuf<32>): MlDsaKeyPair<1312, 2560>

mlDsa44Sign

function
mlDsa44Sign(signingKey: FixedBuf<2560>, message: WebBuf, context?: WebBuf): FixedBuf<2420>

mlDsa44SignDeterministic

function
mlDsa44SignDeterministic(signingKey: FixedBuf<2560>, message: WebBuf, context?: WebBuf): FixedBuf<2420>

mlDsa44SignInternal

function
mlDsa44SignInternal(signingKey: FixedBuf<2560>, message: WebBuf, rnd: FixedBuf<32>): FixedBuf<2420>

mlDsa44Verify

function
mlDsa44Verify(verifyingKey: FixedBuf<1312>, message: WebBuf, signature: FixedBuf<2420>, context?: WebBuf): boolean

mlDsa44VerifyInternal

function
mlDsa44VerifyInternal(verifyingKey: FixedBuf<1312>, message: WebBuf, signature: FixedBuf<2420>): boolean

mlDsa65KeyPair

function
mlDsa65KeyPair(): MlDsaKeyPair<1952, 4032>
mlDsa65KeyPair(seed: FixedBuf<32>): MlDsaKeyPair<1952, 4032>

mlDsa65KeyPairDeterministic

function
mlDsa65KeyPairDeterministic(seed: FixedBuf<32>): MlDsaKeyPair<1952, 4032>

mlDsa65Sign

function
mlDsa65Sign(signingKey: FixedBuf<4032>, message: WebBuf, context?: WebBuf): FixedBuf<3309>

mlDsa65SignDeterministic

function
mlDsa65SignDeterministic(signingKey: FixedBuf<4032>, message: WebBuf, context?: WebBuf): FixedBuf<3309>

mlDsa65SignInternal

function
mlDsa65SignInternal(signingKey: FixedBuf<4032>, message: WebBuf, rnd: FixedBuf<32>): FixedBuf<3309>

mlDsa65Verify

function
mlDsa65Verify(verifyingKey: FixedBuf<1952>, message: WebBuf, signature: FixedBuf<3309>, context?: WebBuf): boolean

mlDsa65VerifyInternal

function
mlDsa65VerifyInternal(verifyingKey: FixedBuf<1952>, message: WebBuf, signature: FixedBuf<3309>): boolean

mlDsa87KeyPair

function
mlDsa87KeyPair(): MlDsaKeyPair<2592, 4896>
mlDsa87KeyPair(seed: FixedBuf<32>): MlDsaKeyPair<2592, 4896>

mlDsa87KeyPairDeterministic

function
mlDsa87KeyPairDeterministic(seed: FixedBuf<32>): MlDsaKeyPair<2592, 4896>

mlDsa87Sign

function
mlDsa87Sign(signingKey: FixedBuf<4896>, message: WebBuf, context?: WebBuf): FixedBuf<4627>

mlDsa87SignDeterministic

function
mlDsa87SignDeterministic(signingKey: FixedBuf<4896>, message: WebBuf, context?: WebBuf): FixedBuf<4627>

mlDsa87SignInternal

function
mlDsa87SignInternal(signingKey: FixedBuf<4896>, message: WebBuf, rnd: FixedBuf<32>): FixedBuf<4627>

mlDsa87Verify

function
mlDsa87Verify(verifyingKey: FixedBuf<2592>, message: WebBuf, signature: FixedBuf<4627>, context?: WebBuf): boolean

mlDsa87VerifyInternal

function
mlDsa87VerifyInternal(verifyingKey: FixedBuf<2592>, message: WebBuf, signature: FixedBuf<4627>): boolean

Interfaces

MlDsaKeyPair

interface
verifyingKey: FixedBuf<VkSize>
signingKey: FixedBuf<SkSize>