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§
Sourcefn 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,
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.