4 releases

✓ Uses Rust 2018 edition

0.1.2 Feb 11, 2020
0.1.1 Nov 20, 2019
0.1.0 Nov 12, 2019
0.0.1 Aug 22, 2019

#443 in Cryptography

41 downloads per month
Used in 2 crates (via pqcrypto)


569K SLoC

Assembly 326K SLoC BrightScript 238K SLoC // 0.2% comments Razor 4K SLoC // 0.1% comments Processing 1K SLoC // 0.1% comments HLSL 4 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.

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.

  • rainbowIIIc-classic
    • clean (default)
  • rainbowIIIc-cyclic
    • clean (default)
  • rainbowIIIc-cyclic-compressed
    • clean (default)
  • rainbowIa-classic
    • clean (default)
  • rainbowIa-cyclic
    • clean (default)
  • rainbowIa-cyclic-compressed
    • clean (default)
  • rainbowVc-classic
    • clean (default)
  • rainbowVc-cyclic
    • clean (default)
  • rainbowVc-cyclic-compressed
    • clean (default)


This implementation requires a lot of stack space. You need to specify RUST_MIN_STACK=800000000, probably.


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.