• Switch to .NET 6 once it is fully released.
  • Review some of the code again to remove unnecessary methods, classes, and comments. This will help make the code more readable and reduce the line count.
  • Export the public key to a .public file if one doesn't exist when using -r|--recover.​
  • Support sigining each file in a directory?​
  • Display a different error message when a private key file does not exist to when it does not have a valid extension. The same may be required for public keys.​
  • Go through all the error messages again to make them as informative as possible.​


  • Fixed a bug when encrypting/decrypting 0 byte files (please see #27).
  • Fixed a bug related to renaming duplicated files (please see #28).
  • Added a 'Deriving encryption key from the password...' message to explain the key derivation delay.
  • Added 'Encrypting [file] => [file.kryptor]...' and 'Decrypting [file.kryptor] => [file]...' messages to indicate that Kryptor is doing something rather than frozen when encrypting/decrypting large files.
  • Added 'Commencing encryption of [directory] directory...' and 'Commencing decryption of [directory] directory...' messages to help separate the folder encryption output from the file encryption output.
  • Now displaying the name of randomly generated keyfiles.
  • The -s|--sign and -v|--verify validation has been improved.
  • Fixed an UnauthorizedAccessException when trying to randomly generate a keyfile to a path where a keyfile by that name already exists.
  • Various code improvements, although there is still lots to go through. More code improvements will be coming in the next release.


  • Validation for file paths now happens before being asked to enter a password.
  • Added empty directory validation.
  • Added a validation check for a salt file when encrypting directories.
  • Added a validation check for a salt file when decrypting directories using a private key.
  • The total number of files count is no longer reduced when a file is invalid (e.g. already encrypted).​
  • Removed error logging. It is not needed, and the log file never got shared in bug reports.
  • Added a private key encryption example to -h|--help to clarify that you do not need to specify your public key when encrypting files for yourself.
  • Simplified the examples in -h|--help.
  • Reworded several error messages.


  • Fixed the UnauthorizedAccessException when overwriting read-only files.
  • Fixed the UnauthorizedAccessException when storing the file name if the file is read-only.
  • Restore the -o|--overwrite setting if an exception occurs during directory encryption.
  • Display the copied/backup directory name when encrypting a directory without the -o|--overwrite option.
  • Rename the copied/backup directory to the original directory name if possible (if -f|--obfuscate is specified and -o|--overwrite is not). The directory cannot be renamed otherwise because two directories cannot have the same path.


  • Fixed Visual C++ runtime issues on Windows.
  • Improved -a|--about.​


  • Chunked AEAD for encryption.
  • New KEK/DEK design.
  • Fixed Argon2 parameters.
  • Faster directory encryption.
  • Authenticated hybrid file encryption.
  • Masked password entry with support for random passphrase generation.
  • File signing.
  • Separate encryption and signing asymmetric keys.
  • Private key encryption.
  • Export asymmetric key pairs.
  • Code improvements due to a rewrite.
  • New GitBook documentation.
  • No longer working on a GUI version - not enough time to work on two different versions, tricky to implement in a GUI format, not cross-platform, and more confusing for the user downloading the software.
Last modified 1mo ago