A maintained, modernized fork of Crypto++ with new algorithms and security improvements
π Website: cryptopp-modern.com
cryptopp-modern is an actively maintained fork of Crypto++ 8.9.0 featuring:
- β¨ BLAKE3 - Modern, fast cryptographic hash function
- β¨ Argon2 - RFC 9106 password hashing (Argon2d, Argon2i, Argon2id)
- π Security Patches - Marvin attack fix (CVE-2023-50979), ESIGN improvements
- π Calendar Versioning - Clear release dates (YEAR.MONTH.INCREMENT format)
- π Active Maintenance - Regular updates and improvements
- β
Drop-in Compatible - Uses same
CryptoPPnamespace
- π Complete Project Reorganization - All 204 source files organized into categorized
src/directories - β‘ BLAKE3 SIMD Acceleration - SSE4.1/AVX2/NEON parallel chunk processing (~2500 MiB/s)
- π§ Modern CMake Build System - CMake 3.20+ with presets,
find_package()support, and proper target exports - π§ Build System Updates - Updated GNUmakefile, MSVC projects, and nmake for new structure
- π¦ Backward Compatible - Flat
include/cryptopp/structure maintained for drop-in replacement - β Multi-Platform CI/CD - 50+ build configurations tested on Windows, Linux, and macOS
- π Comprehensive Documentation - CMAKE.md, GNUMAKEFILE.md, and GETTING_STARTED.md guides
cmake --preset=default
cmake --build build/default
./build/default/cryptest.exe vmake -j$(nproc)
./cryptest.exe vSee CMAKE.md or GNUMAKEFILE.md for detailed build instructions.
- cryptopp-modern.com - Full API and algorithm documentation
- GETTING_STARTED.md - Quick start guide with code examples
- CMAKE.md - CMake build system documentation
- GNUMAKEFILE.md - GNUmakefile build system documentation
- ROADMAP.md - Development roadmap and future plans
- FORK.md - Relationship to upstream Crypto++
- Readme.txt - Complete algorithm list and instructions
- Install.txt - Detailed installation guide
- License.txt - Boost Software License 1.0
Upstream Crypto++ Status:
- Last release: 8.9.0 (October 1, 2023)
- Version encoding limitation (cannot represent 8.10.0)
- Slower development pace
cryptopp-modern Goals:
- Active maintenance and regular releases
- Modern algorithm support (BLAKE3, Argon2, future: post-quantum)
- Better code organization
- Modern CMake build system
- Calendar versioning
- Community-driven development
See FORK.md for detailed explanation.
Hash Functions:
- SHA-2, SHA-3, BLAKE2b/s, BLAKE3 β
- MD5, RIPEMD, Tiger, Whirlpool, SipHash
Password Hashing / KDF:
- Argon2 (d/i/id) β RFC 9106
- PBKDF2, Scrypt, HKDF
Symmetric Encryption:
- AES, ChaCha20, Serpent, Twofish, Camellia, ARIA
- Modes: GCM, CCM, EAX, CBC, CTR, and more
Public Key Cryptography:
- RSA, DSA, ECDSA, Ed25519
- Diffie-Hellman, ECIES, ElGamal
Message Authentication:
- HMAC, CMAC, GMAC, Poly1305
See Readme.txt for complete algorithm list.
Good news: Most code works unchanged!
- All existing algorithms and APIs
- Same
CryptoPPnamespace - Version checks:
#if CRYPTOPP_VERSION >= N
- Version encoding: Now
YEAR*10000 + MONTH*100 + INCREMENT - Version parsing: Use
/10000for year,(n/100)%100for month
Example:
// Old (8.9.0)
const int major = CRYPTOPP_VERSION / 100; // Gets 8
// New (2025.11.0)
const int year = CRYPTOPP_VERSION / 10000; // Gets 2025
const int month = (CRYPTOPP_VERSION / 100) % 100; // Gets 11Contributions are welcome! Areas where you can help:
- π Bug reports and fixes
- β¨ New algorithm implementations
- π Documentation improvements
- π§ͺ Tests and test vectors
- π§ Build system enhancements
If you're migrating from Crypto++ 8.9.0 and encounter any issues, please open an issue β migration feedback is especially valuable.
Please:
- Fork the repository
- Create a feature branch
- Follow existing code style
- Add tests for new features
- Submit a pull request
Like the original Crypto++, this library uses:
- Compilation: Boost Software License 1.0
- Individual files: Public domain
See License.txt for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
cryptopp-modern builds upon the excellent work of:
- Wei Dai - Original Crypto++ creator and maintainer
- The Crypto++ team - All contributors to upstream Crypto++
- BLAKE3 team - Modern cryptographic hash design
- Argon2 team - Password hashing competition winner
Maintained by CoraleSoft