pub struct PqxdhInitialMessage {
pub initiator_identity: VerifyingKey,
pub ephemeral_key: PublicKey,
pub kem_ciphertext: Vec<u8>,
pub signed_prekey_id: String,
pub one_time_prekey_id: Option<String>,
pub pq_signed_prekey_id: String,
pub pq_one_time_key_id: Option<String>,
pub encrypted_payload: Vec<u8>,
}Expand description
PQXDH initial message sent to establish secure communication (Phase 2)
This message contains the initiator’s ephemeral key, KEM ciphertext, prekey identifiers, and the initial encrypted payload. This establishes the shared secret and delivers the first message in one round-trip.
Fields§
§initiator_identity: VerifyingKeyInitiator’s identity key
ephemeral_key: PublicKeyEphemeral X25519 public key generated for this session
kem_ciphertext: Vec<u8>ML-KEM ciphertext encapsulating shared secret
signed_prekey_id: StringID of the signed prekey that was used
one_time_prekey_id: Option<String>ID of the one-time prekey that was used (if any)
pq_signed_prekey_id: StringID of the PQ signed prekey that was used
pq_one_time_key_id: Option<String>ID of the PQ one-time key that was used (if any)
encrypted_payload: Vec<u8>Initial encrypted payload (typically the first RPC message)
Trait Implementations§
Source§impl Clone for PqxdhInitialMessage
impl Clone for PqxdhInitialMessage
Source§fn clone(&self) -> PqxdhInitialMessage
fn clone(&self) -> PqxdhInitialMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PqxdhInitialMessage
impl Debug for PqxdhInitialMessage
Source§impl<'de> Deserialize<'de> for PqxdhInitialMessage
impl<'de> Deserialize<'de> for PqxdhInitialMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PqxdhInitialMessage
impl PartialEq for PqxdhInitialMessage
Source§impl Serialize for PqxdhInitialMessage
impl Serialize for PqxdhInitialMessage
impl StructuralPartialEq for PqxdhInitialMessage
Auto Trait Implementations§
impl Freeze for PqxdhInitialMessage
impl RefUnwindSafe for PqxdhInitialMessage
impl Send for PqxdhInitialMessage
impl Sync for PqxdhInitialMessage
impl Unpin for PqxdhInitialMessage
impl UnwindSafe for PqxdhInitialMessage
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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