Expand description
§Picnic bindings for pqcrypto
This crate implements the traits from pqcrypto_traits for the Picnic bindings available in picnic_bindings.
§Usage
use pqcrypto_picnic::{picnic_l1_fs_keypair, picnic_l1_fs_open, picnic_l1_fs_sign};
let (sk, pk) = picnic_l1_fs_keypair();
let sm = picnic_l1_fs_sign(b"a message", &sk);
let opened_msg = picnic_l1_fs_open(&sm, &pk).expect("signature did not verify");
assert_eq!(opened_msg, b"a message");Re-exports§
pub use picnic_l1_fs::detached_sign as picnic_l1_fs_detached_sign;pub use picnic_l1_fs::keypair as picnic_l1_fs_keypair;pub use picnic_l1_fs::open as picnic_l1_fs_open;pub use picnic_l1_fs::public_key_bytes as picnic_l1_fs_public_key_bytes;pub use picnic_l1_fs::secret_key_bytes as picnic_l1_fs_secret_key_bytes;pub use picnic_l1_fs::sign as picnic_l1_fs_sign;pub use picnic_l1_fs::signature_bytes as picnic_l1_fs_signature_bytes;pub use picnic_l1_fs::verify_detached_signature as picnic_l1_fs_verify_detached_signature;pub use picnic_l1_ur::detached_sign as picnic_l1_ur_detached_sign;pub use picnic_l1_ur::keypair as picnic_l1_ur_keypair;pub use picnic_l1_ur::open as picnic_l1_ur_open;pub use picnic_l1_ur::public_key_bytes as picnic_l1_ur_public_key_bytes;pub use picnic_l1_ur::secret_key_bytes as picnic_l1_ur_secret_key_bytes;pub use picnic_l1_ur::sign as picnic_l1_ur_sign;pub use picnic_l1_ur::signature_bytes as picnic_l1_ur_signature_bytes;pub use picnic_l1_ur::verify_detached_signature as picnic_l1_ur_verify_detached_signature;pub use picnic_l1_full::detached_sign as picnic_l1_full_detached_sign;pub use picnic_l1_full::keypair as picnic_l1_full_keypair;pub use picnic_l1_full::open as picnic_l1_full_open;pub use picnic_l1_full::public_key_bytes as picnic_l1_full_public_key_bytes;pub use picnic_l1_full::secret_key_bytes as picnic_l1_full_secret_key_bytes;pub use picnic_l1_full::sign as picnic_l1_full_sign;pub use picnic_l1_full::signature_bytes as picnic_l1_full_signature_bytes;pub use picnic_l1_full::verify_detached_signature as picnic_l1_full_verify_detached_signature;pub use picnic3_l1::detached_sign as picnic3_l1_detached_sign;pub use picnic3_l1::keypair as picnic3_l1_keypair;pub use picnic3_l1::open as picnic3_l1_open;pub use picnic3_l1::public_key_bytes as picnic3_l1_public_key_bytes;pub use picnic3_l1::secret_key_bytes as picnic3_l1_secret_key_bytes;pub use picnic3_l1::sign as picnic3_l1_sign;pub use picnic3_l1::signature_bytes as picnic3_l1_signature_bytes;pub use picnic3_l1::verify_detached_signature as picnic3_l1_verify_detached_signature;pub use picnic_l3_fs::detached_sign as picnic_l3_fs_detached_sign;pub use picnic_l3_fs::keypair as picnic_l3_fs_keypair;pub use picnic_l3_fs::open as picnic_l3_fs_open;pub use picnic_l3_fs::public_key_bytes as picnic_l3_fs_public_key_bytes;pub use picnic_l3_fs::secret_key_bytes as picnic_l3_fs_secret_key_bytes;pub use picnic_l3_fs::sign as picnic_l3_fs_sign;pub use picnic_l3_fs::signature_bytes as picnic_l3_fs_signature_bytes;pub use picnic_l3_fs::verify_detached_signature as picnic_l3_fs_verify_detached_signature;pub use picnic_l3_ur::detached_sign as picnic_l3_ur_detached_sign;pub use picnic_l3_ur::keypair as picnic_l3_ur_keypair;pub use picnic_l3_ur::open as picnic_l3_ur_open;pub use picnic_l3_ur::public_key_bytes as picnic_l3_ur_public_key_bytes;pub use picnic_l3_ur::secret_key_bytes as picnic_l3_ur_secret_key_bytes;pub use picnic_l3_ur::sign as picnic_l3_ur_sign;pub use picnic_l3_ur::signature_bytes as picnic_l3_ur_signature_bytes;pub use picnic_l3_ur::verify_detached_signature as picnic_l3_ur_verify_detached_signature;pub use picnic_l3_full::detached_sign as picnic_l3_full_detached_sign;pub use picnic_l3_full::keypair as picnic_l3_full_keypair;pub use picnic_l3_full::open as picnic_l3_full_open;pub use picnic_l3_full::public_key_bytes as picnic_l3_full_public_key_bytes;pub use picnic_l3_full::secret_key_bytes as picnic_l3_full_secret_key_bytes;pub use picnic_l3_full::sign as picnic_l3_full_sign;pub use picnic_l3_full::signature_bytes as picnic_l3_full_signature_bytes;pub use picnic_l3_full::verify_detached_signature as picnic_l3_full_verify_detached_signature;pub use picnic3_l3::detached_sign as picnic3_l3_detached_sign;pub use picnic3_l3::keypair as picnic3_l3_keypair;pub use picnic3_l3::open as picnic3_l3_open;pub use picnic3_l3::public_key_bytes as picnic3_l3_public_key_bytes;pub use picnic3_l3::secret_key_bytes as picnic3_l3_secret_key_bytes;pub use picnic3_l3::sign as picnic3_l3_sign;pub use picnic3_l3::signature_bytes as picnic3_l3_signature_bytes;pub use picnic3_l3::verify_detached_signature as picnic3_l3_verify_detached_signature;pub use picnic_l5_fs::detached_sign as picnic_l5_fs_detached_sign;pub use picnic_l5_fs::keypair as picnic_l5_fs_keypair;pub use picnic_l5_fs::open as picnic_l5_fs_open;pub use picnic_l5_fs::public_key_bytes as picnic_l5_fs_public_key_bytes;pub use picnic_l5_fs::secret_key_bytes as picnic_l5_fs_secret_key_bytes;pub use picnic_l5_fs::sign as picnic_l5_fs_sign;pub use picnic_l5_fs::signature_bytes as picnic_l5_fs_signature_bytes;pub use picnic_l5_fs::verify_detached_signature as picnic_l5_fs_verify_detached_signature;pub use picnic_l5_ur::detached_sign as picnic_l5_ur_detached_sign;pub use picnic_l5_ur::keypair as picnic_l5_ur_keypair;pub use picnic_l5_ur::open as picnic_l5_ur_open;pub use picnic_l5_ur::public_key_bytes as picnic_l5_ur_public_key_bytes;pub use picnic_l5_ur::secret_key_bytes as picnic_l5_ur_secret_key_bytes;pub use picnic_l5_ur::sign as picnic_l5_ur_sign;pub use picnic_l5_ur::signature_bytes as picnic_l5_ur_signature_bytes;pub use picnic_l5_ur::verify_detached_signature as picnic_l5_ur_verify_detached_signature;pub use picnic_l5_full::detached_sign as picnic_l5_full_detached_sign;pub use picnic_l5_full::keypair as picnic_l5_full_keypair;pub use picnic_l5_full::open as picnic_l5_full_open;pub use picnic_l5_full::public_key_bytes as picnic_l5_full_public_key_bytes;pub use picnic_l5_full::secret_key_bytes as picnic_l5_full_secret_key_bytes;pub use picnic_l5_full::sign as picnic_l5_full_sign;pub use picnic_l5_full::signature_bytes as picnic_l5_full_signature_bytes;pub use picnic_l5_full::verify_detached_signature as picnic_l5_full_verify_detached_signature;pub use picnic3_l5::detached_sign as picnic3_l5_detached_sign;pub use picnic3_l5::keypair as picnic3_l5_keypair;pub use picnic3_l5::open as picnic3_l5_open;pub use picnic3_l5::public_key_bytes as picnic3_l5_public_key_bytes;pub use picnic3_l5::secret_key_bytes as picnic3_l5_secret_key_bytes;pub use picnic3_l5::sign as picnic3_l5_sign;pub use picnic3_l5::signature_bytes as picnic3_l5_signature_bytes;pub use picnic3_l5::verify_detached_signature as picnic3_l5_verify_detached_signature;pub use picnic_bindings;
Modules§
- picnic3_
l1 - Implementations of pqcrypto_traits for Picnic parameter set Picnic3L1
- picnic3_
l3 - Implementations of pqcrypto_traits for Picnic parameter set Picnic3L3
- picnic3_
l5 - Implementations of pqcrypto_traits for Picnic parameter set Picnic3L5
- picnic_
l1_ fs - Implementations of pqcrypto_traits for Picnic parameter set PicnicL1FS
- picnic_
l1_ full - Implementations of pqcrypto_traits for Picnic parameter set PicnicL1Full
- picnic_
l1_ ur - Implementations of pqcrypto_traits for Picnic parameter set PicnicL1UR
- picnic_
l3_ fs - Implementations of pqcrypto_traits for Picnic parameter set PicnicL3FS
- picnic_
l3_ full - Implementations of pqcrypto_traits for Picnic parameter set PicnicL3Full
- picnic_
l3_ ur - Implementations of pqcrypto_traits for Picnic parameter set PicnicL3UR
- picnic_
l5_ fs - Implementations of pqcrypto_traits for Picnic parameter set PicnicL5FS
- picnic_
l5_ full - Implementations of pqcrypto_traits for Picnic parameter set PicnicL5Full
- picnic_
l5_ ur - Implementations of pqcrypto_traits for Picnic parameter set PicnicL5UR
- sign
Structs§
- Detached
Signature - A detached signature
- Public
Key - A Picnic public key
- Secret
Key - A Picnic secret key
- Signed
Message - A signed message
Enums§
- Error
- Errors that may arise when constructing keys or signatures.
- Verification
Error - Errors that may arise when verifying a signature
Traits§
- Parameters
- Trait to describe Picnic parameters