use thiserror::Error;
#[derive(Debug, Error, PartialEq, Eq)]
pub enum CipherError {
#[error("Failed to encrypt data: {0}")]
EncryptionFailed(String),
#[error("Failed to decrypt data: {0}")]
DecryptionFailed(String),
#[error("Invalid input data: {0}")]
InvalidInput(String),
}
pub trait CiphersCertificates: Send + Sync + std::fmt::Debug {
fn encrypt(&self, data: &[u8]) -> Result<Vec<u8>, CipherError>;
fn decrypt(&self, encrypted_data: &[u8]) -> Result<Vec<u8>, CipherError>;
}