Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.
/ THCrypt Public archive

C++ console application that features unique (at least I think so) symmetric key based file encryption algorithm.


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



69 Commits

Repository files navigation


C++ console application that features unique (at least I think so) symmetric key-based file encryption algorithm

  • It is possible to encrypt the file with another file (Key size was recently limited to 256 bytes, thus, only the first 256 bytes from the file are being used as a key at the moment. This is very INSECURE since different files could sometimes begin with a similar sequence of bytes. However, the SHA-256 hash of the file could and will be used as a key in the future)

  • Key can be up to 256 bytes (2048-bit) long, which is overkill. (I think 16 bytes (128-bit) is enough for almost any purpose)

  • Time complexity is O(n) and it is linearly dependent on the size of the key, but every new byte added to the key makes the brute-force attack 2^8 (256) times harder (assuming there are no other weaknesses)

  • Before encryption or decryption, lookup tables are generated if they are not present already. (Which is a compromise because it makes the whole process a tiny bit faster but adds 2 extra files to the working directory)

Command line


THCrypt <-e | -d> <key filename> <input filename> <output filename>

Encryption example:

THCrypt -e password.txt image.jpg image-enc.jpg

Decryption example:

THCrypt -d password.txt image-enc.jpg image-dec.jpg

Drag & drop

Just simply drag and drop the file onto the "THCrypt.exe". (Encrypted files will be given extension ".enc".)

Note: You should create "key.txt" file beforehand and put the key inside


(Includes 64-bit and 32-bit Windows executables, source code,, LICENSE, ROADMAP.txt and demonstration files)


The 32-bit version is currently significantly slower than the 64-bit version (fixed in the upcoming release)

I'm aware there is a possibility deleted "key.txt" could be recovered after it has been deleted from the drive This will be resolved in the future alongside many other things. (Check the roadmap for more info)