pub struct ReachableSecretKeys {
pub ec_secret_key: X25519Secret,
pub pq_secret_key: MlKemSecret,
pub pq_public_key: MlKemPublic,
}Fields§
§ec_secret_key: X25519Secret§pq_secret_key: MlKemSecret§pq_public_key: MlKemPublicTrait Implementations§
Source§impl Decryptable<GenericVault> for ReachableSecretKeys
impl Decryptable<GenericVault> for ReachableSecretKeys
Source§fn decrypt(key: &Key, encrypted: &E) -> Result<Self, CryptError>
fn decrypt(key: &Key, encrypted: &E) -> Result<Self, CryptError>
Decrypt using a key and encrypted data that includes its own nonce.
Source§fn decrypt_with_cipher(
cipher: &ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>,
encrypted: &E,
) -> Result<Self, CryptError>
fn decrypt_with_cipher( cipher: &ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, encrypted: &E, ) -> Result<Self, CryptError>
Decrypt using a pre-initialized cipher instance. Read more
Source§impl Encryptable<GenericVault> for ReachableSecretKeys
impl Encryptable<GenericVault> for ReachableSecretKeys
Source§fn encrypt<F>(
&self,
key: &Key,
csprng: impl CryptoRngCore,
) -> Result<F, CryptError>where
F: From<(GenericArray<u8, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, Vec<u8>)>,
Self: ProstEncode + Decryptable<O> + Decryptable<F>,
fn encrypt<F>(
&self,
key: &Key,
csprng: impl CryptoRngCore,
) -> Result<F, CryptError>where
F: From<(GenericArray<u8, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, Vec<u8>)>,
Self: ProstEncode + Decryptable<O> + Decryptable<F>,
Encrypt this data structure with automatic nonce generation.
Source§impl From<&ReachableSecretKeys> for UnsignedReachablePublicKeys
impl From<&ReachableSecretKeys> for UnsignedReachablePublicKeys
Source§fn from(from: &ReachableSecretKeys) -> Self
fn from(from: &ReachableSecretKeys) -> Self
Converts to this type from the input type.
Source§impl HintTaker for ReachableSecretKeys
impl HintTaker for ReachableSecretKeys
Source§fn take_the_hint(
&self,
envelope_id_hint: &Hint<X25519, ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, 54>,
salts: &Salts,
) -> Result<HintedEnvelopeId, CryptError>where
Self: ParticipantSecretKeys,
fn take_the_hint(
&self,
envelope_id_hint: &Hint<X25519, ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, 54>,
salts: &Salts,
) -> Result<HintedEnvelopeId, CryptError>where
Self: ParticipantSecretKeys,
Decrypt a single envelope ID hint.
Source§fn take_all_the_hints(
&self,
envelope_id_hints: &Hints<Hint<X25519, ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, 54>, 5000>,
salts: &Salts,
) -> Result<Vec<HintedEnvelopeId>, DecodeError>where
Self: ParticipantSecretKeys,
fn take_all_the_hints(
&self,
envelope_id_hints: &Hints<Hint<X25519, ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>, 54>, 5000>,
salts: &Salts,
) -> Result<Vec<HintedEnvelopeId>, DecodeError>where
Self: ParticipantSecretKeys,
Decrypt a set of envelope ID hints.
Source§impl ParticipantSecretKeys for ReachableSecretKeys
impl ParticipantSecretKeys for ReachableSecretKeys
Source§fn ec_secret_key(&self) -> &X25519Secret
fn ec_secret_key(&self) -> &X25519Secret
Access to a type’s X25519 elliptic curve secret key.
Source§fn pq_secret_key(&self) -> &MlKemSecret
fn pq_secret_key(&self) -> &MlKemSecret
Access to a type’s ML-KEM post-quantum secret key.
Source§impl ProstDecode for ReachableSecretKeys
impl ProstDecode for ReachableSecretKeys
type EncodedType = ReachableSecretKeys
fn decode<M>(message: M) -> Result<Self, DecodeError>
Source§impl ProstEncode for ReachableSecretKeys
impl ProstEncode for ReachableSecretKeys
Source§impl<A> PublicKeyDecrypter<A> for ReachableSecretKeyswhere
A: PublicKeyEncrypted + Ciphertext,
impl<A> PublicKeyDecrypter<A> for ReachableSecretKeyswhere
A: PublicKeyEncrypted + Ciphertext,
Source§fn decrypt<D>(&self, encrypted: &A, salts: &Salts) -> Result<D, CryptError>where
D: ProstDecode + Decryptable<A>,
fn decrypt<D>(&self, encrypted: &A, salts: &Salts) -> Result<D, CryptError>where
D: ProstDecode + Decryptable<A>,
Decrypt hybrid encrypted data using participant’s secret keys. Read more
Generate the MAC shared secret for verifying key authenticity. Read more
Source§impl RandomFromRng for ReachableSecretKeys
impl RandomFromRng for ReachableSecretKeys
fn random_from_rng(csprng: &mut impl CryptoRngCore) -> Self
Auto Trait Implementations§
impl Freeze for ReachableSecretKeys
impl RefUnwindSafe for ReachableSecretKeys
impl Send for ReachableSecretKeys
impl Sync for ReachableSecretKeys
impl Unpin for ReachableSecretKeys
impl UnwindSafe for ReachableSecretKeys
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more