use thiserror::Error; #[derive(Error, Debug, Clone)] pub enum CryptoError { #[error("encryption failed")] EncryptionFailed, #[error("decryption failed")] DecryptionFailed, #[error("invalid key length")] InvalidKeyLength, #[error("invalid nonce length")] InvalidNonceLength, #[error("invalid signature")] InvalidSignature, #[error("signing failed")] SigningFailed, #[error("verification failed")] VerificationFailed, #[error("key generation failed")] KeyGenerationFailed, #[error("KDF error")] KdfError, #[error("KEM encapsulation failed")] KemEncapsulationFailed, #[error("KEM decapsulation failed")] KemDecapsulationFailed, #[error("unknown algorithm")] UnknownAlgorithm, #[error("invalid hex encoding")] InvalidHex, }