XMSS Security API
Side-channel claim limit. Nothing on this page claims constant-time behaviour or side-channel resistance for any target: the side-channel harness covers nothing (finding A48) and no measurement exists. The Rust and C cores are designed for constant time and unmeasured; managed runtimes (JIT, GC, bounds checks) make no timing claim. Where this page names constant-time or side-channel techniques, in prose or in code, they are design intent or recommendations, not measured properties.
Version: 1.0.0
Last Updated: 2025-01-02
Security Classification: Stateful Hash-Based Signature
Author: MetaMUI Security Team
Overview
XMSS (eXtended Merkle Signature Scheme) is a stateful hash-based signature scheme providing post-quantum security with careful state management.
- Algorithm Family: Hash-based signature (stateful)
- Security Levels: 128/192/256-bit
- State Management: Critical for security
- Tree Height: Configurable (10, 16, 20)
- Standard: RFC 8391
Security Warnings ⚠️
- STATE MANAGEMENT CRITICAL: Reusing state breaks security completely
- One-Time Signatures: Each leaf can only be used once
- Backup Considerations: State must be backed up atomically
- No Parallelization: Signatures must be sequential
API Functions
Key Generation
def xmss_keygen(height: int, security_level: int) -> Tuple[PublicKey, SecretKey, State]:
"""Generate XMSS keypair with initial state"""
Signing (Stateful)
def xmss_sign(message: bytes, secret_key: SecretKey, state: State) -> Tuple[Signature, State]:
"""Sign message and update state (MUST save new state)"""
Verification (Stateless)
def xmss_verify(message: bytes, signature: Signature, public_key: PublicKey) -> bool:
"""Verify XMSS signature (stateless operation)"""
Security Best Practices
State Management Requirements
- Atomic Updates: State must be updated atomically
- No Rollback: Never revert to previous state
- Secure Storage: Store state in secure, persistent storage
- Backup Strategy: Implement secure state backup
Implementation Checklist
- Atomic state updates
- Persistent state storage
- State backup mechanism
- Recovery procedures
- Exhaustion detection
Common Vulnerabilities
- State Reuse: Fatal security breach
- Power Failure: Can cause state loss
- Concurrent Access: Must serialize signing
Security Analysis
Threat Model: XMSS Threat Model
The comprehensive threat analysis covers:
- Algorithm-specific attack vectors
- Implementation vulnerabilities
- Side-channel considerations
- Quantum resistance analysis (where applicable)
- Deployment recommendations
For complete security analysis and risk assessment, see the dedicated threat model documentation.