Newer
Older
# encrypted_filesystem_storage
* [ ] Store the metadata encrypted as well
* [ ] Store files in a folder
* [ ] Store minimal metadata
## Storage Layout
* `/encfsstorage.superblock` unencrypted messagepack: Vec<StoredKey>
* `/metadata.index` encrypted messagepack: Vec<FileEntry>
* `/blocks/${uuid}` encrypted messagepack: Block
## Important structs
* StoredKey
* Stores the main key encrypted with one decryption key
* FileEntry
* pathname: String <- can contain `/`
* file size: usize
* start block: uuid/u128
* Block
* data: raw unencrypted data
* Option<next>: uuid/u128
* Option<padding>: 4KB - data.len()