pub struct RunEncryption {
pub cipher: Box<dyn Cipher>,
pub nonce_prefix: [u8; 12],
pub descriptor_bytes: Vec<u8>,
pub mac_key: Option<[u8; 32]>,
}Expand description
Per-run encryption material assembled at write/read time: the page cipher
(over the unwrapped DEK), the nonce prefix, and (write path only) the
serialized descriptor to embed in the run. Carries only trait-object +
primitive fields so it is constructible without the encryption feature’s
concrete crypto types.
Fields§
§cipher: Box<dyn Cipher>§nonce_prefix: [u8; 12]§descriptor_bytes: Vec<u8>§mac_key: Option<[u8; 32]>Run-metadata MAC key (write path only; None on the read path, where the
reader re-derives it from the KEK). See [run_metadata_mac].
Auto Trait Implementations§
impl !RefUnwindSafe for RunEncryption
impl !UnwindSafe for RunEncryption
impl Freeze for RunEncryption
impl Send for RunEncryption
impl Sync for RunEncryption
impl Unpin for RunEncryption
impl UnsafeUnpin for RunEncryption
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> 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