![Logo](images/logo.jpg)
Deployed Project: https://enigma-crypto.herokuapp.com
Note: The project is currently offline due to because heroku free tier no longer exists.
Enigma supports the following cryptsystems:
Classic ciphers
The following ciphers are implemented for text encryption only:
- Shift cipher
- Affine cipher
- Substitution cipher
- Hill cipher
- Permutation cipher
- Vigenere cipher
Block ciphers
The following cipher are implemented for image encyption:
- Triples DES
- AES
- Simplified DES(text only)
Public ciphers
The following ciphers are implemented for text encryption only:
- RSA
- Rabin
- ElGamal (Discrete Logarithm)
- ElGamal (Eliptic Curve)
This app is deployed on website, however if you want to deploy it in your local machine you need to:
- Install Node >= 16.* and NPM Download
To begin, install Angular-CLI with npm using the following command:
npm install -g @angular/cli
Next, please follow the next steps to install the requirements
:
# We assume you are in the root folder of the repo
cd backend
# It's recommended to do the following command inside a virtual environment
pip install -r requirements.txt
Set the FLASK_APP environment variable:
(Unix/Mac) export FLASK_APP=colossus
(Windows) set FLASK_APP=colossus
(Powershell) $env:FLASK_APP="colossus"
- Run the application backend locally:
flask run
Now for the frontend:
# We assume you are in the root folder of the repo
cd frontend
npm install
ng serve
Now you can go to http://localhost:4200
and test the app.
You can easily run the project using the provided Dockerfile.
Run:
# /path/to/enigma
docker build -t enigma .
docker run -it -v /path/to/enigma:/home/user/enigma -p 4200:4200 -p 5000:5000 enigma /bin/bash
user@dockerid:~$ cd enigma/backend python3 -m flask run -h 0.0.0.0
user@dockerid:~$ cd ../frontend && npm install && ng serve --host 0.0.0.0
Now you can go to http://localhost:4200
and test the app.