Modules§
Structs§
- Cipher
Set - A container that holds ciphers related to a specific object.
- Empty
Struct - Fscrypt
InoLblk32 File Cipher - Fscrypt
InoLblk64 DirCipher - Directory and symlink cipher for
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64. - Fscrypt
InoLblk64 File Cipher - File cipher for
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64. - Fscrypt
KeyIdentifier - Fscrypt
KeyIdentifier AndNonce - Fscrypt
Software InoLblk32 File Cipher - Fxfs
Cipher - FxfsKey
- 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.
- Journal
XtsCipher - Cipher used for encrypting and decrypting journal mutations with AES-256-XTS and CTS.
- MutPtr
Byte Slice - A mutable view of a raw pointer byte slice, providing a safe API.
- PtrByte
Slice - A read-only view of a raw pointer byte slice, providing a safe API.
- Stream
Cipher - 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.
- Unwrapped
Key - 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.
- Wrapped
KeyBytes - A fixed length array of 48 bytes that holds an AES-256-GCM-SIV wrapped key.
Enums§
- Cipher
Holder - Encryption
Key - This specifies a single key to be used to encrypt/decrypt.
- Find
KeyResult - Journal
Cipher - KeyPurpose
- 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.
- KeyType
- Object
Type - Designates the type of object that is interacting with the Crypt protocol.
- Wrapped
Key - Wrapping
Key - The
Crypttrait below provides a mechanism to unwrap a key or set of keys. The wrapping keys can be one of these types.
Constants§
Traits§
- Cipher
- Trait defining common methods shared across all ciphers.
- Crypt
- 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.
Functions§
- key_
to_ cipher - Helper function to obtain a Cipher for a key. Uses key to interpret the meaning of the UnwrappedKey blob and then creates a cipher instance from the blob, returning it.