Elliptic Curve Cryptography


Implementation and GUI application of EllipticCurve

Instructions on how and where to run the program.

  1. python main.py

What to expect from the program?

  1. The program uses plain text from user input to encrypt the message by mapping it into an Elliptic Curve Point and then decrypting it to the original message.
  2. The program contains two .py files main.py and eliptic_curve.py a. Main.py is where the main flow of the program goes and there is implemented key exchange algorithm by encrypting and decrypting messages b. Eliptic_cuve.py is where the class of the elliptic curve is implemented to help project our points.
  3. Please read or watch other “presentation.pdf” files to get an explanation of the logic of the program and an explanation of the decryption algorithm, encryption algorithm, and adding points on Elliptic Curves.
  4. The program is implemented by using GUI (Graphical User Interface) to make it more visual and interactive, so once you run the program GUI window should appear.
  5. Once you run the program, text any message in the raw “Message” and click “Send” button so it will stat encoding/decoding the message, and do NOT try to input the values into the other fields, since they are only for outputs. You might also clear all your inputs from all the fields by using “Clear” button at the bottom