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
LibraryAlgorithmsSourceSafetyAuditedMaturityBlockchain friendlyMin signatureMin public keyNotes
pqhybridsignSignatures

pqhybridsign

No cross-implementation test vectors

ML-DSA FN-DSA (Falcon) SHRINCS RustHighNopre-productionYes731 B (Falcon-512 hybrid with ed25519 or sr25519)196 B (SHRINCS hybrid (verification input))No cross-implementation test vectors
hashsigsSignatures

hashsigs

Audit covers Solidity only
Audited verifiers branch

SHRINCS SPHINCS+C WOTS+ Rust SolidityMediumYes productionYes1092 B (SHRINCS 128s-q18 (stateful, first leaf))64 B (SPHINCS+C (stateless public key))Audit covers Solidity only
Audited verifiers branch
liboqsSignatures Key exchange

liboqs

Audit excluded algorithm code

ML-KEM ML-DSA FN-DSA (Falcon) SLH-DSA XMSS LMS C Python Rust GoMediumYes pre-productionNo666 B (Falcon-padded-512)32 B (SLH-DSA-SHA2-128s)Audit excluded algorithm code
PQCleanSignatures Key exchange

PQClean

Retired; archived read-only

ML-KEM ML-DSA FN-DSA (Falcon) SPHINCS+ CMediumNoexperimentalNo666 B (Falcon-padded-512)32 B (SPHINCS+-sha2-128s-simple)Retired; archived read-only
algorand/falconSignatures

algorand/falcon

Deterministic signing mode

FN-DSA (Falcon) CLowNoproductionYes713 B (Falcon-DET512 (compressed, maximum))897 B (Falcon-DET512)Deterministic signing mode
aws-lc-rsSignatures

aws-lc-rs

ML-DSA stable since v1.18.0
aws-lc-rs v1.18.0 release notes

ML-DSA RustLowNoproductionNo——ML-DSA stable since v1.18.0
aws-lc-rs v1.18.0 release notes
pqringctSignatures

pqringct

Used by Abelian node

PQRingCT GoLowNoproductionYes——Used by Abelian node
pqringctxSignatures

pqringctx

Derived from pqringct

PQRingCT GoLowNoproductionYes——Derived from pqringct
qp-rusty-crystalsSignatures

qp-rusty-crystals

Audit covered ML-DSA-87 only

ML-DSA RustLowYes productionYes2420 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