Skip to main content

Module vault

Module vault 

Source
Expand description

Version-erased reading of shadow files across all format versions. Version-erased reading of shadow files.

[ParsedFile] is the single entry point for reading a shadow file of any format version: it sniffs the version byte, parses with the matching version module, and dispatches every subsequent operation (key derivation, content decryption, filename decryption) to that version’s own self-contained implementation. Callers never see which version they are handling unless they ask.

This module is the one place that knows about all format versions. It keeps the versions independent of each other: v1 and v2 still share no code — this module sits above both.

Key derivation is split out on purpose: [ParsedFile::kdf_request] surfaces the header’s (untrusted) KDF parameters so the caller can validate and budget them before running [ParsedFile::derive_key].

Structs§

ContentDecryptor
Incremental decryption of one file’s content, fed by the caller.
KdfRequest
The (untrusted) key derivation inputs a file’s header asks for, independent of format version.
ParsedFile
A parsed shadow file of any format version.

Constants§

MAX_HEADER_LEN
Upper bound on the serialized header size of any format version.