ML-DSA-44 Security API

Version: 1.0.0
Last Updated: 2025-01-02
Security Classification: Digital Signature Algorithm
Author: MetaMUI Security Team

Overview

ML-DSA-44 (formerly Dilithium2) is a NIST-standardized post-quantum digital signature algorithm based on lattice problems, providing NIST security level 2.

Security Warnings ⚠️

  1. Deterministic Signing: Uses deterministic nonce generation for security
  2. Side Channels: Requires constant-time polynomial operations
  3. Signature Size: Larger than classical signatures (2420 bytes)
  4. Verification: Must validate all signature components

API Functions

Key Generation

def ml_dsa_44_keygen() -> Tuple[PublicKey, SecretKey]:
    """Generate ML-DSA-44 keypair"""

Signing

def ml_dsa_44_sign(message: bytes, secret_key: SecretKey) -> Signature:
    """Sign message with ML-DSA-44"""

Verification

def ml_dsa_44_verify(message: bytes, signature: Signature, public_key: PublicKey) -> bool:
    """Verify ML-DSA-44 signature"""

Security Best Practices

Security Analysis

Threat Model: ML-DSA-44 Threat Model

The comprehensive threat analysis covers:

For complete security analysis and risk assessment, see the dedicated threat model documentation.

References

  1. FIPS 204: Module-Lattice-Based Digital Signature Standard
  2. Original Dilithium Specification

Back to Algorithm Security APIs