An Fxfs encryption key wrapped in AES-256-GCM-SIV and the associated wrapping key ID.
This can be provided to Crypt::unwrap_key to obtain the unwrapped key.
A thin wrapper around a ChaCha20 stream cipher. This will use a zero nonce. NOTE: Great
care must be taken not to encrypt different plaintext with the same key and offset (even across
multiple boots), so consider if this suits your purpose before using it.
Essentially just a vector by another name to indicate that it holds unwrapped key material.
The length of an unwrapped key depends on the type of key that is wrapped.
Different keys are used for metadata and data in order to make certain operations requiring a
metadata key rotation (e.g. secure erase) more efficient.
The keys it unwraps can be wrapped with either Aes256GcmSiv (ideally) or using via
legacy fscrypt master key + HKDF.
An interface trait with the ability to wrap and unwrap encryption keys.