
Educational Python project implementing elliptic curve cryptography (ECDSA, ECIES) and simulating exploitation of CVE-2022-21449, with visualizations and documentation.
This project allows you to:
All files in this folder are temporary and will be gathered into a single file
This pdf contains the theory on which this project is based: asymmetric cryptography, signatures, elliptic curves, ECIES. The sources used are cited at the end of the document.
This file contains a brief explanation of how hash functions such as SHA 1 work.
Old README containing details on the operation of the code in src/ and on other essential notions about elliptic curves.
The internship subject.
This part is essential for the project and implements the addition of two points on an elliptic curve over the real numbers. Even if this version is not used for encryption or signing, it is very useful for understanding simply how the addition of two points works.
Required libraries: numpy, matplotlib
Using the tools in ecc_tools and the functions in ECIES, we can encrypt and decrypt messages on elliptic curves over a finite field. We can also visualize an elliptic curve with a public key placed on it thanks to the plot function.
Required libraries: numpy, matplotlib, PyCryptodomex
In the main.py file of this folder we find all the actions that can be performed this time on elliptic curves over finite fields: encrypt/decrypt, sign/verify and simulate an exploitation of CVE 2022 21449.
Required libraries: numpy, matplotlib, PyCryptodomex