Trait Authenticate

Source
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§

Source

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,

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.

Implementations on Foreign Types§

Source§

impl Authenticate<Key> for Credentials

Implementors§