Skip to main content

libsumatracrypt_rs/errors/
mod.rs

1/// # SumatraCryptErrors (Error Management)
2/// 
3/// This module provides error handling for sumatracrypt.
4
5use thiserror::Error;
6
7
8#[derive(Error, Debug)]
9pub enum SumatraCryptErrors {
10    #[error("Invalid Signature on {:?}", ctx)]
11    InvalidSignature {
12        ctx: SumatraCryptContext,
13    },
14    
15    // # Encoding/Decoding
16    #[error("Invalid Encoding {:?}", ctx)]
17    EncodingError {
18        ctx: SumatraCryptEncoding,
19    },
20    #[error("Invalid Encoding {:?}", ctx)]
21    DecodingError {
22        ctx: SumatraCryptEncoding,
23    },
24}
25
26#[derive(Debug)]
27pub enum SumatraCryptContext {
28    // # Signatures
29    Signature_ED25519,
30    Signature_ED448,
31    Signature_Schnorr,
32    Signature_BLS,
33
34    PQSignature_FALCON512,
35    PQSignature_FALCON1024,
36    PQSignature_Dilithium3,
37}
38
39#[derive(Debug)]
40pub enum SumatraCryptType {
41    PublicKey,
42    SecretKey,
43    Signature,
44    CipherText,
45    Digest,
46    Message,
47}
48
49#[derive(Debug)]
50pub enum SumatraCryptEncoding {
51    Hexadecimal,
52    Base32,
53    Base58,
54    Base65,
55}