Skip to main content

lib_q_core/providers/
mod.rs

1//! Cryptographic provider implementations for lib-Q
2//!
3//! This module provides the provider pattern implementation for lib-Q,
4//! allowing for pluggable cryptographic algorithm implementations
5//! with proper security validation and error handling.
6
7#[cfg(feature = "alloc")]
8pub mod aead_provider;
9#[cfg(feature = "alloc")]
10pub mod hash_provider;
11#[cfg(feature = "alloc")]
12pub mod kem_provider;
13#[cfg(feature = "alloc")]
14pub mod libq_provider;
15#[cfg(feature = "alloc")]
16pub mod signature_provider;
17
18// Re-export main provider
19#[cfg(feature = "alloc")]
20pub use aead_provider::LibQAeadStubProvider;
21#[cfg(feature = "alloc")]
22pub use hash_provider::LibQHashProvider;
23// Re-export individual operation providers
24#[cfg(feature = "alloc")]
25pub use kem_provider::LibQKemProvider;
26#[cfg(feature = "alloc")]
27pub use libq_provider::LibQCryptoProvider;
28#[cfg(feature = "alloc")]
29pub use signature_provider::LibQSignatureProvider;