Cryptographic Algorithms
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.
MetaMUI Crypto Primitives implements 49 cryptographic algorithms across 10 platforms, all as pure implementations without external dependencies.
Algorithm Categories
Post-Quantum Cryptography
Quantum-resistant algorithms for future-proof security:
- ML-KEM-768 (Kyber) - NIST-standardized key encapsulation
- Dilithium - Lattice-based digital signatures
- Falcon-512 - Compact post-quantum signatures
- NTRU Prime - Alternative post-quantum KEM
Digital Signatures
Classical and modern signature algorithms:
- Ed25519 - EdDSA over Curve25519
- Ed25519-ZIP215 - ZIP-215 compliant variant
- Sr25519 - Schnorrkel signatures for blockchain
- RSA-2048 - Transitional RSA for PQC migration (deprecated 2030)
Symmetric Encryption
Block and stream ciphers with authenticated modes:
- AES-256 - Advanced Encryption Standard
- ChaCha20 - High-speed stream cipher
- ChaCha20-Poly1305 - AEAD construction
- ARIA-256 - Korean standard cipher
- Camellia-256 - Japanese standard cipher
- Deoxys-II - CAESAR competition winner
Hash Functions
Cryptographic hash functions for various use cases:
- SHA-256 - 256-bit Secure Hash Algorithm
- SHA-512 - 512-bit Secure Hash Algorithm
- Blake2b - Optimized for 64-bit platforms
- Blake2s - Optimized for small messages
- Blake3 - Parallel-friendly hash
- SHAKE-256 - Extendable output function
- FlatHash - Fast non-cryptographic hash
Key Derivation
Functions for deriving keys from passwords or other sources:
- Argon2 - Memory-hard password hashing
- PBKDF2 - Password-based key derivation
- HKDF - HMAC-based key derivation
Key Exchange
Secure key agreement protocols:
- X25519 - Elliptic curve Diffie-Hellman
Message Authentication
Message authentication codes and PRFs:
- HMAC - Keyed-hash message authentication
- Poly1305 - One-time authenticator
- SipHash - Short-input PRF
Random Number Generation
Cryptographically secure random number generators:
- HMAC-DRBG - Deterministic random bit generator
Lightweight Cryptography
Optimized algorithms for resource-constrained environments:
- Ascon - Lightweight AEAD
Utility Functions
Supporting cryptographic utilities:
- BIP39 - Mnemonic phrase generation
Algorithm Selection Guide
For New Applications
- Encryption: ChaCha20-Poly1305 or AES-256-GCM
- Signatures: Ed25519 or Dilithium (post-quantum)
- Key Exchange: X25519 or ML-KEM-768 (post-quantum)
- Hashing: Blake3 or SHA-256
- Password Hashing: Argon2id
- Message Authentication: HMAC or Poly1305
- Random Generation: HMAC-DRBG
- Lightweight AEAD: Ascon
For Compatibility
- Encryption: AES-256 (universal support)
- Signatures: Ed25519 (wide adoption)
- Hashing: SHA-256 (standard requirement)
- Key Derivation: PBKDF2 (legacy systems)
For Post-Quantum Security
- Key Exchange: ML-KEM-768
- Signatures: Dilithium or Falcon-512
- Hybrid Approach: Combine classical + post-quantum
Security Levels
| Algorithm | Security Level | Quantum-Resistant |
|---|---|---|
| ML-KEM-768 | 192 bits | ✅ Yes |
| Dilithium | 128-256 bits | ✅ Yes |
| Falcon-512 | 128 bits | ✅ Yes |
| NTRU Prime | 128-256 bits | ✅ Yes |
| Ascon | 128 bits | ✅ Yes |
| Ed25519 | 128 bits | ❌ No |
| X25519 | 128 bits | ❌ No |
| AES-256 | 256 bits | ⚠️ Partial (128-bit) |
| ChaCha20 | 256 bits | ⚠️ Partial (128-bit) |
| SHA-256 | 128 bits collision | ⚠️ Partial |
| Blake3 | 128 bits minimum | ⚠️ Partial |
| Argon2 | Configurable | ⚠️ Partial |
| HMAC | Hash-dependent | ⚠️ Partial |
| Poly1305 | 128 bits | ⚠️ Partial |
| SipHash | 64 bits | ⚠️ Partial |
Performance Characteristics
Speed
This project has not published a speed ranking. The measured scope is in
documents/public-release/evidence/225-benchmarks.md.
- ML-KEM-768 - Fast post-quantum KEM
Memory Usage
- Low: SHA-256, Blake3, ChaCha20
- Medium: Ed25519, AES-256, ML-KEM-768
- High: Argon2 (configurable), Dilithium
Key/Signature Sizes
| Algorithm | Public Key | Private Key | Signature | |———–|————|————-|———–| | Ed25519 | 32 bytes | 32 bytes | 64 bytes | | Sr25519 | 32 bytes | 32 bytes | 64 bytes | | Dilithium | 1312 bytes | 2528 bytes | 2420 bytes | | Falcon-512 | 897 bytes | 1281 bytes | 690 bytes | | ML-KEM-768 | 1184 bytes | 2400 bytes | N/A |
Implementation Details
All algorithms are:
- ✅ Implemented in pure code (no external dependencies)
- Constant-time behaviour and side-channel resistance: not claimed — unmeasured for every target (A48)
- ✅ Cross-platform compatible
- ✅ Extensively tested with official test vectors
- Independent security audit: none has been performed
Standards Compliance
Our implementations follow these standards:
- NIST: FIPS 197/180-4/198-1/202, FIPS 203/204/205, SP 800-series (algorithm standards; not a validated FIPS 140-2 or 140-3 module)
- IETF: RFC 7748, RFC 8032, RFC 8439
- CAESAR: Competition winners
- eSTREAM: Portfolio algorithms
- Post-Quantum: NIST PQC standardization
For detailed information about specific algorithms, explore the category pages above or consult the API documentation.