#[cfg(any(
feature = "asymmetric-kem",
feature = "asymmetric-signature",
feature = "asymmetric-key-agreement"
))]
mod asymmetric {
pub use crate::algorithms::asymmetric::AsymmetricAlgorithm;
pub use crate::keys::asymmetric::{AsymmetricPrivateKey, AsymmetricPublicKey};
pub use crate::keys::asymmetric::{
TypedAsymmetricKeyTrait, TypedAsymmetricPrivateKeyTrait, TypedAsymmetricPublicKeyTrait,
};
#[cfg(feature = "asymmetric-kem")]
pub(super) mod kem {
pub use crate::keys::asymmetric::kem::EncapsulatedKey;
pub use crate::keys::asymmetric::kem::TypedKemKeyPair;
pub use crate::keys::asymmetric::kem::TypedKemPrivateKey;
pub use crate::keys::asymmetric::kem::TypedKemPublicKey;
}
#[cfg(feature = "asymmetric-signature")]
pub(super) mod signature {
pub use crate::keys::asymmetric::signature::TypedSignatureKeyPair;
pub use crate::keys::asymmetric::signature::TypedSignaturePrivateKey;
pub use crate::keys::asymmetric::signature::TypedSignaturePublicKey;
pub use seal_crypto::prelude::Signature;
}
#[cfg(feature = "asymmetric-key-agreement")]
pub(super) mod key_agreement {
pub use crate::keys::asymmetric::key_agreement::TypedKeyAgreementKeyPair;
pub use crate::keys::asymmetric::key_agreement::TypedKeyAgreementPrivateKey;
pub use crate::keys::asymmetric::key_agreement::TypedKeyAgreementPublicKey;
}
}
#[cfg(any(
feature = "asymmetric-kem",
feature = "asymmetric-signature",
feature = "asymmetric-key-agreement"
))]
pub use asymmetric::*;
#[cfg(feature = "asymmetric-kem")]
pub use kem::*;
#[cfg(feature = "asymmetric-signature")]
pub use signature::*;
#[cfg(feature = "asymmetric-key-agreement")]
pub use key_agreement::*;
#[cfg(feature = "kdf")]
mod kdf {
pub use crate::algorithms::kdf::KdfAlgorithm;
pub use crate::traits::{KdfKeyAlgorithmTrait, KdfPasswordAlgorithmTrait};
}
#[cfg(feature = "kdf")]
pub use kdf::*;
#[cfg(feature = "aead")]
mod aead {
pub use crate::algorithms::aead::AeadAlgorithm;
pub use crate::keys::aead::AeadKey;
pub use crate::keys::aead::TypedAeadKey;
}
#[cfg(feature = "aead")]
pub use aead::*;
#[cfg(feature = "xof")]
mod xof {
pub use crate::algorithms::xof::XofAlgorithm;
pub use crate::traits::XofAlgorithmTrait;
}
#[cfg(feature = "xof")]
pub use xof::*;
mod hash {
pub use crate::algorithms::hash::HashAlgorithm;
pub use crate::traits::HashAlgorithmTrait;
}
pub use hash::*;
pub use ::seal_crypto::zeroize::Zeroizing;
pub use ::seal_crypto::secrecy::SecretBox;