18 releases

0.4.11 Apr 14, 2022
0.4.10 Nov 25, 2021
0.4.9 Sep 20, 2021
0.4.7 Jun 10, 2021
0.4.1 Jul 24, 2019

#2450 in Cryptography



GNU Style Assembly 567K SLoC // 0.0% comments C 354K SLoC // 0.2% comments Bitbake 59K SLoC // 0.0% comments Rust 1.5K SLoC // 0.0% comments Python 1.5K SLoC // 0.1% comments SWIG 348 SLoC // 0.0% comments Jinja2 204 SLoC INI 5 SLoC


This crate contains bindings to the C implementations of the following schemes, from PQClean.

This project packages Post-Quantum cryptographic algorithms that participate in the NIST PQC standardization effort. It is currently a collection of wrappers around C implementations from the PQClean project.


If you want serde support, enable the serialization feature.

Included implementations from PQClean

Below is a list of the included schemes and the corresponding implementations sourced from PQClean. The "default" implementation is used in the Rust-friendly interface, alternative implementations are exposed as ffi methods only.

  • frodokem640aes
    • opt
    • clean
  • frodokem640shake
    • opt
    • clean
  • frodokem976aes
    • opt
    • clean
  • frodokem976shake
    • opt
    • clean
  • frodokem1344aes
    • opt
    • clean
  • frodokem1344shake
    • opt
    • clean


If you use it via the FFI interface: The clean implementation of Frodo needs a lot of stack space, specify env variable RUST_MIN_STACK to make sure it has enough stack space in threads.

This is not relevant for the 'normal' api methods.


The wrappers and wrapper generation scripts in this project are covered by the MIT or Apache 2.0 licenses, at your choice.

The implementations we link to are not, however. Please see the PQClean project for the appropriate licenses.