2008-09-20 14 views

risposta

5

Io uso la seguente libreria:

http://www.efgh.com/software/rsa.htm

È di dominio pubblico, compatto, autonomo e fa il lavorare bene.

+9

Questa libreria non utilizza il riempimento. Questa è un'omissione significativa. – Accipitridae

+0

È vero, l'ho migliorato aggiungendolo. Il problema è che ho perso il codice :(.Non era "troppo difficile da aggiungere però ... – Zombies

+1

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 ... –

12

Penso che OpenSSL sia una buona scelta. E 'ben mantenuto, e il prezzo è giusto :)

http://www.openssl.org

+0

Ricorda che OpenSSL non è compatibile con GPL. –

+0

Non è anche C++ – dvorak

+4

È scritto in C ed è immediatamente utilizzabile in un programma C++. – KTC

25

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

+0

Non sembra essere C++ per uno. – dvorak

+2

L'API Win è in C, che è immediatamente utilizzabile in un programma C++. – KTC

+0

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. –

17

Crypto++ - Hanno dll convalidati da NIST FIPS per MSVC 6, 7.1 e 8 in aggiunta ai normali pacchetti compilati dal codice sorgente.

+2

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. –

4

Un'altra alternativa è libbeecrypt. Un prodotto molto maturo con implementazioni assembler su molte piattaforme.

1

Ho usato OpenSSL in passato e l'ho trovato un'ottima libreria per le API crittografiche tra cui AES, RSA, 3DES.

6

Forse Botan è un'alternativa? È una libreria C++ con una licenza BSD che supporta gli algoritmi RSA.

Problemi correlati