Crypto++ is a free C++ class library of cryptographic schemes.
The library addresses the need for a comprehensive, ready-to-use collection of cryptographic algorithms by providing implementations of symmetric ciphers, hash functions, message authentication codes, public-key cryptography, and key agreement schemes. Developers can integrate these algorithms directly into their applications without building cryptographic primitives from scratch. The library organizes algorithms into logical categories—authenticated encryption, stream ciphers, block ciphers with various modes of operation, digital signatures, and elliptic curve operations—making it straightforward to select and apply the appropriate scheme for a given security requirement.
The tool suits projects requiring established cryptographic functionality in C++. It is particularly valuable for applications that need multiple algorithm options rather than a single standard, or that must maintain compatibility with legacy systems through support for obsolescent algorithms. Developers building security-sensitive applications, embedded systems, or tools that interact with diverse cryptographic standards will find the breadth of implementations useful. The library includes modern authenticated encryption schemes like ChaCha20Poly1305 and XChaCha20Poly1305 alongside classical algorithms, allowing teams to choose based on their specific performance and compatibility constraints.
Development activity shows consistent maintenance with regular updates addressing algorithm additions and refinements. The project sustains a stable codebase while incorporating new cryptographic schemes, indicating ongoing attention to both contemporary standards and backward compatibility. The inclusion of insecure or obsolescent algorithms as explicitly marked options demonstrates a deliberate design choice to support historical use cases without compromising the integrity of modern implementations.