Skip to main content

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#![forbid(unsafe_code)]
8
9#[cfg(all(feature = "alloc", not(feature = "std")))]
10extern crate alloc;
11
12pub mod ec_common;
13pub mod math_common;
14pub mod security;
15
16// Re-export core security types
17pub use security::{EphemeralSecret, SecretBuffer, SecureZeroingType, ZeroizeGuard};
18
19// Conditionally re-export SecretVec only when alloc feature is enabled
20#[cfg(feature = "alloc")]
21pub use security::secret::SecretVec;
22
23// Re-export constant-time comparison utilities.
24pub use security::memory::SecureCompare;
25
26// Re-export memory barrier utilities
27pub use security::memory::barrier;
28
29// Conditionally re-export EC common types only when Vec is available
30#[cfg(any(feature = "std", feature = "alloc"))]
31pub use ec_common::{CurveParams, Point as ECPoint};