pub enum CryptoError {
Base64(DecodeError),
Decryption,
InvalidLength {
expected: usize,
got: usize,
},
TooShort,
InvalidKeyHash,
InvalidRecoveryKey,
Kdf(String),
Hybrid(String),
Signature(String),
Vrf(String),
Utf8(FromUtf8Error),
}Expand description
All possible errors from cryptographic operations.
Variants§
Base64(DecodeError)
Base64 decoding failed.
Decryption
Decryption failed (wrong key, corrupted ciphertext, or MAC mismatch).
InvalidLength
A key or salt has the wrong byte length.
TooShort
Ciphertext is too short to contain the expected components.
InvalidKeyHash
The key_hash string is not in the expected {salt}$argon2id format.
InvalidRecoveryKey
A recovery key contains characters outside the allowed base32 alphabet.
Kdf(String)
The Argon2id key derivation failed.
Hybrid(String)
An error in the hybrid PQ KEM layer.
Signature(String)
An error in the hybrid PQ signature layer.
Vrf(String)
An error in the verifiable random function (ECVRF) layer that is not a
plain length mismatch — e.g. a proof component that is not a valid curve
point, or hash-to-curve exhausting its counter budget. A verification
failure of an otherwise well-formed proof is reported as Ok(None) from
ecvrf_verify, not as this error.
Utf8(FromUtf8Error)
Decrypted bytes are not valid UTF-8.
Trait Implementations§
Source§impl Debug for CryptoError
impl Debug for CryptoError
Source§impl Display for CryptoError
impl Display for CryptoError
Source§impl Error for CryptoError
impl Error for CryptoError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()