A digital signature implementation with Elgamal algorithm and SHA3_256 Hash function. The implementation includes a simple webpage that can be used to test the functionality of the application.
In order to run the scripts, the last python version (3.7.x) is required.
Flask need to be installed
https://flask.palletsprojects.com/en/1.1.x/installation/
The elgamal_dss.py contains the implementation of the Elgamal Digital Siganature Scheme algorithm.
The key_exchange.py contains a class for the key exchange algorithm.
The global_paramteres.py contains implementation of the cyclic group and primitive roots.
The helper.py contians helper functions for the porject.
The users.py contains two dh objects, Alice and Bob.
Alice's web server and front-end is in the folder alice.
Bob's web server and front-end is in the folder bob.
The directory alice/staticcontains the HTML and javascript file for the front-end
The directory bob/staticcontains the HTML and javascript file for the front-end
The messages folder contains files with plaintext for both Alice and Bob.
cd alice
app.py
cd bob
app.py
Log will be shown after first time Alice or Bob sends request.