Modern Cryptography 
for C++

Actively maintained fork of Crypto++ with modern algorithms, 
better organisation, and regular security updates.

Why cryptopp-modern?

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.2.0

  • CVE-2024-28285 Fix - Hardened hybrid DL decryption (ElGamal, ECIES, DLIES) against fault injection
  • No-Write-on-Failure - Plaintext buffer untouched unless decryption succeeds
  • Blinded Verification - Detects faulted key-agreement computations before releasing plaintext

See Security.md for the full advisory.

View Full Changelog →