pub struct HybridKeyExchange {
pub classical_secret: Vec<u8>,
pub pq_secret: Option<Vec<u8>>,
pub final_key: Vec<u8>,
pub pq_active: bool,
}Expand description
Result of a hybrid key exchange (classical Noise XX + optional ML-KEM-768).
Fields§
§classical_secret: Vec<u8>Classical shared secret (from Noise XX X25519 DH).
pq_secret: Option<Vec<u8>>Post-quantum shared secret (from ML-KEM-768, if both sides support).
final_key: Vec<u8>Final combined key: SHA-256(classical || pq || “weftos-hybrid-kem-v1”).
pq_active: boolWhether PQ was used.
Implementations§
Trait Implementations§
Source§impl Clone for HybridKeyExchange
impl Clone for HybridKeyExchange
Auto Trait Implementations§
impl Freeze for HybridKeyExchange
impl RefUnwindSafe for HybridKeyExchange
impl Send for HybridKeyExchange
impl Sync for HybridKeyExchange
impl Unpin for HybridKeyExchange
impl UnsafeUnpin for HybridKeyExchange
impl UnwindSafe for HybridKeyExchange
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more