views:

5437

answers:

8

Hello I am developing a win32 application and I would like to use an RSA encryption library. What Library would you reccomend?

+8  A: 

I think OpenSSL is a good choice. It's well-maintained, and the price is right :)

http://www.openssl.org

Mike G.
Do keep in mind that OpenSSL is not GPL compatible.
Leon Timmermans
It's also not C++
dvorak
It's written in C, and is immediately usable within a C++ program.
KTC
+9  A: 

If you're using Win32, why don't you simply use the built-in win32 crypto-API?

Here's a little example how it works in practice:

http://www.codeproject.com/KB/security/EncryptionCryptoAPI.aspx

Nils Pipenbrinck
It doesn't appear to be C++ for one.
dvorak
The Win API is in C, which is immediately usable within a C++ program.
KTC
Yep. If you favor a C++ interface, write yourself a wrapper around it. May be a good idea anyways just in case you later want to change the API.
Nils Pipenbrinck
+3  A: 

As an alternative, consider LibTomCrypt (http://libtomcrypt.com/download.html)

Eli Bendersky
It's written in C, and is immediately usable within a C++ program.
KTC
+2  A: 

I use the following library:

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

It's public domain, compact, self contained, and does the work well.

Andrei Belogortseff
This library does not use padding. That is a significant omission.
Accipitridae
True that, I did improve it though by adding that. Problem is, I lost the code :(. It wasn't' too difficult to add though...
Zombies
+7  A: 

Crypto++ - They have NIST FIPS validated dll's for MSVC 6, 7.1, and 8 on top of the normal source code self built packages.

KTC
Jason S
+1  A: 

Another alternative is libbeecrypt. A very mature product with assembler implementations on many platforms.

ceretullis
A: 

I have used OpenSSL in past and found it a great library for crypto APIs including AES, RSA, 3DES.

+2  A: 

Maybe Botan is an alternative? It is a C++ library with a BSD license that supports RSA algorithms.

FeatureCreep