
Implémentation Python de l'ECDSA et de l'ECIES avec la cryptographie à courbe elliptique, incluant une simulation de l'exploitation de CVE-2022-21449 à des fins éducatives.
Ce projet permet de :
Tout les fichiers dans ce dossier sont temporaires et seront rassemblés dans un fichier unique
Ce pdf contient la théorie sur laquelle se base ce projet: cryptographie asymétrique, signatures, courbes elliptques, ECIES.Les sources utilisées sont citées à la fin du document.
Ce fichier contient une brève explication sur le fonctionnement de fonctions de hachage tel que SHA 1.
Ancien README contenant des détails sur le fonctionement du code dans src/ et sur d'autres notions éssentielles sur les courbes elliptiques.
Le sujet du stage.
Cette partie est essentielle pour le projet et implémente l'addition de deux points sur une courbe elliptique sur le corps des réels. Même si cette version n'est pas utilisé pour crypter ou signer, elle est très utile pour comprendre simplement comment fonctionne l'addition de deux points.
Librairies requises: numpy, matplotlib
Grâce aux outils dans ecc_tools et les fonction dans ECIES, on peut crypter et décrypter des messages sur des courbes elliptques sur un corps fini. On peut aussi visualiser une courbe elliptique avec une clé publique placée dessus grâce à la fonction plot.
Librairies requises: numpy, matplotlib, PyCryptodomex
On retrouve dans le fichier main.py de fichier toutes les actions que l'on peut faire cette fois ci sur des courbes elliptiques à corps fini: crypter/décrypter, signer/vérifier et simuler une exploitation de la CVE 2022 21449.
Librairies requises: numpy, matplotlib, PyCryptodomex