Modern Cryptography
for C++
Actively maintained fork of Crypto++ with modern algorithms,
better organisation, and regular security updates.
Why cryptopp-modern?
🔐 Modern Algorithms
Post-quantum cryptography (ML-KEM, ML-DSA, SLH-DSA), BLAKE3 hash function, and Argon2 password hashing (RFC 9106) - algorithms designed for today’s security requirements.
🔄 Active Maintenance
Regular releases with security patches. Calendar versioning (2026.3.0) for clear release tracking.
📦 Drop-in Compatible
Full backward compatibility with Crypto++ 8.9.0. Same namespace, same APIs. Easy migration.
🏗️ Better Organisation
Source files organised in categorised directories. Easier to navigate and understand.
✅ Thoroughly Tested
45+ build configurations across Windows, Linux, and macOS. Sanitizer testing for memory safety.
🆓 Free & Open Source
Boost Software License 1.0. All code is public. No restrictions on commercial use.
Quick Example
#include <cryptopp/blake3.h>
#include <cryptopp/hex.h>
#include <iostream>
int main() {
CryptoPP::BLAKE3 hash;
std::string message = "Hello, cryptopp-modern!";
std::string digest;
CryptoPP::StringSource(message, true,
new CryptoPP::HashFilter(hash,
new CryptoPP::HexEncoder(
new CryptoPP::StringSink(digest))));
std::cout << "BLAKE3: " << digest << std::endl;
return 0;
}What’s New in 2026.3.0
- ML-KEM (FIPS 203) - Post-quantum key encapsulation mechanism (ML-KEM-512, ML-KEM-768, ML-KEM-1024)
- ML-DSA (FIPS 204) - Post-quantum digital signatures (ML-DSA-44, ML-DSA-65, ML-DSA-87)
- SLH-DSA (FIPS 205) - Stateless hash-based digital signatures (all 12 parameter sets)
- X-Wing - Hybrid KEM combining ML-KEM-768 and X25519