pub trait Authenticate<T>where
T: PublicKeyEncryptable<Self>,
Self: Sized,{
// Provided method
fn authenticate<E, R, V>(
&self,
encrypted: &E,
recipient: &R,
verifier: &V,
) -> bool
where E: PublicKeyEncrypted,
R: ParticipantPublicKeys,
V: Verifier + ?Sized,
Self: Decryptable<E> + Signatures + Digestible { ... }
}Expand description
Authenticates encrypted data using SIGMA-I-style verification.
Provides the authentication verification for SIGMA-I-style authenticated encryption, ensuring the signatures are valid for the cryptographic binding of ephemeral material and participant public keys.
Provided Methods§
Sourcefn authenticate<E, R, V>(
&self,
encrypted: &E,
recipient: &R,
verifier: &V,
) -> boolwhere
E: PublicKeyEncrypted,
R: ParticipantPublicKeys,
V: Verifier + ?Sized,
Self: Decryptable<E> + Signatures + Digestible,
fn authenticate<E, R, V>(
&self,
encrypted: &E,
recipient: &R,
verifier: &V,
) -> boolwhere
E: PublicKeyEncrypted,
R: ParticipantPublicKeys,
V: Verifier + ?Sized,
Self: Decryptable<E> + Signatures + Digestible,
Verify the authentication of encrypted data.
Reconstructs the SIGMA-I-style binding digest using the encrypted data’s ephemeral material and verifies both the Ed25519 and FN-DSA signatures against it. This proves the ephemeral material and authenticating keys were bound together by the original sender.
Both signatures need to be valid for the reconstructed binding digest to authenticate the encrypted data.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.