dcrypt_common/
lib.rs

1//! Common implementations and shared functionality for the DCRYPT library
2//!
3//! This crate provides common utilities and implementations used across
4//! multiple DCRYPT components.
5
6#![cfg_attr(not(feature = "std"), no_std)]
7
8#[cfg(all(feature = "alloc", not(feature = "std")))]
9extern crate alloc;
10
11pub mod ec_common;
12pub mod math_common;
13pub mod mceliece_common;
14pub mod ntru_common;
15pub mod security;
16
17// Re-export core security types
18pub use security::{EphemeralSecret, SecretBuffer, SecureZeroingType, ZeroizeGuard};
19
20// Conditionally re-export SecretVec only when alloc feature is enabled
21#[cfg(feature = "alloc")]
22pub use security::secret::SecretVec;
23
24// Re-export memory safety traits and utilities
25pub use security::memory::{SecureCompare, SecureOperation, SecureOperationExt};
26
27// Conditionally re-export SecureOperationBuilder only when std or alloc features are enabled
28#[cfg(any(feature = "std", feature = "alloc"))]
29pub use security::memory::SecureOperationBuilder;
30
31// Re-export memory barrier utilities
32pub use security::memory::barrier;
33
34// Conditionally re-export EC common types only when Vec is available
35#[cfg(any(feature = "std", feature = "alloc"))]
36pub use ec_common::{CurveParams, Point as ECPoint};