11 unstable releases (5 breaking)

0.6.0 Jan 16, 2023
0.5.2 Sep 26, 2022
0.5.1 Aug 31, 2022
0.4.2 Apr 5, 2022
0.1.1 Oct 20, 2021

#2271 in Cryptography


Used in pqcrypto-picnic

MIT license

3MB
36K SLoC

C 31K SLoC // 0.0% comments GNU Style Assembly 1.5K SLoC // 0.1% comments Rust 1.5K SLoC // 0.0% comments Bitbake 751 SLoC // 0.4% comments C++ 657 SLoC // 0.1% comments SWIG 298 SLoC // 0.2% comments Shell 45 SLoC Python 23 SLoC // 0.3% comments

Bindings for the Picnic digital signature scheme

This crate provides bindings for the optimized implementation of the Picnic digital signature scheme. It implements the traits of the signature crate.

Features

This crate supports the following features:

  • picnic (default): Enable the Picnic parameter sets with ZKB++/Fiat-Shamir as proof system.
  • unruh-transform: Enable the Picnic parameter sets with ZKB++/Unruh as proof system.
  • picnic3 (default): Enable the Picnic parameter sets with KKW/Fiat-Shamir as proof system.
  • system (default): Use the shared library of Picnic per default.
  • static-fallback (default): Build Picnic on demand if shared library is not available.
  • std (default): Use std.
  • subtle: Provide constant-time equality comparison for SigningKey.
  • serialization: Enable serialization with serde.
  • zeroize: Enable zeroziation of private keys via zeroize.

If the crate is not built with std enabled, the alloc crates is used.

Security Notes

This crate has received no security audit. Use at your own risk.

License

This crate is licensed under the MIT license.

Dependencies