PQC ImplementationThat Actually Works
Technical deep-dives, code samples, and implementation guides from engineers who've done this in production. No hand-waving—just working code.
Technical Resources
Everything you need to implement PQC in your systems.
Code Samples
Production-ready examples for ML-KEM key exchange, ML-DSA signatures, and hybrid TLS implementations.
Implementation Guides
Step-by-step guides for integrating PQC into your existing systems—OpenSSL, BoringSSL, and cloud HSMs.
Performance Benchmarks
Real-world performance data for NIST PQC algorithms across different hardware and use cases.
CLI Tools
Open-source scanning tools to identify cryptographic vulnerabilities in your codebase and infrastructure.
Quick Start Code
Copy-paste examples to get started with PQC algorithms.
from pqcrypto.kem import kyber768
# Generate keypair
public_key, secret_key = kyber768.generate_keypair()
# Encapsulate (sender)
ciphertext, shared_secret_sender = kyber768.encapsulate(public_key)
# Decapsulate (recipient)
shared_secret_recipient = kyber768.decapsulate(ciphertext, secret_key)
assert shared_secret_sender == shared_secret_recipient# Enable hybrid key exchange in OpenSSL 3.2+
openssl s_server \
-cert server.crt \
-key server.key \
-groups X25519MLKEM768:X25519:P-256 \
-accept 443import "github.com/cloudflare/circl/sign/dilithium"
// Generate keypair
pk, sk, _ := dilithium.Mode3.GenerateKey(rand.Reader)
// Sign message
message := []byte("quantum-safe message")
signature := dilithium.Mode3.Sign(sk, message)
// Verify signature
valid := dilithium.Mode3.Verify(pk, message, signature)Algorithm Quick Reference
NIST standardized PQC algorithms at a glance.
| Algorithm | Type | Security | Key Size | Output | Use Case |
|---|---|---|---|---|---|
| ML-KEM-768 | Key Encapsulation | NIST Level 3 (~AES-192) | 1184 bytes (public) | 1088 bytes | TLS key exchange, encryption |
| ML-DSA-65 | Digital Signature | NIST Level 3 (~AES-192) | 1952 bytes (public) | 3293 bytes | Code signing, certificates |
| SLH-DSA-128s | Digital Signature | NIST Level 1 (~AES-128) | 32 bytes (public) | 7856 bytes | Long-term signatures |
Ready to Scan Your Codebase?
Our Qscout26 scanner identifies every cryptographic vulnerability in your infrastructure. Get a complete inventory in minutes.