File Encryptor-Decryptor
A C++ tool for securing files using a custom PIN-based encryption mechanism. Designed for Linux systems.
Branches:
'main':
Modern, multi-threaded graphical interface using Qt.
'CLI':
Runs in the terminal, lightweight version.
To switch versions:
#For GUI version:
git checkout main
#For CLI version:
git checkout CLIPre-requisites:
You'll need a C++ compiler and OpenSSL libraries. You will also need Qt6 if you plan on using the GUI version.
Arch Linux:
#GUI
sudo pacman -S base-devel openssl cmake qt6-base
#CLI
sudo pacman -S base-devel openssl cmakeDebian/Debian-based:
#GUI
sudo apt install build-essential libssl-dev cmake qt6-base-dev
#CLI
sudo apt install build-essential libssl-dev cmakeCompilation:
#Inside the repository
mkdir build && cd build
cmake ..
make
#Run with ./Encryption-DecryptionUsage:
CLI:
Run the executable
Make sure to include file paths as arguments while executing
./Encryption-Decryption file1.txt file2.pngEnter your choice (1: Encrypt,2: Decrypt)
Enter your pin
GUI: Run the executable
./Encryption-DecryptionClick on the respective button to choose your option
Click on "Add Files" to add files to your queue
Enter your pin in the textbox
Click on start
Technical Details:
Algorithm: Caesar-Cipher with PIN-seeded offset.
Integrity: SHA-256 verifies file validity and pin before processing the file.
Safety: Automatic permission restoration and write-verification before deleting files.
Optimisation: Uses a 128KiB buffer to maximise cache efficiency.
Disclaimer:
Use with caution. The program performs destructive operations(deletes original after processing). Always backup critical data. This is designed for personal privacy and file obscuring, not for protecting classified data against professional cryptanalysts.