Skip to content
README.md 643 B
Newer Older
Stefan Schindler's avatar
Stefan Schindler committed
# 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()