pqcrypto_mldsa/
lib.rs

1//! # mldsa
2//!
3//! This crate provides bindings to and wrappers around the following
4//! implementations from [PQClean][pqc]:
5//!
6//! * ml-dsa-44 - clean
7//! * ml-dsa-65 - clean
8//! * ml-dsa-87 - 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 ffi;
24pub mod mldsa44;
25pub mod mldsa65;
26pub mod mldsa87;
27
28pub use crate::mldsa44::{
29    detached_sign as mldsa44_detached_sign, detached_sign_ctx as mldsa44_detached_sign_ctx,
30    keypair as mldsa44_keypair, open as mldsa44_open, open_ctx as mldsa44_open_ctx,
31    public_key_bytes as mldsa44_public_key_bytes, secret_key_bytes as mldsa44_secret_key_bytes,
32    sign as mldsa44_sign, sign_ctx as mldsa44_sign_ctx, signature_bytes as mldsa44_signature_bytes,
33    verify_detached_signature as mldsa44_verify_detached_signature,
34    verify_detached_signature_ctx as mldsa44_verify_detached_signature_ctx,
35};
36pub use crate::mldsa65::{
37    detached_sign as mldsa65_detached_sign, detached_sign_ctx as mldsa65_detached_sign_ctx,
38    keypair as mldsa65_keypair, open as mldsa65_open, open_ctx as mldsa65_open_ctx,
39    public_key_bytes as mldsa65_public_key_bytes, secret_key_bytes as mldsa65_secret_key_bytes,
40    sign as mldsa65_sign, sign_ctx as mldsa65_sign_ctx, signature_bytes as mldsa65_signature_bytes,
41    verify_detached_signature as mldsa65_verify_detached_signature,
42    verify_detached_signature_ctx as mldsa65_verify_detached_signature_ctx,
43};
44pub use crate::mldsa87::{
45    detached_sign as mldsa87_detached_sign, detached_sign_ctx as mldsa87_detached_sign_ctx,
46    keypair as mldsa87_keypair, open as mldsa87_open, open_ctx as mldsa87_open_ctx,
47    public_key_bytes as mldsa87_public_key_bytes, secret_key_bytes as mldsa87_secret_key_bytes,
48    sign as mldsa87_sign, sign_ctx as mldsa87_sign_ctx, signature_bytes as mldsa87_signature_bytes,
49    verify_detached_signature as mldsa87_verify_detached_signature,
50    verify_detached_signature_ctx as mldsa87_verify_detached_signature_ctx,
51};