1 unstable release

0.1.0+3.0.18 Sep 26, 2022

#1974 in Cryptography


Used in 3 crates (2 directly)

MIT license

3MB
35K SLoC

C 31K SLoC // 0.0% comments GNU Style Assembly 1.5K SLoC // 0.1% comments Bitbake 752 SLoC // 0.4% comments C++ 658 SLoC // 0.1% comments Rust 533 SLoC // 0.0% comments SWIG 299 SLoC // 0.2% comments Shell 46 SLoC Python 24 SLoC // 0.3% comments

Declarations for the Picnic digital signature scheme

This crate provides the declarations to interact with the shared library of the optimized implementation of the Picnic digital signature scheme.

Per default, it is required that Picnic's shared library is installed. To fall back to an on-demand static build, enable the static-fallback feature.

Features

This crate supports the following features:

  • param-bindings: Produce bindings for parameter set specific functions.
  • picnic3 (default): Enable Picnic3 parameter sets.
  • picnic (default): Enable Picnic parameter sets.
  • static-fallback (default): Build static libpicnic library if not found otherwise.
  • system (default): Check for libpicnic via pkg-config.
  • unruh-transform: Enable Picnic parameter sets with Unruh transform.
  • zeroize: Implement zeroization of private keys via Zeroize and ZeroizeOnDrop.

License

This crate is licensed under the MIT license. For Picnic's license, please check its license file.

Dependencies