Enigma
Enigma copied to clipboard
A Simple, Reliable and Efficient Encryption Tool
Enigma

A Simple, Reliable and Efficient UI + CLI Encryption Tool
Supported Algorithms
- :white_check_mark: AES-GCM (Recommended)
- :white_check_mark: Twofish-GCM
- :white_check_mark: TripleDES-EAX
- :white_check_mark: Blowfish-EAX
- :white_check_mark: IDEA-EAX
- :white_check_mark: ChaCha20Poly1305
Available Tools
- 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
Enigma CLI
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"
Enigma UI




Compiling
-
Clone Repository :
$ git clone https://github.com/baderouaich/Enigma.git
Windows Visual Studio 19 2022
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
Linux GNU Makefile
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
MacOS TODO (when i figure out a way to test macos on vm)
- Run
$ sudo bash ./Scripts/Gen-MacOS-XCode.sh
to generate XCode project files
License
MIT License
Features and bugs
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.