{"id":16382732,"url":"https://github.com/baderouaich/enigma","last_synced_at":"2025-06-25T03:37:51.403Z","repository":{"id":54884730,"uuid":"312896689","full_name":"baderouaich/Enigma","owner":"baderouaich","description":"A Simple, Reliable and Efficient Encryption Tool","archived":false,"fork":false,"pushed_at":"2025-03-11T03:05:04.000Z","size":76387,"stargazers_count":33,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-11T03:19:51.273Z","etag":null,"topics":["aes","blowfish","chacha20poly1305","cmake","cpp20","cryptography","cryptopp","dear-imgui","decryption","eax","encryption","enigma","gcm","glfw3","linux","security","tools","tripledes","twofish","windows"],"latest_commit_sha":null,"homepage":"https://baderouaich.github.io/Enigma/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baderouaich.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-14T20:29:55.000Z","updated_at":"2025-03-11T03:04:38.000Z","dependencies_parsed_at":"2024-12-11T16:24:52.802Z","dependency_job_id":"ef3dc759-fea5-4c4b-b1c7-631a1275532c","html_url":"https://github.com/baderouaich/Enigma","commit_stats":{"total_commits":425,"total_committers":5,"mean_commits":85.0,"dds":0.06823529411764706,"last_synced_commit":"8e65549497adff822c7d23e3d9af26b3fff78ace"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baderouaich%2FEnigma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baderouaich%2FEnigma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baderouaich%2FEnigma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baderouaich%2FEnigma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baderouaich","download_url":"https://codeload.github.com/baderouaich/Enigma/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822310,"owners_count":20353498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","blowfish","chacha20poly1305","cmake","cpp20","cryptography","cryptopp","dear-imgui","decryption","eax","encryption","enigma","gcm","glfw3","linux","security","tools","tripledes","twofish","windows"],"created_at":"2024-10-11T04:06:12.629Z","updated_at":"2025-06-25T03:37:51.390Z","avatar_url":"https://github.com/baderouaich.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enigma\n[![MIT License](https://img.shields.io/badge/license-MIT-yellow)](https://github.com/baderouaich/Enigma/blob/main/LICENSE.md)\n[![Static Analysis Status](https://github.com/baderouaich/Enigma/workflows/static-analysis/badge.svg)](https://github.com/baderouaich/Enigma/actions?workflow=static-analysis)\n[![Docs](https://codedocs.xyz/doxygen/doxygen.svg)](https://baderouaich.github.io/Enigma)\n[![Language](https://img.shields.io/badge/C++-20-blue.svg?style=flat\u0026logo=c%2B%2B)](https://img.shields.io/badge/C++-20-blue.svg?style=flat\u0026logo=c%2B%2B)\n\n\n\u003c!--LOGO--\u003e\n\u003c!-- ![Enigma](res/branding/EnigmaLogoWolf_860x869.png) --\u003e\n\u003c!-- \u003cimg src=\"res/branding/EnigmaLogoWolf_860x869.png\" width=\"330\"/\u003e --\u003e\n\u003cimg src=\"res/branding/Logo.png\" width=\"250\" /\u003e\n\n\u003c!--DESCRIOTION--\u003e\nA Simple, Reliable and Efficient Encryption Tool \u003csmall\u003e(for personal use)\u003c/small\u003e\u003cbr\u003e\n\u003c!--\nBuilt to solve 3 problems i had:\n- huge personnel files take too much space in storage clouds \u003cstrong\u003e(Solved by Compression)\u003c/strong\u003e\n- if someone accessed my storage's account, you know. \u003cstrong\u003e(Solved by Encryption)\u003c/strong\u003e\n- just can't trust other programs to do the above two for me plus Enigma is a cool name to waste (in memory of Alan Turing)\n--\u003e\n\n### CI Status\n\n| Operating system          | Build status                                                                                                                                                                                                            |\n|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Ubuntu GCC (x64)          | [![Ubuntu](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-ubuntu-gcc.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-ubuntu-gcc.yml)                    |\n| Ubuntu GCC Tests (x64)    | [![Ubuntu](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-ubuntu-gcc-tests.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-ubuntu-gcc-tests.yml)        |\n| Ubuntu Clang (x64)        | [![Ubuntu](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-ubuntu-clang.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-ubuntu-clang.yml)                |\n| Ubuntu Clang Tests (x64)  | [![Ubuntu](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-ubuntu-clang-tests.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-ubuntu-clang-tests.yml)    |\n| Windows MinGW (x64)       | [![Windows](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-windows-mingw.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-windows-mingw.yml)             |\n| Windows MinGW Tests (x64) | [![Windows](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-windows-mingw-tests.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-windows-mingw-tests.yml) |\n| Windows MSVC (x64)        | [![Windows](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-windows-msvc.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-windows-msvc.yml)               |\n| Windows MSVC Tests (x64)  | [![Windows](https://img.shields.io/github/actions/workflow/status/baderouaich/Enigma/build-windows-msvc-tests.yml?branch=main)](https://github.com/baderouaich/Enigma/actions/workflows/build-windows-msvc-tests.yml)   |\n\n## Supported Encryption Algorithms\n\u003e \u003csmall\u003eAsymmetric\u003c/small\u003e\n- :white_check_mark: \u003cstrong\u003eRSA-OAEP-SHA256\u003c/strong\u003e\n\n\u003e \u003csmall\u003eSymmetric [Authenticated Encryption](https://www.cryptopp.com/wiki/Authenticated_Encryption)\u003c/small\u003e\n- :white_check_mark: \u003cstrong\u003eAES-GCM\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eChaCha20Poly1305\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eCamellia-GCM\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eSerpent-GCM\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eTwofish-GCM\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eIDEA-EAX\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eBlowfish-EAX\u003c/strong\u003e\n- :white_check_mark: \u003cstrong\u003eTripleDES-EAX\u003c/strong\u003e\n\n## Extra Tools\n- Strong Password Generator\n- Hashing Algorithms (`MD2`, `MD4`, `MD5`,\n`SHA1`, `SHA224`, `SHA256`, `SHA384`, `SHA512`,\n`SHAKE128`, `SHAKE256`,\n`KECCAK224`, `KECCAK256`, `KECCAK384`, `KECCAK512`,\n`RIPEMD128`,`RIPEMD160`,`RIPEMD256`,`RIPEMD320`,\n`TIGER`, `WHIRLPOOL`, `SM3`)\n- XOR Encryption \u003csmall\u003efor nerds\u003c/small\u003e\n- System \u0026 Hardware Information (`CPU`, `RAM`, `GPU`, `OS`, `Kernel`...)\n\n\u003c!--\n## Features\n- :zap: Very fast Encryption \u0026 Decryption\n- :hammer_and_wrench: Useful tools like Password Generator, Hashing and System \u0026 Hardware Information\n- :computer: User Interface \u0026 Command-Line Interface support\n- :shield: Strongest Encryption Algorithms of the Decade\n- :package: GZip Compression by default to reduce cipher size if sharing or uploading files to clouds\n- :briefcase: SQLite3 Database system to save, import and export encryption records\n- :octocat: Open Source of course!\n--\u003e\n\n\u003c!--- :detective: Auto-detect algorithm used for encryption (no need to keep remembering which algorithm you used, just remember your password, and store cipher base64-text or encrypted file somewhere preferably clouds)--\u003e\n\n\u003c!--\n## NOTES\n- Encryption passwords are NOT saved into the database.\n- Import/Export your database by copying or replacing database file `Enigma.db` located in `./res/database/`\n--\u003e\n\n## UI\n- Main Menu\n![Main-Menu-Demo](https://github.com/user-attachments/assets/14ec29fb-6c23-4bed-8a3f-8e8089cb5b84)\n- Straight forward\n ![Straightforward](https://github.com/user-attachments/assets/fe8e2320-d89f-4185-b3c2-c371d5898107)\n- Supports the strongest encryption algorithms\n![Supports-Strongest-Encryption-Algorithms](https://github.com/user-attachments/assets/56e14297-dffb-4a8f-a546-41f188d8af2d)\n- Save Encryptions to a local database (an SQLite3 database which you can export/import)\n![My-Encryptions-Demo](https://github.com/user-attachments/assets/30e23abf-9a94-478d-94fd-521ccc13fd2a)\n- Extra Utilities\n![Tools-Demo](https://github.com/user-attachments/assets/b3f96607-d94a-47eb-8288-793b319e6e24)\n\n\n### Compiling \u0026 Installing\n### Linux\n```bash\ngit clone https://github.com/baderouaich/Enigma\ncd Enigma\n# on Linux, run install_sys_deps.sh to install system libraries (X11, wayland..)\nbash install_sys_deps.sh\nmkdir build \u0026\u0026 cd build\ncmake .. -G\"Unix Makefiles\" -DCMAKE_BUILD_TYPE=Release\nmake install -j$(nproc)\n```\n### Windows\n```batch\ngit clone https://github.com/baderouaich/Enigma\ncd Enigma\nmkdir build \u0026\u0026 cd build\ncmake .. -G\"Visual Studio 17 2022\" -A x64 -DCMAKE_BUILD_TYPE=Release\nmsbuild Enigma.sln -property:Configuration=Release,MultiProcessorCompilation=true -maxCpuCount -verbosity:minimal -noLogo\n```\n\n\u003e [!TIP]\n\u003e Export a backup of your encryptions database occasionally from menu **File** -\u003e **Export** and save it somewhere (e.g, clouds like Google Drive).\n\n\u003e [!NOTE]\n\u003e Backed-up databases do not store any passwords, all data (text \u0026 files) are stored as encrypted ciphers (you can see that using tools like [sqlite3 browser](https://sqlitebrowser.org)), which means, even if your backup is compromised, no one can decrypt your data without the encryption password.\n\n\n\u003c!--- No `sudo` or `Administrator` privileges are needed for installation.--\u003e\n\u003c!--- All Enigma files will be installed to `/home/$(whoami)/Enigma/` (**Linux**) |  `C:\\Program Files\\Enigma\\` (**Windows**)\n- To uninstall simply remove the installed `Enigma/` directory. Please make sure you export your encryptions from menu `File -\u003e Export`before removing the directory.\n--\u003e\n\u003c!--\n## Compiling\n- \u003ci\u003eClone Repository\u003c/i\u003e : `$ git clone https://github.com/baderouaich/Enigma.git`\u003cbr\u003e\n\n### Windows Visual Studio 19 2022\n- Extract premake5 binary in `./Premake/Windows/premake-5.0.0-beta1-windows.zip`\u003cbr\u003e\n- Run `./Scripts/Gen-Windows-vs2019.bat` to generate Visual Studio 16 2019 project solution files\n- Open Enigma.sln and Change configuration to Release or Dist\n- Build \u0026 Run Solution\n\n\n### Linux GNU Makefile \n\u003e Bellow steps are equivelent to running script `sudo bash ./Scripts/Linux-Build-Release.sh`\n - Install latest c++ compiler (gcc or clang)\u003cbr\u003e\n  `$ sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa`\u003cbr\u003e\n  `$ sudo apt update`\u003cbr\u003e\n  gcc: `$ sudo apt install gcc-12 g++-12` or clang: `$ sudo apt install clang-14 clang++-14`\u003cbr\u003e\n - Install necessary libs (opengl, x11, ...)\u003cbr\u003e\n  `$ sudo apt install libgl1-mesa-dev libxi-dev libx11-dev libxcursor-dev libxrandr-dev libxcomposite-dev libxinerama-dev libtbb-dev`\n - Extract premake5 binary\u003cbr\u003e\n  `$ tar xvzf ./Premake/Linux/premake-5.0.0-beta1-linux.tar.gz -C ./Premake/Linux/`\n - Run `$ sudo bash ./Scripts/Gen-Linux-Makefile.sh` to generate project Makefiles\n - 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)` \u003cbr\u003e \n - Run Enigma Binary `$ ./Bin/Release-linux-x86_64/Enigma/Enigma`\n\n### MacOS TODO (when i figure out a way to test macos on vm)\n- Run `$ sudo bash ./Scripts/Gen-MacOS-XCode.sh` to generate XCode project files\u003cbr\u003e \n\n\n --\u003e\n\n## License\n[MIT License](LICENSE.md)\n\n\n## Features and bugs\n\nIf you face any problems feel free to open an issue at the [issue tracker][tracker]. If you feel the program is missing a feature, please raise a ticket on Github. Pull requests are also welcome.\n\n[tracker]: https://github.com/baderouaich/Enigma/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaderouaich%2Fenigma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaderouaich%2Fenigma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaderouaich%2Fenigma/lists"}