mod aes_gcm;
mod api;
pub(crate) mod ed25519;
mod hashing;
mod hybrid;
mod hybrid_sig;
mod keygen;
mod pq_kem;
mod pq_sig;
pub use api::{decrypt, encrypt, generate_signing_keypair, sign_with_key, verify};
pub use hybrid::{generate_hybrid_keypair, generate_hybrid_keypair_with_level};
pub use hybrid_sig::{
generate_hybrid_signing_keypair, generate_hybrid_signing_keypair_with_config, sign_hybrid,
sign_hybrid_with_config, verify_hybrid_signature, verify_hybrid_signature_with_config,
};
pub use keygen::{
generate_fn_dsa_keypair, generate_fn_dsa_keypair_with_config,
generate_fn_dsa_keypair_with_level, generate_keypair, generate_keypair_with_config,
generate_ml_dsa_keypair, generate_ml_dsa_keypair_with_config, generate_ml_kem_keypair,
generate_ml_kem_keypair_with_config, generate_slh_dsa_keypair,
generate_slh_dsa_keypair_with_config,
};
pub use hashing::{
derive_key, derive_key_with_config, derive_key_with_info, hash_data, hmac, hmac_check,
hmac_check_with_config, hmac_with_config,
};
pub use ed25519::{
sign_ed25519, sign_ed25519_with_config, verify_ed25519, verify_ed25519_with_config,
};
pub use aes_gcm::{
decrypt_aes_gcm, decrypt_aes_gcm_with_config, encrypt_aes_gcm, encrypt_aes_gcm_with_config,
};
pub use aes_gcm::{decrypt_aes_gcm_with_aad, encrypt_aes_gcm_with_aad};
pub use pq_kem::{
decrypt_pq_ml_kem, decrypt_pq_ml_kem_with_config, encrypt_pq_ml_kem,
encrypt_pq_ml_kem_with_config,
};
pub use pq_sig::{
sign_pq_fn_dsa, sign_pq_fn_dsa_with_config, sign_pq_ml_dsa, sign_pq_ml_dsa_with_config,
sign_pq_slh_dsa, sign_pq_slh_dsa_with_config, verify_pq_fn_dsa, verify_pq_fn_dsa_with_config,
verify_pq_ml_dsa, verify_pq_ml_dsa_with_config, verify_pq_slh_dsa,
verify_pq_slh_dsa_with_config,
};
pub use hashing::{
derive_key_unverified, derive_key_with_config_unverified, derive_key_with_info_unverified,
hmac_check_unverified, hmac_check_with_config_unverified, hmac_unverified,
hmac_with_config_unverified,
};
pub use ed25519::{
sign_ed25519_unverified, sign_ed25519_with_config_unverified, verify_ed25519_unverified,
verify_ed25519_with_config_unverified,
};
pub use aes_gcm::{
decrypt_aes_gcm_unverified, decrypt_aes_gcm_with_aad_unverified,
decrypt_aes_gcm_with_config_unverified, encrypt_aes_gcm_unverified,
encrypt_aes_gcm_with_aad_unverified, encrypt_aes_gcm_with_config_unverified,
};
pub use pq_kem::{
decrypt_pq_ml_kem_unverified, decrypt_pq_ml_kem_with_config_unverified,
encrypt_pq_ml_kem_unverified, encrypt_pq_ml_kem_with_config_unverified,
};
pub use pq_sig::{
sign_pq_fn_dsa_unverified, sign_pq_fn_dsa_with_config_unverified, sign_pq_ml_dsa_unverified,
sign_pq_ml_dsa_with_config_unverified, sign_pq_slh_dsa_unverified,
sign_pq_slh_dsa_with_config_unverified, verify_pq_fn_dsa_unverified,
verify_pq_fn_dsa_with_config_unverified, verify_pq_ml_dsa_unverified,
verify_pq_ml_dsa_with_config_unverified, verify_pq_slh_dsa_unverified,
verify_pq_slh_dsa_with_config_unverified,
};
pub use hybrid_sig::{
generate_hybrid_signing_keypair_unverified, sign_hybrid_unverified,
verify_hybrid_signature_unverified,
};