
Progetto Python educativo che implementa la crittografia a curve ellittiche (ECDSA, ECIES) e simula lo sfruttamento di CVE-2022-21449, con visualizzazioni e documentazione.
Questo progetto permette di:
Tutti i file in questa cartella sono temporanei e verranno raccolti in un file unico
Questo pdf contiene la teoria su cui si basa questo progetto: crittografia asimmetrica, firme, curve ellittiche, ECIES. Le fonti utilizzate sono citate alla fine del documento.
Questo file contiene una breve spiegazione sul funzionamento di funzioni di hash come SHA 1.
Vecchio README contenente dettagli sul funzionamento del codice in src/ e su altri concetti essenziali sulle curve ellittiche.
Il tema del tirocinio.
Questa parte è essenziale per il progetto e implementa l'addizione di due punti su una curva ellittica nel campo dei numeri reali. Anche se questa versione non è utilizzata per crittografare o firmare, è molto utile per capire semplicemente come funziona l'addizione di due punti.
Librerie richieste: numpy, matplotlib
Grazie agli strumenti in ecc_tools e le funzioni in ECIES, è possibile crittografare e decrittografare messaggi su curve ellittiche su un corpo finito. Si può anche visualizzare una curva ellittica con una chiave pubblica posizionata sopra grazie alla funzione plot.
Librerie richieste: numpy, matplotlib, PyCryptodomex
Nel file main.py si trovano tutte le azioni che si possono fare questa volta su curve ellittiche a corpo finito: crittografare/decrittografare, firmare/verificare e simulare uno sfruttamento della CVE 2022 21449.
Librerie richieste: numpy, matplotlib, PyCryptodomex