Sto cercando un'implementazione C / C ++ di RSA con una chiave da 2048 bit (preferibilmente letta da un file). Il mio obiettivo è una piattaforma integrata, quindi presenta alcune strane restrizioni. L'hardware ci impedisce di utilizzare il nuovo operatore e dobbiamo utilizzare una versione speciale di malloc fornita dal produttore dell'hardware chiamata "umalloc". Se necessario, posso scavare nella fonte e sostituire le chiamate di malloc a mano, ma vorrei evitarlo. La soluzione ideale sarebbe quella di trovare una libreria in grado di eseguire la crittografia RSA ma senza utilizzare eccezioni né allocazioni dinamiche.
Ho fatto ricerche su questo per circa una settimana e mi sono imbattuto in diverse librerie nei vari siti web di stackexchange. Vedi qui e stackoverflow.com/questions/3592754/are-there-any-very-simple-rsa-implementation-in-c">here. Volevo riaprire questa domanda poiché la maggior parte delle domande che ho trovato avevano diversi anni.
Fin qui ci sono le seguenti librerie che ho trovato
- OpenSSL: opzione più popolare. Visto come voglio JUST fare la crittografia RSA, OpenSSL sembra eccessivo. Inoltre, sostituire malloc nella sorgente sembra essere troppo impegnativo.
- LibreSSL: versione OpenBSD. Se non avessi una delle restrizioni sopra, sarei andato con questo.
- crypto ++: libreria C ++, ma usa eccezioni. Non posso usare.
- axTLS: sembra molto leggero, e sto studiando questa libreria in questo momento. Ho faticato a capire come leggere una chiave pubblica nella sua interfaccia però.
- libcrypto: ho appena scoperto questa libreria poche ore fa. Attualmente indagando.
Idealmente, quello che spero è di inserire solo pochi file e usare solo una manciata di funzioni per andare avanti. Ci sono librerie oltre a quelle che ho elencato che possono fare la crittografia RSA-2048 e farlo senza usare eccezioni o allocazione dinamica della memoria? Grazie