Crypto++ is a comprehensive C++ cryptographic library that implements a broad range of algorithms for symmetric and asymmetric encryption, hashing, and digital signatures. It is designed as a portable toolkit, usable across different operating systems without modification.
The library distinguishes itself through its architecture: cryptographic parameters such as key size and mode are configured at compile time via C++ templates, eliminating runtime overhead. Algorithms are registered in a static factory for runtime lookup, while data processing follows a pipeline model of composable sources, filters, and sinks. Memory management is handled with secure allocation and automatic wiping to prevent leakage of sensitive data.
Crypto++ covers authenticated encryption (GCM, CCM), key exchange protocols (Diffie-Hellman, ECDH), and hash-based integrity checking (HMAC, message digests). It also provides facilities for digital signature verification and secure data encryption in both symmetric and asymmetric settings.