Warning
This project is unmaintained.
pqcrypto and its pqcrypto-* crates are no longer actively maintained: they
will not receive updates for new PQClean releases, new algorithms, bug fixes or
security fixes. The published crates will remain available on crates.io so that
existing builds keep working, but you should not use them in new projects and
should plan to migrate away from them.
See issue #97 for the announcement and discussion, including suggested alternatives.
We recommend RustCrypto instead. It provides actively
maintained, pure-Rust implementations of the standardized post-quantum
algorithms, including ml-kem (ML-KEM/Kyber),
ml-dsa (ML-DSA/Dilithium) and slh-dsa
(SLH-DSA/SPHINCS+).
Other actively maintained options:
aws-lc-rs, which exposes the post-quantum algorithms in AWS-LC.liboqs-rust, bindings to liboqs, if you need broad coverage of NIST PQC candidates similar to what this project offered.
This repository contains bindings to C implementations of cryptographic algorithms part of the NIST competition. These bindings are generated based on the PQClean project, which aims to collect 'clean' implementations of cryptographic algorithms.
The pqcrypto-templates folder contains the master copies of the Rust files.
The binding libraries are generated from the PQClean meta files and PQClean specified API.
The file implementations.yaml controls the version numbers and included variants of each scheme.
The generation of the different pq-crates is done by the generate-implementation.py script.