Struct ReachingSecretKeys

Source
pub struct ReachingSecretKeys {
    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: MlKemPublic

Implementations§

Source§

impl ReachingSecretKeys

Source

pub fn from_passphrase<W>( passphrase: &str, wordlist: &W, salts: &Salts, ) -> Result<(Self, Self), PassphraseError>
where W: AsRef<[&'static str]>,

Source

pub fn unsigned_public_keys(&self) -> UnsignedReachingPublicKeys

Trait Implementations§

Source§

impl From<&ReachingSecretKeys> for UnsignedReachingPublicKeys

Source§

fn from(from: &ReachingSecretKeys) -> Self

Converts to this type from the input type.
Source§

impl HintTaker for ReachingSecretKeys

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>

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>

Decrypt a set of envelope ID hints.
Source§

impl ParticipantSecretKeys for ReachingSecretKeys

Source§

fn ec_secret_key(&self) -> &X25519Secret

Access to a type’s X25519 elliptic curve secret key.
Source§

fn pq_secret_key(&self) -> &MlKemSecret

Access to a type’s ML-KEM post-quantum secret key.
Source§

impl<A> PublicKeyDecrypter<A> for ReachingSecretKeys

Source§

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

fn mac_shared_secret(&self, encrypted: &A, salts: &Salts) -> Zeroizing<[u8; 32]>

Generate the MAC shared secret for verifying key authenticity. Read more
Source§

impl RandomFromRng for ReachingSecretKeys

Source§

fn random_from_rng(csprng: &mut impl CryptoRngCore) -> Self

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V