pub mod attestation;
pub mod config;
pub mod errors;
pub mod hybrid;
pub mod kdf;
pub mod kem;
pub mod privacy_tiers;
pub mod signature;
pub mod wire_protocol;
pub use config::PqcConfig;
pub use errors::{PqcError, Result};
pub use hybrid::{HybridKem, HybridMode};
pub use kdf::{Kdf, KdfAlgorithm};
pub use kem::{DecapsulationKey, EncapsulationKey, Kem, KemAlgorithm, KemKeyPair};
pub use privacy_tiers::{CapabilityMatrix, PrivacyTier, RuntimeRequirements};
pub use signature::{Signature, SignatureAlgorithm, SigningKey, VerifyingKey};
pub use saorsa_pqc;
pub fn init() -> Result<()> {
#[cfg(feature = "fips-mode")]
{
verify_fips_rng()?;
}
Ok(())
}
#[cfg(feature = "fips-mode")]
fn verify_fips_rng() -> Result<()> {
use getrandom::getrandom;
let mut buf = [0u8; 32];
getrandom(&mut buf).map_err(|e| PqcError::RngError(e.to_string()))?;
Ok(())
}