1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum CryptoError {
8 #[error("encryption key not found: {0:016x}")]
10 KeyNotFound(u64),
11
12 #[error("invalid key format: {0}")]
14 InvalidKeyFormat(String),
15
16 #[error("invalid key size: expected {expected}, got {actual}")]
18 InvalidKeySize { expected: usize, actual: usize },
19
20 #[error("invalid IV size: expected {expected}, got {actual}")]
22 InvalidIvSize { expected: usize, actual: usize },
23
24 #[error("IO error: {0}")]
26 Io(#[from] std::io::Error),
27
28 #[error("invalid key file format: {0}")]
30 InvalidKeyFile(String),
31
32 #[error("decryption failed: {0}")]
34 DecryptionFailed(String),
35
36 #[error("invalid block index: {0}")]
38 InvalidBlockIndex(usize),
39
40 #[error("invalid parameter: {0}")]
42 InvalidParameter(String),
43
44 #[error("initialization failed: {0}")]
46 InitializationFailed(String),
47}