Registries
Post-Quantum Cryptography Libraries
Post-quantum cryptography libraries, with the smallest sizes each one offers.
High safety requires a hybrid design, where a classical and a post-quantum signature must both verify. Without one, hash-based libraries rate Medium, and lattice-based and other libraries rate Low.
Spotted an error or a missing entry? Edit this registry on GitHub to open a pull request, or suggest a change in an issue.
Edit on GitHub Suggest a change| Library | Algorithms | Source | Safety | Audited | Maturity | Blockchain friendly | Min signature | Min public key | Notes |
|---|---|---|---|---|---|---|---|---|---|
pqhybridsignpqhybridsignNo cross-implementation test vectors | ML-DSA FN-DSA (Falcon) SHRINCS | Rust | High | No | pre-production | 731 B (Falcon-512 hybrid with ed25519 or sr25519) | 196 B (SHRINCS hybrid (verification input)) | No cross-implementation test vectors | |
hashsigshashsigsAudit covers Solidity only | SHRINCS SPHINCS+C WOTS+ | Rust Solidity | Medium | Yes | production | 1092 B (SHRINCS 128s-q18 (stateful, first leaf)) | 64 B (SPHINCS+C (stateless public key)) | Audit covers Solidity only Audited verifiers branch | |
liboqsliboqsAudit excluded algorithm code | ML-KEM ML-DSA FN-DSA (Falcon) SLH-DSA XMSS LMS | C Python Rust Go | Medium | Yes | pre-production | 666 B (Falcon-padded-512) | 32 B (SLH-DSA-SHA2-128s) | Audit excluded algorithm code | |
PQCleanPQCleanRetired; archived read-only | ML-KEM ML-DSA FN-DSA (Falcon) SPHINCS+ | C | Medium | No | experimental | 666 B (Falcon-padded-512) | 32 B (SPHINCS+-sha2-128s-simple) | Retired; archived read-only | |
algorand/falconalgorand/falconDeterministic signing mode | FN-DSA (Falcon) | C | Low | No | production | 713 B (Falcon-DET512 (compressed, maximum)) | 897 B (Falcon-DET512) | Deterministic signing mode | |
aws-lc-rsaws-lc-rsML-DSA stable since v1.18.0 | ML-DSA | Rust | Low | No | production | — | — | ML-DSA stable since v1.18.0 aws-lc-rs v1.18.0 release notes | |
pqringctpqringctUsed by Abelian node | PQRingCT | Go | Low | No | production | — | — | Used by Abelian node | |
pqringctxpqringctxDerived from pqringct | PQRingCT | Go | Low | No | production | — | — | Derived from pqringct | |
qp-rusty-crystalsqp-rusty-crystalsAudit covered ML-DSA-87 only | ML-DSA | Rust | Low | Yes | production | 2420 B (ML-DSA-44) | 1312 B (ML-DSA-44) | Audit covered ML-DSA-87 only |
Spotted an error or a missing entry? Edit this registry on GitHub to open a pull request, or suggest a change in an issue.
Edit on GitHub Suggest a change