pub struct HeaderBinding<'a> {
pub salt: &'a [u8; 16],
pub kdf_memory: u32,
pub kdf_iterations: u32,
pub kdf_parallelism: u32,
pub kdf_key_length: u8,
pub content_nonce: &'a [u8; 24],
pub filename_nonce: &'a [u8; 24],
}Expand description
The fixed header fields bound as associated data to every v2 AEAD operation.
This exists separately from FileHeader because on encryption the
associated data is needed before the header can be built (the header
contains the filename ciphertext, which is itself AEAD-encrypted under
this binding).
The variable-length fields (header_length, filename_ciphertext_length,
and the filename ciphertext itself) are deliberately excluded: they depend
on the filename encryption output, and tampering with them is already
detected — a shifted length changes which bytes are interpreted as
ciphertext, which fails authentication.
Fields§
§salt: &'a [u8; 16]§kdf_memory: u32§kdf_iterations: u32§kdf_parallelism: u32§kdf_key_length: u8§content_nonce: &'a [u8; 24]§filename_nonce: &'a [u8; 24]Implementations§
Trait Implementations§
Source§impl<'a> Clone for HeaderBinding<'a>
impl<'a> Clone for HeaderBinding<'a>
Source§fn clone(&self) -> HeaderBinding<'a>
fn clone(&self) -> HeaderBinding<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a> Copy for HeaderBinding<'a>
Auto Trait Implementations§
impl<'a> Freeze for HeaderBinding<'a>
impl<'a> RefUnwindSafe for HeaderBinding<'a>
impl<'a> Send for HeaderBinding<'a>
impl<'a> Sync for HeaderBinding<'a>
impl<'a> Unpin for HeaderBinding<'a>
impl<'a> UnsafeUnpin for HeaderBinding<'a>
impl<'a> UnwindSafe for HeaderBinding<'a>
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