Sto sviluppando un'applicazione Win32 e vorrei utilizzare una libreria di crittografia RSA. Quale libreria consiglieresti?Libreria di crittografia RSA per C++
risposta
Io uso la seguente libreria:
http://www.efgh.com/software/rsa.htm
È di dominio pubblico, compatto, autonomo e fa il lavorare bene.
Penso che OpenSSL sia una buona scelta. E 'ben mantenuto, e il prezzo è giusto :)
Se stai usando Win32, perché non è sufficiente utilizzare il cripto-API built-in win32?
Ecco un piccolo esempio di come funziona in pratica:
http://www.codeproject.com/KB/security/EncryptionCryptoAPI.aspx
Non sembra essere C++ per uno. – dvorak
L'API Win è in C, che è immediatamente utilizzabile in un programma C++. – KTC
Sì. Se preferisci un'interfaccia C++, scrivici attorno a te un wrapper. Può essere comunque una buona idea solo nel caso in cui successivamente si desideri modificare l'API. –
In alternativa, prendere in considerazione LibTomCrypt (http://libtomcrypt.com/download.html)
È scritta in C ed è immediatamente utilizzabile in un programma C++. – KTC
Crypto++ - Hanno dll convalidati da NIST FIPS per MSVC 6, 7.1 e 8 in aggiunta ai normali pacchetti compilati dal codice sorgente.
non c'è dubbio per me, il sigillo di approvazione NIST significa molto. La crittografia non è una di quelle cose con cui vuoi scherzare: devi essere certo che sia implementata correttamente e non abbia buchi di sicurezza. –
Un'altra alternativa è libbeecrypt. Un prodotto molto maturo con implementazioni assembler su molte piattaforme.
Ho usato OpenSSL in passato e l'ho trovato un'ottima libreria per le API crittografiche tra cui AES, RSA, 3DES.
Forse Botan è un'alternativa? È una libreria C++ con una licenza BSD che supporta gli algoritmi RSA.
Consiglierei la libreria Miracl https://certivox.com/solutions/miracl-crypto-sdk/ ma il prezzo è elevato.
Questa libreria non utilizza il riempimento. Questa è un'omissione significativa. – Accipitridae
È vero, l'ho migliorato aggiungendolo. Il problema è che ho perso il codice :(.Non era "troppo difficile da aggiungere però ... – Zombies
Utilizza gli intes 16-bit come elementi primitivi. Probabilmente è piuttosto lento sull'hardware moderno. Inoltre, se ho capito bene, usa un'implementazione ingenua per l'operazione pow/mod. Gli algoritmi più veloci esistono ... –