A Simple, Reliable and Efficient UI + CLI Encryption Tool
- ✅ AES-GCM (Recommended)
- ✅ Twofish-GCM
- ✅ TripleDES-EAX
- ✅ Blowfish-EAX
- ✅ IDEA-EAX
- ✅ ChaCha20Poly1305
- Password Generator
- Hashing Algorithms (MD2, MD4, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, SHAKE128, SHAKE256, KECCAK224, KECCAK256, KECCAK384, KECCAK512, TIGER, WHIRLPOOL)
- XOR Encryption
- System & Hardware Information
Usage:
Enigma [OPTION...]
-e, --encrypt Encrypt operation
-d, --decrypt Decrypt operation
-a, --algorithm [AES, Twofish, TripleDES, Blowfish, IDEA, ChaCha20] Encryption/Decryption algorithm (default: AES)
-p, --password arg Encryption password
-t, --text arg Text to Encrypt or Decrypt (base64)
-i, --infile arg Input File to Encrypt/Decrypt
-o, --outfile arg Output File to Encrypt/Decrypt
-s, --save Save encryption record to database
-l, --list List saved encryption records from database
-h, --help Displays help message
-v, --version Displays Enigma's version
--check-for-updates Check for new version releases
- Example encypting a text with AES-GCM:
$ ./Enigma --encrypt --algorithm=aes --password="My@pa$$W0rd" --text="my important data securly encrypted!"
output: AaxsjxUSbOmTIjmT90WrYlqg7I7dFY7e+OqPaX20DusVnBLpkg4LW0f/fWpKES8gzFb1SrglpVt0goGfijzVHx+ULjuT
- Example decrypting a text with AES-GCM:
$ ./Enigma -d -p "My@pa$$W0rd" -t "AaxsjxUSbOmTIjmT90WrYlqg7I7dFY7e+OqPaX20DusVnBLpkg4LW0f/fWpKES8gzFb1SrglpVt0goGfijzVHx+ULjuT"
output: my important data securly encrypted!
- Example encypting a file with AES-GCM:
$ ./Enigma -e -a AES --password "My@pa$$W0rd" --infile="/home/user/Desktop/Data.txt" --outfile="/home/user/Desktop/Data_encrypted.txt.enigma"
- Example decypting a file with AES-GCM:
$ ./Enigma --decrypt --password="My@pa$$W0rd" --infile="/home/user/Desktop/Data_encrypted.txt.enigma" --outfile="/home/user/Desktop/Data_decrypted.txt"
- Clone Repository :
$ git clone https://github.com/baderouaich/Enigma.git
Bellow steps are equivelent to running script
./Scripts/Windows-Build-Release.bat
- Extract premake5 binary in
./Premake/Windows/premake-5.0.0-beta1-windows.zip
- Run
./Scripts/Gen-Windows-vs2019.bat
to generate Visual Studio 16 2019 project solution files - Open Enigma.sln and Change configuration to Release or Dist
- Build & Run Solution
Bellow steps are equivelent to running script
sudo bash ./Scripts/Linux-Build-Release.sh
- Install latest c++ compiler (gcc or clang)
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
$ sudo apt update
gcc:$ sudo apt install gcc-12 g++-12
or clang:$ sudo apt install clang-14 clang++-14
- Install necessary libs (opengl, x11, ...)
$ sudo apt install libgl1-mesa-dev libxi-dev libx11-dev libxcursor-dev libxrandr-dev libxcomposite-dev libxinerama-dev libtbb-dev
- Extract premake5 binary
$ tar xvzf ./Premake/Linux/premake-5.0.0-beta1-linux.tar.gz -C ./Premake/Linux/
- Run
$ sudo bash ./Scripts/Gen-Linux-Makefile.sh
to generate project Makefiles - Compile with gcc:
$ make config=release CC=gcc-12 CPP=g++-12 -j$(nproc)
or clang:$ make config=release CC=clang-14 CPP=clang++-14 -j$(nproc)
- Run Enigma Binary
$ ./Bin/Release-linux-x86_64/Enigma/Enigma
- Run
$ sudo bash ./Scripts/Gen-MacOS-XCode.sh
to generate XCode project files
If you face any problems feel free to open an issue at the issue tracker. If you feel the program is missing a feature, please raise a ticket on Github. Pull requests are also welcome.