pub struct StaticCipherSupplier { /* private fields */ }Expand description
Default VolumeCipherSupplier for volumes that store AES-256-XTS key
material in ordinary (non-protected) memory.
Reconstructs the AES key schedule on each
get_cipher call. The cost is one AES
key expansion (~480 bytes of computation) per I/O burst — negligible
compared with the I/O itself and bounded to once per [MAX_IRP_BURST] IRPs.
For RAM-encryption, implement VolumeCipherSupplier directly: derive the
key from protected storage on each call and override VolumeCipher::destroy
to zeroize it.
Implementations§
Trait Implementations§
Source§impl VolumeCipherSupplier for StaticCipherSupplier
impl VolumeCipherSupplier for StaticCipherSupplier
Source§fn get_cipher(&self) -> Option<Box<dyn VolumeCipher>>
fn get_cipher(&self) -> Option<Box<dyn VolumeCipher>>
Acquire a cipher for one I/O burst or sweep batch. Read more
Auto Trait Implementations§
impl Freeze for StaticCipherSupplier
impl RefUnwindSafe for StaticCipherSupplier
impl Send for StaticCipherSupplier
impl Sync for StaticCipherSupplier
impl Unpin for StaticCipherSupplier
impl UnsafeUnpin for StaticCipherSupplier
impl UnwindSafe for StaticCipherSupplier
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