Post-Quantum Cryptography · ML-DSA · ML-KEM · Rust

Post-Quantum Cryptography
Ready for Tomorrow

NIST-standardized ML-DSA (Dilithium) and ML-KEM (Kyber) implementations in Rust. High-performance, memory-safe, and production-ready for the post-quantum era.

PQC Capabilities

Digital Signatures (ML-DSA)

NIST-standardized Dilithium for post-quantum digital signatures.

ML-DSA-44 (Security Level 2)ML-DSA-65 (Security Level 3)ML-DSA-87 (Security Level 5)+5

Key Encapsulation (ML-KEM)

NIST-standardized Kyber for post-quantum key exchange.

ML-KEM-512 (Security Level 1)ML-KEM-768 (Security Level 3)ML-KEM-1024 (Security Level 5)+5

Rust Implementations

High-performance, memory-safe Rust crates for PQC.

no_std SupportZero-allocationConstant-time+5

Hybrid Cryptography

Combine classical and post-quantum algorithms.

Hybrid KEM (X25519+ML-KEM)Hybrid Signatures (Ed25519+ML-DSA)Composite Algorithms+5

ML-DSA (Dilithium) - Digital Signatures

Digital Signature

ML-DSA-44

NIST Security Level 2 - Balanced performance and security

NIST Standard
FIPS 204 (Draft)
Security Level: Level 2 (AES-128 equivalent)
Key Sizes
Public: 1.3KBPrivate: 2.5KB
Signature Sizes
Signature: 2.4KB
Performance (Rust)
KeyGen
50K cycles
Sign
120K cycles
Verify
40K cycles
Use Cases
IoT DevicesMobile AppsTLS Certificates
Rust
C
WebAssembly
Digital Signature

ML-DSA-65

NIST Security Level 3 - Recommended for enterprise

NIST Standard
FIPS 204 (Draft)
Security Level: Level 3 (AES-192 equivalent)
Key Sizes
Public: 2.0KBPrivate: 4.0KB
Signature Sizes
Signature: 3.3KB
Performance (Rust)
KeyGen
80K cycles
Sign
190K cycles
Verify
60K cycles
Use Cases
Web ServersCode SigningEmail Security
Rust
C
WebAssembly
Digital Signature

ML-DSA-87

NIST Security Level 5 - Maximum security

NIST Standard
FIPS 204 (Draft)
Security Level: Level 5 (AES-256 equivalent)
Key Sizes
Public: 2.7KBPrivate: 5.5KB
Signature Sizes
Signature: 4.6KB
Performance (Rust)
KeyGen
120K cycles
Sign
280K cycles
Verify
90K cycles
Use Cases
Critical InfrastructureGovernmentMilitary
Rust
C
WebAssembly

ML-KEM (Kyber) - Key Encapsulation

Key Encapsulation

ML-KEM-512

NIST Security Level 1 - Lightweight KEM

NIST Standard
FIPS 203 (Draft)
Security Level: Level 1 (AES-128 equivalent)
Key Sizes
Public: 800BPrivate: 1.6KB
Performance (Rust)
KeyGen
40K cycles
Encaps
50K cycles
Decaps
50K cycles
Use Cases
IoTEmbeddedLow-power Devices
Rust
C
WebAssembly
Key Encapsulation

ML-KEM-768

NIST Security Level 3 - Enterprise standard

NIST Standard
FIPS 203 (Draft)
Security Level: Level 3 (AES-192 equivalent)
Key Sizes
Public: 1.2KBPrivate: 2.4KB
Performance (Rust)
KeyGen
70K cycles
Encaps
80K cycles
Decaps
80K cycles
Use Cases
TLS 1.3VPNsCloud Services
Rust
C
WebAssembly
Key Encapsulation

ML-KEM-1024

NIST Security Level 5 - Maximum security

NIST Standard
FIPS 203 (Draft)
Security Level: Level 5 (AES-256 equivalent)
Key Sizes
Public: 1.6KBPrivate: 3.2KB
Performance (Rust)
KeyGen
100K cycles
Encaps
120K cycles
Decaps
120K cycles
Use Cases
Long-term SecretsArchivalCritical Systems
Rust
C
WebAssembly

Rust Implementations

pqc-dilithium

Pure Rust implementation of ML-DSA (Dilithium)

Features
no_std compatible
Constant-time operations
AVX2 optimizations
Crates
pqc-dilithiumpqc-dilithium-sys
Performance
2-3x faster than reference C

pqc-kyber

Pure Rust implementation of ML-KEM (Kyber)

Features
Stack-based allocation
Zero heap usage
SIMD acceleration
Crates
pqc-kyberpqc-kyber-sys
Performance
1.5x faster than reference C

pqc-hybrid

Hybrid classical/PQC implementations

Features
X25519+Kyber KEM
Ed25519+Dilithium
Composite formats
Crates
pqc-hybridpqc-composite
Performance
Minimal overhead vs pure PQC

pqc-wasm

WebAssembly bindings for PQC

Features
Browser compatible
Node.js support
Tiny bundle size
Crates
pqc-wasmpqc-js
Performance
Near-native speed in browsers

Performance Metrics (Rust)

ML-DSA-65
Key Generation
Cycles
80K
Memory
4KB stack
ML-DSA-65
Sign
Cycles
190K
Memory
8KB stack
ML-DSA-65
Verify
Cycles
60K
Memory
4KB stack
ML-KEM-768
KeyGen
Cycles
70K
Memory
3KB stack
ML-KEM-768
Encaps
Cycles
80K
Memory
4KB stack
ML-KEM-768
Decaps
Cycles
80K
Memory
4KB stack

Success Stories

TLS Certificate Authority

Migrated to ML-DSA-65 for post-quantum certificate signing.

Outcome:

Zero downtime migration, 2M+ PQC certificates issued

Secure Messaging Platform

Implemented ML-KEM-768 for E2EE key exchange.

Outcome:

100M+ messages protected with hybrid PQC

IoT Device Manufacturer

Deployed ML-DSA-44 on resource-constrained devices.

Outcome:

500K devices secured with 50ms signature overhead

Government Agency

Full PQC migration using ML-DSA-87 and ML-KEM-1024.

Outcome:

All systems FIPS 140-3 compliant, NIST standards met

Why Sirraya for Post-Quantum Cryptography

We deliver production-ready PQC implementations with NIST-standard algorithms in memory-safe Rust.

NIST Standard

FIPS 203 (ML-KEM) and FIPS 204 (ML-DSA) compliant

Memory-Safe Rust

Constant-time, no_std, and formally verified where possible

High Performance

AVX2, NEON, and WebAssembly optimizations

Ready to Migrate to Post-Quantum?

Let's implement NIST-standard ML-DSA and ML-KEM in your systems today.

No commitment. No sales pitch. Just expert advice on PQC migration.