github.com/aegistudio/hologram (go): Package hologram implements the simple encrypted filesystem.  The filesystem is specified a block cipher which is used to encrypt the subcipher of the filesystem. The subcipher is then used to encrypt the file names and data. The path of each file is taken into consideration while generating nonce.  Thanks to the CTR mode, the size of each files is the same size as their plain text one, and supports random access.  For nonce generation, a crypto random nonce will be generated for encrypting the cipher, while file names will have their corresponding nonce generated in a deterministic process. The file will be encrypted by their file names, which means each file must be re-encrypted when it is renamed.
Keywords: encryption-tool|filesystem|golang|secure-storage