The file manager module (fman) should be an abstraction for the manipulation of the main data file: entries and cryptographic material necessary to recover them (salt, pw hash, IV, etc.). It should be as generic as possible as a "cryptographic container".
The version signature used specifically by the executable is not general enough to be in this module, and should be moved somewhere else. The decoding and encoding also should be somewhere else, as they do not concern the encrypting and decrypting, but only a binary serialization of the data.
The file manager module (
fman
) should be an abstraction for the manipulation of the main data file: entries and cryptographic material necessary to recover them (salt, pw hash, IV, etc.). It should be as generic as possible as a "cryptographic container". The version signature used specifically by the executable is not general enough to be in this module, and should be moved somewhere else. The decoding and encoding also should be somewhere else, as they do not concern the encrypting and decrypting, but only a binary serialization of the data.