Home Page | Download | Manual | GitHub | Mediawiki | Mailing lists | Contributions | Related links |
Crypto++ 8.1 was released on February 22, 2019. The 8.1 release was a minor, planned release. There are no CVEs or memory errors.
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.
The release notes for Crypto++ 8.1 follows.
The bug fix and minor issue list for Crypto++ 8.1 follows. Many non-trivial issues are tracked for auditing and C&A purposes, but the list may not be complete. A number in parenthesis is the GitHub Issue number, if it was tracked. Sometimes a Git commit is referenced, but many trivial GitHub commits are omitted. Missing Issue numbers or lack of consecutiveness usually indicates feature requests and "won't fix/can't fix" type reports.
The cross-compile script setenv-android.sh is no longer viable for building the library using the Android NDK. Recent NDK changes has mostly obsoleted the script. We are moving to a new script but it is not ready at the moment. Also see Issue 763, Building for Android using NDK not supported on Windows hosts.
We have a GitHub setup with yet another build system at cryptopp-android. It provides Android.mk for Android's build system.
The Crypto++ library had trouble passing its self tests on PowerPC platforms using recent versions of GCC, Clang and IBM XLC/C++. We were aware of the problem for some time but we were not able to isolate the problem in our code.
We recently learned of issues in GCC and LLVM which caused the runtime problems. The issues and compiler patches are available at GCC Issue 88234 and LLVM Issue 39704. If needed you should incorporate the compiler patches before resorting to -DCRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE or -DCRYPTOPP_DISABLE_ASM.
IBM XLC/C++ also fails some of its self tests. We were not able to reduce the failure to a minimum test case so the problem remains unreported to IBM. However, IBM XLC/C++ 13.1 uses the LLVM front-end and we suspect it is a similar problem reported to GCC and LLVM. You should use -DCRYPTOPP_BUGGY_SIMD_LOAD_AND_STORE or -DCRYPTOPP_DISABLE_ASM to work around the problem.
ARMEL may not build correctly because the makefile may mis-identify the availability of NEON. If ARMEL fails to build then apply Commit 84ab1f3c66a5.
Aarch64 may not build correctly because the makefile may use the wrong CXXFLAGS during feature testing. If Aarch64 fails to build then apply Commit 7c7a12c58422.
Thanks to László Böszörményi and Nicolas Chauvet for help with the problems.
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.
Below is a list of all files that were added at Crypto++ 8.1. keccakc.h and keccakc.cpp were refactored and deleted.
$ git diff-tree -r --summary CRYPTOPP_8_0_0 CRYPTOPP_8_1_0 | grep -v "change" | awk '{$2=$3=""; print $0}' | grep -E '(\.h|\.cpp|\.txt|\.dat)' create TestVectors/aead.txt create TestVectors/chacha20poly1305.txt create TestVectors/poly1305_tls.txt create TestVectors/poly1305aes.txt create TestVectors/shake.txt create TestVectors/xchacha.txt create arm_simd.h create chachapoly.cpp create chachapoly.h create gf2n_simd.cpp create keccak_core.cpp create keccak_simd.cpp create shake.cpp create shake.h delete keccakc.cpp delete keccakc.h