
Python-Implementierung von ECDSA und ECIES mit elliptischer Kurvenkryptographie, einschließlich einer Simulation der CVE-2022-21449-Ausnutzung zu Bildungszwecken.
Dieses Projekt ermöglicht es:
Alle Dateien in diesem Ordner sind temporär und werden in einer einzigen Datei zusammengefasst
Dieses PDF enthält die Theorie, auf der dieses Projekt basiert: asymmetrische Kryptographie, Signaturen, elliptische Kurven, ECIES. Die verwendeten Quellen werden am Ende des Dokuments zitiert.
Diese Datei enthält eine kurze Erklärung zur Funktionsweise von Hash-Funktionen wie SHA‑1.
Altes README mit Details zur Funktionsweise des Codes in src/ und zu anderen wesentlichen Konzepten elliptischer Kurven.
Das Thema des Praktikums.
Dieser Teil ist für das Projekt wesentlich und implementiert die Addition zweier Punkte auf einer elliptischen Kurve über den reellen Zahlen. Auch wenn diese Version nicht zum Verschlüsseln oder Signieren verwendet wird, ist sie sehr nützlich, um einfach zu verstehen, wie die Addition zweier Punkte funktioniert.
Erforderliche Bibliotheken: numpy, matplotlib
Mit den Werkzeugen in ecc_tools und den Funktionen in ECIES können Nachrichten auf elliptischen Kurven über einem endlichen Körper verschlüsselt und entschlüsselt werden. Außerdem kann eine elliptische Kurve mit einem darauf platzierten öffentlichen Schlüssel mit der plot-Funktion visualisiert werden.
Erforderliche Bibliotheken: numpy, matplotlib, PyCryptodomex
In der Datei main.py finden sich alle Aktionen, die dieses Mal auf elliptischen Kurven über endlichen Körpern durchgeführt werden können: Verschlüsseln/Entschlüsseln, Signieren/Verifizieren und Simulieren einer Ausnutzung der CVE 2022 21449.
Erforderliche Bibliotheken: numpy, matplotlib, PyCryptodomex