What is the best encryption library in C/C++ In terms of:
- entropy
- quality
- ease of use
- readability
- portability
- performance
What's your favorite and why do you like it?
What is the best encryption library in C/C++ In terms of:
What's your favorite and why do you like it?
We've used OpenSSL with good success. Portable, standards compliant and easy to use.
I'm gonna have to go with LibTomCrypt. It's often overlooked for OpenSSL, but TomCrypt is just so lightweight and simple. As for quality, TomCrypt is widely accepted as top-quality encryption. Also, it's license is public domain which avoids the attribution hassle for your documentation that BSD licenses give you when writing commercial software.
My favorite is GNU's library:
[Libgcrypt][1]
It's performance is good, and its used EVERYWHERE so it's very well tested.
The C++ version isn't out yet but goolge KeyCzar http://code.google.com/p/keyczar/ might be worth looking at. Whatever you feel about their business they do have a lot of smart programmers working for them.
I've used CryptoPP in the past (http://www.cryptopp.com/) and although its API style and programming paradigms take a little getting used to, I liked it in the end. It provides a wide range of symmetric and asymmetric algorithms with much flexibility. Documentation is so-so, the API docs are there but there's little 'high-level' overview and simple sample code. I ended up puzzling together pieces of code from around the net. It was easy to integrate into my project (linked statically). I'm using MSVC - 2003 when I started using it, now switched to 2008. It's portable across several platforms (check out the website). I've always used the default RNG, don't know which one that is.