Struct double_ratchet_rs::RatchetEncHeader
source · pub struct RatchetEncHeader { /* private fields */ }
Expand description
A Ratchet, but with header encryption.
Implementations§
source§impl RatchetEncHeader
impl RatchetEncHeader
sourcepub fn init_alice(
sk: [u8; 32],
bob_dh_public_key: PublicKey,
shared_hka: [u8; 32],
shared_nhkb: [u8; 32]
) -> Self
pub fn init_alice( sk: [u8; 32], bob_dh_public_key: PublicKey, shared_hka: [u8; 32], shared_nhkb: [u8; 32] ) -> Self
Initialize a RatchetEncHeader with a remote PublicKey. Initialized second. Requires a shared key, a PublicKey, a shared HKA, and a shared NHKB. Returns a RatchetEncHeader.
sourcepub fn init_bob(
sk: [u8; 32],
shared_hka: [u8; 32],
shared_nhkb: [u8; 32]
) -> (Self, PublicKey)
pub fn init_bob( sk: [u8; 32], shared_hka: [u8; 32], shared_nhkb: [u8; 32] ) -> (Self, PublicKey)
Initialize a RatchetEncHeader without a remote PublicKey. Initialized first. Requires a shared key, a shared HKA, and a shared NHKB. Returns a RatchetEncHeader and a PublicKey.
sourcepub fn encrypt(
&mut self,
data: &[u8],
associated_data: &[u8]
) -> (EncryptedHeader, Vec<u8>, [u8; 12])
pub fn encrypt( &mut self, data: &[u8], associated_data: &[u8] ) -> (EncryptedHeader, Vec<u8>, [u8; 12])
Encrypt bytes with a RatchetEncHeader. Requires bytes and associated bytes. Returns an EncryptedHeader, encrypted bytes, and a nonce.
sourcepub fn decrypt(
&mut self,
enc_header: &EncryptedHeader,
enc_data: &[u8],
nonce: &[u8; 12],
associated_data: &[u8]
) -> Vec<u8>
pub fn decrypt( &mut self, enc_header: &EncryptedHeader, enc_data: &[u8], nonce: &[u8; 12], associated_data: &[u8] ) -> Vec<u8>
Decrypt encrypted bytes with a RatchetEncHeader. Requires an EncryptedHeader, encrypted bytes, a nonce, and associated bytes. Returns decrypted bytes.
sourcepub fn decrypt_with_header(
&mut self,
enc_header: &EncryptedHeader,
enc_data: &[u8],
nonce: &[u8; 12],
associated_data: &[u8]
) -> (Vec<u8>, Header)
pub fn decrypt_with_header( &mut self, enc_header: &EncryptedHeader, enc_data: &[u8], nonce: &[u8; 12], associated_data: &[u8] ) -> (Vec<u8>, Header)
Decrypt encrypted bytes and an EncryptedHeader with a RatchetEncHeader. Requires an EncryptedHeader, encrypted bytes, a nonce, and associated bytes. Returns decrypted bytes and a Header.
sourcepub fn export(&self) -> Vec<u8>
pub fn export(&self) -> Vec<u8>
Export a RatchetEncHeader. Returns bytes.
sourcepub fn import(data: &[u8]) -> Option<Self>
pub fn import(data: &[u8]) -> Option<Self>
Import a previously exported RatchetEncHeader. Requires bytes. Returns a RatchetEncHeader, or nothing if invalid data is provided.
Trait Implementations§
source§impl Debug for RatchetEncHeader
impl Debug for RatchetEncHeader
source§impl<'de> Deserialize<'de> for RatchetEncHeader
impl<'de> Deserialize<'de> for RatchetEncHeader
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>,
source§impl Drop for RatchetEncHeader
impl Drop for RatchetEncHeader
source§impl PartialEq<RatchetEncHeader> for RatchetEncHeader
impl PartialEq<RatchetEncHeader> for RatchetEncHeader
source§fn eq(&self, other: &RatchetEncHeader) -> bool
fn eq(&self, other: &RatchetEncHeader) -> bool
self
and other
values to be equal, and is used
by ==
.