pub struct EncryptionDescriptor {
pub algo: u8,
pub nonce_prefix: [u8; 12],
pub wrapped_dek: Vec<u8>,
pub column_descriptors: Vec<ColumnKeyDescriptor>,
}Expand description
Encryption Descriptor, serialized into each encrypted run at
header.encryption_descriptor_offset (4-byte little-endian length prefix
- bincode body).
Fields§
§algo: u81 = AES-256-GCM.
nonce_prefix: [u8; 12]12-byte per-run nonce prefix. Bytes [0..8] are random per run;
bytes [8..12] are zero and overlaid with column_id + page_seq
at the page level (see build_page_nonce).
wrapped_dek: Vec<u8>DEK wrapped by the table KEK (AES-256-GCM; 32 + 16-byte tag = 48).
column_descriptors: Vec<ColumnKeyDescriptor>Per-column indexable-encryption descriptors (Phase 10.2).
Trait Implementations§
Source§impl Clone for EncryptionDescriptor
impl Clone for EncryptionDescriptor
Source§fn clone(&self) -> EncryptionDescriptor
fn clone(&self) -> EncryptionDescriptor
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 moreSource§impl<'de> Deserialize<'de> for EncryptionDescriptor
impl<'de> Deserialize<'de> for EncryptionDescriptor
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
Auto Trait Implementations§
impl Freeze for EncryptionDescriptor
impl RefUnwindSafe for EncryptionDescriptor
impl Send for EncryptionDescriptor
impl Sync for EncryptionDescriptor
impl Unpin for EncryptionDescriptor
impl UnsafeUnpin for EncryptionDescriptor
impl UnwindSafe for EncryptionDescriptor
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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