pub enum CryptoError {
Base64(DecodeError),
Decryption,
InvalidLength {
expected: usize,
got: usize,
},
TooShort,
InvalidKeyHash,
InvalidRecoveryKey,
Kdf(String),
Hkdf(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.
Hkdf(String)
An HKDF (RFC 5869) extract/expand operation failed — in practice only
when the requested output length exceeds 255 * HashLen.
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()