pqcrypto_dilithium/
lib.rs

1//! # dilithium
2//!
3//! This crate provides bindings to and wrappers around the following
4//! implementations from [PQClean][pqc]:
5//!
6//! * dilithium2 - clean
7//! * dilithium3 - clean
8//! * dilithium5 - clean
9//!
10//! [pqc]: https://github.com/pqclean/pqclean/
11//!
12
13#![no_std]
14#![allow(clippy::len_without_is_empty)]
15
16// For no-std vectors
17extern crate alloc;
18
19// For tests
20#[cfg(feature = "std")]
21extern crate std;
22
23pub mod dilithium2;
24pub mod dilithium3;
25pub mod dilithium5;
26pub mod ffi;
27
28pub use crate::dilithium2::{
29    detached_sign as dilithium2_detached_sign, keypair as dilithium2_keypair,
30    open as dilithium2_open, public_key_bytes as dilithium2_public_key_bytes,
31    secret_key_bytes as dilithium2_secret_key_bytes, sign as dilithium2_sign,
32    signature_bytes as dilithium2_signature_bytes,
33    verify_detached_signature as dilithium2_verify_detached_signature,
34};
35pub use crate::dilithium3::{
36    detached_sign as dilithium3_detached_sign, keypair as dilithium3_keypair,
37    open as dilithium3_open, public_key_bytes as dilithium3_public_key_bytes,
38    secret_key_bytes as dilithium3_secret_key_bytes, sign as dilithium3_sign,
39    signature_bytes as dilithium3_signature_bytes,
40    verify_detached_signature as dilithium3_verify_detached_signature,
41};
42pub use crate::dilithium5::{
43    detached_sign as dilithium5_detached_sign, keypair as dilithium5_keypair,
44    open as dilithium5_open, public_key_bytes as dilithium5_public_key_bytes,
45    secret_key_bytes as dilithium5_secret_key_bytes, sign as dilithium5_sign,
46    signature_bytes as dilithium5_signature_bytes,
47    verify_detached_signature as dilithium5_verify_detached_signature,
48};