Trait PublicKeyEncryptable

Source
pub trait PublicKeyEncryptable<W> {
    // Provided method
    fn authenticated_encrypt<S, V, R, A>(
        self,
        signing_keys: &S,
        verifier: &V,
        recipient: &R,
        salts: &Salts,
        csprng: &mut impl CryptoRngCore,
    ) -> Result<A, CryptError>
       where S: Sign + VerifyingKeys<V>,
             V: Verifier,
             A: PublicKeyEncryptedFromParts,
             R: ParticipantPublicKeys,
             W: AuthenticatingWrapperFromParts<Self> + Decryptable<A> + ProstEncode,
             Self: Digestible + Sized { ... }
}
Expand description

Encryptable using SIGMA-I-style authenticated public key encryption.

Provides authenticated encryption that combines X-Wing hybrid KEM encryption with digital signatures, ensuring both confidentiality and authenticity.

Provided Methods§

Source

fn authenticated_encrypt<S, V, R, A>( self, signing_keys: &S, verifier: &V, recipient: &R, salts: &Salts, csprng: &mut impl CryptoRngCore, ) -> Result<A, CryptError>
where S: Sign + VerifyingKeys<V>, V: Verifier, A: PublicKeyEncryptedFromParts, R: ParticipantPublicKeys, W: AuthenticatingWrapperFromParts<Self> + Decryptable<A> + ProstEncode, Self: Digestible + Sized,

Encrypt this data using SIGMA-I-style authenticated encryption.

Provides confidentiality (via X-Wing) and authenticity (via digital signatures and MAC verification) with cryptographic binding to prevent component substitution attacks.

Implementations on Foreign Types§

Source§

impl PublicKeyEncryptable<Credentials> for Key

Implementors§