13 releases

new 0.6.0 Jun 10, 2021
0.5.3 Feb 26, 2021
0.5.2 Dec 9, 2020
0.5.0 Feb 11, 2020
0.4.2 Jul 24, 2019

#193 in Cryptography

Download history 22/week @ 2021-02-19 31/week @ 2021-02-26 7/week @ 2021-03-05 6/week @ 2021-03-12 37/week @ 2021-03-19 27/week @ 2021-03-26 27/week @ 2021-04-02 8/week @ 2021-04-09 44/week @ 2021-04-16 37/week @ 2021-04-23 55/week @ 2021-04-30 12/week @ 2021-05-07 18/week @ 2021-05-14 5/week @ 2021-05-21 4/week @ 2021-05-28 16/week @ 2021-06-04

95 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

32MB
879K SLoC

GNU Style Assembly 555K SLoC // 0.0% comments C 295K SLoC // 0.2% comments Rust 28K SLoC // 0.0% comments Python 1.5K SLoC // 0.1% comments INI 5 SLoC

sphincsplus

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.

Serialization

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.

  • sphincs-haraka-128f-robust
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-128f-simple
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-128s-robust
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-128s-simple
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-192f-robust
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-192f-simple
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-192s-robust
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-192s-simple
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-256f-robust
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-256f-simple
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-256s-robust
    • aesni (if supported)
    • clean (default)
  • sphincs-haraka-256s-simple
    • aesni (if supported)
    • clean (default)
  • sphincs-shake256-128f-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-128f-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-128s-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-128s-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-192f-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-192f-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-192s-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-192s-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-256f-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-256f-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-256s-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-shake256-256s-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-128f-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-128f-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-128s-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-128s-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-192f-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-192f-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-192s-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-192s-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-256f-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-256f-simple
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-256s-robust
    • avx2 (if supported)
    • clean (default)
  • sphincs-sha256-256s-simple
    • avx2 (if supported)
    • clean (default)

License

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.

Dependencies