- running
dmk
CLI without arguments will start shell mode
- the old contents of the file will be shredded instead of being replaced
- Python 3.10 added to supported platforms
- the initial
content_ver
is now computed from a huge random interval with no hard boundaries
- larger
content_ver
size now allows to rewrite an entry up to 2 trillion times - the number of randomly created and deleted dummy blocks now takes into account the size of the added entry
- changed the way blocks are identified. The secret name is no longer present in the header (which partially devalued KDF and allowed you to quickly reduce the number of brute-force passwords)
- byte with format version added inside each block
- changed the size of the secret name and checksum
- random data in blocks is now encrypted (previously it was just random from
urandom
)
- Added
dummy
cli command - The number of randomly added / removed dummy blocks is now proportional to the vault size
- Replaced KDF to Argon2 (was Scrypt)
- To identify the block, we now try to decrypt and verify its header. Previously, two hashes were used for this. It was more complicated, less efficient and less reliable
- Random padding is no longer added to the beginning of the block
- Fixed
setup.py
issue: subpackages were not installing
- Replaced random sized blobs with fixed sized blocks
- The vault file is now indistinguishable from random data
-
A binary "vault" file is used instead of a directory. This is more reliable
-
Entries and fakes are stored as blobs in the vault file
-
Blob sizes are random. The size of the fakes is random. Large entries are broken into parts, small entries are padded
-
(flaw) The file stores blob sizes openly. It can be easily recognized
-
All imprints have been moved inside the files
-
The file names are now random
-
Elements are split into a random number of parts
-
Directory now stores random salt
-
The directory is indistinguishable from random data
-
The data is stored in a directory. Imprints are encoded in file names
-
Random padding is added to real data files
-
Random fake files are generated to hide the number of real ones
-
(flaw) It is easy to guess that the directory was generated by the utility: filenames have a fixed length