Home Page Download Manual GitHub Mediawiki Mailing lists Contributions Related links

Crypto++ 8.9

Crypto++ 8.9 was released on October 1, 2023. The 8.9 release was a minor, unplanned release. There were no CVEs and one memory error.

The 8.9 release was driven by GH #1231, and the failures of several ciphers when inString==outString. Also see GH #1231, Rabbit Produces null Keystream When inString == outString.


The download is available from the Crypto++ website. The checksums for the download are below. Release signatures can be verified using GnuPG according to Release Signing.

Mirrors for the download are below. Note that GitHub checksums on the ZIP or TAR are different because the service creates the archive from sources.

Release Notes

The release notes for Crypto++ 8.9 follows.

Bug fixes and Minor Issues

Memory Error

SIMON128 was flagged with an Asan finding on POWER8 and above. It was an off-by one, wild write. We did not receive reports of the error from users. Rather, it was uncovered by our test script cryptest.sh. Also see GH #1237, SIMON128 Asan failures on POWER8.

GCC 12 crash

cryptest.exe began experiencing crashes under GCC 12 and above. It appears GCC started removing live code. Building with GCC 12 and above now requires -fno-devirtualize option. See GH #1134 and GH #1141 for details.

CMake support

Abdessattar Sassi is now maintaining the CMake build system. Please visit abdes | cryptopp-cmake on GitHub.

Please note alternate build systems like Autotools and CMake are still not officially supported by the Crypto++ project. The project uses the makefile on Unix & Linux, and Visual Studio on Windows.

FIPS DLL deprecation

The FIPS DLL used to be an important artifact for Windows builds. NIST moved the Crypto++ library to the Historical Validation List in 2014. The Windows DLL is no longer validated.

The project files to build the FIPS DLL are cryptdll.vcxproj and dlltest.vcxproj. The projects are now deprecated and subject to removal.

File Changes

Below is a list of all files that were created or renamed at Crypto++ 8.9.

$ git diff-tree -r --summary CRYPTOPP_8_8_0 CRYPTOPP_8_9_0 | grep -v "change" | awk '{$2=$3=""; print $0}' | grep -E '(\.h|\.cpp|\.txt|\.dat)'
delete   aria_simd.cpp
create   primetab.cpp