sare_core/
lib.rs

1pub mod encryption;
2pub mod format;
3pub mod hybrid_kem;
4pub mod hybrid_sign;
5pub mod kdf;
6pub mod seed;
7
8use std::fmt;
9
10pub use bson;
11use encryption::error::EncryptionError;
12use format::error::FormatError;
13use hybrid_kem::error::HybridKEMError;
14use kdf::error::KDFError;
15pub use pem;
16pub use sha3;
17
18use crate::hybrid_sign::error::HybridSignError;
19
20#[derive(Debug)]
21pub enum CoreErrorKind {
22    Format(FormatError),
23    Encryption(EncryptionError),
24    KDF(KDFError),
25    HybridKEM(HybridKEMError),
26    HybridSign(HybridSignError),
27}
28
29impl fmt::Display for CoreErrorKind {
30    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
31        match self {
32            CoreErrorKind::Format(err) => write!(f, "Format Error: {}", err),
33            CoreErrorKind::Encryption(err) => write!(f, "Encryption Error: {}", err),
34            CoreErrorKind::KDF(err) => write!(f, "KDF Error: {}", err),
35            CoreErrorKind::HybridKEM(err) => write!(f, "Hybrid KEM Error: {}", err),
36            CoreErrorKind::HybridSign(err) => write!(f, "Hybrid Sign Error: {}", err),
37        }
38    }
39}