diff --git a/Doxyfile b/Doxyfile index 1273de2e..2d26653f 100644 --- a/Doxyfile +++ b/Doxyfile @@ -41,7 +41,7 @@ PROJECT_NAME = Crypto++ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 7.1 +PROJECT_NUMBER = 8.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/GNUmakefile b/GNUmakefile index b0d5906a..5633115f 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -1327,7 +1327,7 @@ libcryptopp.pc: @echo '' >> libcryptopp.pc @echo 'Name: Crypto++' >> libcryptopp.pc @echo 'Description: Crypto++ cryptographic library' >> libcryptopp.pc - @echo 'Version: 7.1' >> libcryptopp.pc + @echo 'Version: 8.0' >> libcryptopp.pc @echo 'URL: https://cryptopp.com/' >> libcryptopp.pc @echo '' >> libcryptopp.pc @echo 'Cflags: -I$${includedir}' >> libcryptopp.pc diff --git a/Readme.txt b/Readme.txt index 9ca4ea44..f221a5e9 100644 --- a/Readme.txt +++ b/Readme.txt @@ -1,5 +1,5 @@ Crypto++: free C++ Class Library of Cryptographic Schemes -Version 7.0 - APR/08/2018 +Version 8.0 - DEC/28/2018 Crypto++ Library is a free C++ class library of cryptographic schemes. Currently the library contains the following algorithms: @@ -92,13 +92,13 @@ The following compilers are supported for this release. Please visit http://www.cryptopp.com the most up to date build instructions and porting notes. * Visual Studio 2003 - 2017 - * GCC 3.3 - 8.0 + * GCC 3.3 - 9.0 * Apple Clang 4.3 - 9.3 - * LLVM Clang 2.9 - 4.0 - * C++Builder 2010 + * LLVM Clang 2.9 - 7.0 + * C++Builder 2015 * Intel C++ Compiler 9 - 16.0 - * Sun Studio 12u1 - 12.5 - * IBM XL C/C++ 10.0 - 13.1 + * Sun Studio 12u1 - 12.6 + * IBM XL C/C++ 10.0 - 13.3 *** Important Usage Notes *** @@ -283,6 +283,25 @@ documentation is one of the highest returns on investment. The items in this section comprise the most recent history. Please see History.txt for the record back to Crypto++ 1.0. +8.0.0 - December 28, 2018 + + - major release, recompile of programs required + - expanded community input and support + * 54 unique contributors as of this release + - add x25519 key exchange and ed25519 signature scheme + - add limited Asymmetric Key Package support from RFC 5958 + - add Power9 DARN random number generator support + - add CHAM, HC-128, HC-256, Hight, LEA, Rabbit, Simeck + - fix FixedSizeAllocatorWithCleanup may be unaligned on some platforms + - cutover to GNU Make-based cpu feature tests + - rename files with dashes to underscores + - fix LegacyDecryptor and LegacyDecryptorWithMAC use wrong MAC + - fix incorrect AES/CBC decryption on Windows + - avoid Singleton when possible, avoid std::call_once completely + - fix SPARC alignment problems due to GetAlignmentOf() on word64 + - add ARM AES asm implementation from Cryptogams + - remove CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS support + 7.0.0 - April 8, 2018 - major release, recompile of programs required - expanded community input and support @@ -341,67 +360,6 @@ for the record back to Crypto++ 1.0. - ported to MSVC 2017, Xcode 8.1, Sun Studio 12.5, GCC 7.3, MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1 -5.6.5 - October 11, 2016 - - maintenance release, recompile of programs recommended - - expanded community input and support - * 25 unique contributors as of this release - - fixed CVE-2016-7420 (Issue 277, document NDEBUG for production/release) - - fixed CVE-2016-7544 (Issue 302, avoid _malloca and _freea) - - shipped library in recommended state - * backwards compatibility achieved with - - Visual Studio project file cleanup - * improved X86 and X64 MSBuild support - * added ARM-based MSBuild awareness - - improved Testing and QA - * expanded platforms and compilers - * expanded Coverity into OS X and Windows platforms - * added Windows test scripts using Strawberry Perl - - ported to MSVC 2015 SP3, Xcode 7.3, Sun Studio 12.5, GCC 7.0, - MacPorts GCC 7.0, Clang 3.8, Intel C++ 17.00 - -5.6.4 - September 11, 2016 - - maintenance release, honored API/ABI/Versioning requirements - - expanded community input and support - * 22 unique contributors for this release - - fixed CVE-2016-3995 - - changed SHA3 to FIPS 202 (F1600, XOF d=0x06) - - added Keccak (F1600, XOF d=0x01) - - added ChaCha (ChaCha8/12/20) - - added HMQV and FHMQV - * Hashed and Fully Hashed MQV - - added BLAKE2 (BLAKE2s and BLAKE2b) - * C++, SSE2, SSE4, ARM NEON and ARMv8 ASIMD - - added CRC32-C - * C/C++, Amd64 CRC, and ARMv8 CRC - - improved Rabin-William signatures - * Tweaked roots e and f - - improved C++11 support - * atomics, threads and fences - * alginof, alignas - * constexpr - * noexcept - - improved GCM mode - * ARM NEON and ARMv8 ASIMD - * ARMv8 carry-less multiply - - improved Windows 8 and 10 support - * Windows Phone, Universal Windows Platform, Windows Store - - improved MIPS, ARMv7 and ARMv8 support - * added scripts setenv-{android|embedded|ios}.sh for GNUmakefile-cross - * aggressive use of -march= and -mfpu= in cryptest.sh - - improved build systems - * Visual Studio 2010 default - * added CMake support (lacks FindCryptopp.cmake) - * archived VC++ 5/0/6.0 project files (vc60.zip) - * archived VS2005 project files (vs2005.zip) - * archived Borland project files (bds10.zip) - - improved Testing and QA - * expanded platforms and compilers - * added code generation tests based on CPU features - * added C++03, C++11, C++14, C++17 testing - * added -O3, -O5, -Ofast and -Os testing - - ported to MSVC 2015 SP3, Xcode 9.0, Sun Studio 12.5, GCC 7.0, - MacPorts GCC 7.0, Clang 3.8, Intel C++ 17.00 - June 2015 - Changing of the guard. Wei Dai turned the library over to the community. The first community release was Crypto++ 5.6.3. Wei is no longer involved with the daily operations of the project. Wei diff --git a/TestScripts/change-version.sh b/TestScripts/change-version.sh index b05f3be1..f3226b8d 100755 --- a/TestScripts/change-version.sh +++ b/TestScripts/change-version.sh @@ -4,11 +4,11 @@ # building the docs. Before running the script, copy it to the root # directory. After running this script, you can 'make docs' -sed 's|Library 7.1 API|Library 7.0 API|g' cryptlib.h > cryptlib.h.new +sed 's|Library 8.1 API|Library 8.0 API|g' cryptlib.h > cryptlib.h.new mv cryptlib.h.new cryptlib.h -sed 's|= 7.1|= 7.0|g' Doxyfile > Doxyfile.new +sed 's|= 8.1|= 8.0|g' Doxyfile > Doxyfile.new mv Doxyfile.new Doxyfile -sed 's|CRYPTOPP_VERSION 710|CRYPTOPP_VERSION 700|g' config.h > config.h.new +sed 's|CRYPTOPP_VERSION 810|CRYPTOPP_VERSION 800|g' config.h > config.h.new mv config.h.new config.h diff --git a/cham.h b/cham.h index dc4c0474..0d08c90e 100644 --- a/cham.h +++ b/cham.h @@ -5,7 +5,7 @@ /// \file cham.h /// \brief Classes for the CHAM block cipher -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_CHAM_H #define CRYPTOPP_CHAM_H @@ -28,7 +28,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief CHAM block cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct CHAM64_Info : public FixedBlockSize<8>, public FixedKeyLength<16> { /// \brief The algorithm name @@ -43,7 +43,7 @@ struct CHAM64_Info : public FixedBlockSize<8>, public FixedKeyLength<16> }; /// \brief CHAM block cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct CHAM128_Info : public FixedBlockSize<16>, public VariableKeyLength<16,16,32,16> { /// \brief The algorithm name @@ -63,13 +63,13 @@ struct CHAM128_Info : public FixedBlockSize<16>, public VariableKeyLength<16,16, /// \sa CHAM128, CHAM, /// /// CHAM: A Family of Lightweight Block Ciphers for Resource-Constrained Devices -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE CHAM64 : public CHAM64_Info, public BlockCipherDocumentation { public: /// \brief CHAM block cipher transformation functions /// \details Provides implementation common to encryption and decryption - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { protected: @@ -84,7 +84,7 @@ public: /// \brief Encryption transformation /// \details Enc provides implementation for encryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -98,7 +98,7 @@ public: /// \brief Encryption transformation /// \details Dec provides implementation for decryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Dec : public Base { public: @@ -122,13 +122,13 @@ typedef CHAM64::Decryption CHAM64Decryption; /// \sa CHAM64, CHAM, /// /// CHAM: A Family of Lightweight Block Ciphers for Resource-Constrained Devices -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE CHAM128 : public CHAM128_Info, public BlockCipherDocumentation { public: /// \brief CHAM block cipher transformation functions /// \details Provides implementation common to encryption and decryption - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { protected: @@ -143,7 +143,7 @@ public: /// \brief Encryption transformation /// \details Enc provides implementation for encryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -157,7 +157,7 @@ public: /// \brief Encryption transformation /// \details Dec provides implementation for decryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/config.h b/config.h index 8cf95908..8db32c65 100644 --- a/config.h +++ b/config.h @@ -92,7 +92,7 @@ // the version of the library the headers came from. It is not // necessarily the version of the library built as a shared object if // versions are inadvertently mixed and matched. -#define CRYPTOPP_VERSION 710 +#define CRYPTOPP_VERSION 800 // Define this if you want to set a prefix for TestData/ and TestVectors/ // Be sure to add the trailing slash since its simple concatenation. diff --git a/cpu.h b/cpu.h index 00ca75cc..cced64d6 100644 --- a/cpu.h +++ b/cpu.h @@ -208,7 +208,7 @@ inline bool HasADX() /// \brief Determines AVX availability /// \returns true if AVX is determined to be available, false otherwise /// \details HasAVX() is a runtime check performed using CPUID -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on Intel IA-32 platforms inline bool HasAVX() { @@ -220,7 +220,7 @@ inline bool HasAVX() /// \brief Determines AVX2 availability /// \returns true if AVX2 is determined to be available, false otherwise /// \details HasAVX2() is a runtime check performed using CPUID -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on Intel IA-32 platforms inline bool HasAVX2() { @@ -362,7 +362,7 @@ void CRYPTOPP_API DetectArmFeatures(); /// \brief Determine if an ARM processor is ARMv7 or above /// \returns true if the hardware is ARMv7 or above, false otherwise. /// \details Some AES code requires ARMv7 or above -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on ARM-32, Aarch32 and Aarch64 platforms inline bool HasARMv7() { @@ -504,7 +504,7 @@ inline bool HasSHA2() /// \details Runtime support requires compile time support. When compiling with GCC, you /// may need to compile with -march=armv8.4-a+crypto; while Apple requires /// -arch arm64. Also see ARM's __ARM_FEATURE_CRYPTO preprocessor macro. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on Aarch32 and Aarch64 platforms inline bool HasSHA512() { @@ -524,7 +524,7 @@ inline bool HasSHA512() /// \details Runtime support requires compile time support. When compiling with GCC, you /// may need to compile with -march=armv8.4-a+crypto; while Apple requires /// -arch arm64. Also see ARM's __ARM_FEATURE_CRYPTO preprocessor macro. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on Aarch32 and Aarch64 platforms inline bool HasSHA3() { @@ -544,7 +544,7 @@ inline bool HasSHA3() /// \details Runtime support requires compile time support. When compiling with GCC, you /// may need to compile with -march=armv8.4-a+crypto; while Apple requires /// -arch arm64. Also see ARM's __ARM_FEATURE_CRYPTO preprocessor macro. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on Aarch32 and Aarch64 platforms inline bool HasSM3() { @@ -564,7 +564,7 @@ inline bool HasSM3() /// \details Runtime support requires compile time support. When compiling with GCC, you /// may need to compile with -march=armv8.4-a+crypto; while Apple requires /// -arch arm64. Also see ARM's __ARM_FEATURE_CRYPTO preprocessor macro. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 /// \note This function is only available on Aarch32 and Aarch64 platforms inline bool HasSM4() { diff --git a/cryptlib.h b/cryptlib.h index dd88e212..34b98b03 100644 --- a/cryptlib.h +++ b/cryptlib.h @@ -3,7 +3,7 @@ /// \file cryptlib.h /// \brief Abstract base classes that provide a uniform interface to this library. -/*! \mainpage Crypto++ Library 7.1 API Reference +/*! \mainpage Crypto++ Library 8.0 API Reference
Abstract Base Classes
cryptlib.h @@ -604,7 +604,7 @@ public: /// dominant one. For example on x86 AES/GCM returns "AESNI" rather than /// "CLMUL" or "AES+SSE4.1" or "AES+CLMUL" or "AES+SSE4.1+CLMUL". /// \note Provider is not universally implemented yet. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 virtual std::string AlgorithmProvider() const {return "C++";} }; diff --git a/cryptopp.rc b/cryptopp.rc index 26a0a424..0ccf2390 100644 --- a/cryptopp.rc +++ b/cryptopp.rc @@ -27,8 +27,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // VS_VERSION_INFO VERSIONINFO - FILEVERSION 7,1,0,0 - PRODUCTVERSION 7,1,0,0 + FILEVERSION 8,0,0,0 + PRODUCTVERSION 8,0,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -46,13 +46,13 @@ BEGIN VALUE "Comments", "Free crypto library, more information available at www.cryptopp.com" VALUE "CompanyName", "Wei Dai" VALUE "FileDescription", "Crypto++® Library DLL" - VALUE "FileVersion", "7, 1, 0, 0" + VALUE "FileVersion", "8, 0, 0, 0" VALUE "InternalName", "cryptopp" VALUE "LegalCopyright", "Copyright© 1995-2018 by Wei Dai" VALUE "LegalTrademarks", "Crypto++®" VALUE "OriginalFilename", "cryptopp.dll" VALUE "ProductName", "Crypto++® Library" - VALUE "ProductVersion", "7, 1, 0, 0" + VALUE "ProductVersion", "8, 0, 0, 0" END END BLOCK "VarFileInfo" diff --git a/hc128.h b/hc128.h index 6c2c5b0d..a43eeeb3 100644 --- a/hc128.h +++ b/hc128.h @@ -9,7 +9,7 @@ /// \sa The /// eSTREAM Project | HC-128 and /// Crypto++ Wiki | HC-128. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_HC128_H #define CRYPTOPP_HC128_H @@ -20,14 +20,14 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief HC-128 stream cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct HC128Info : public FixedKeyLength<16, SimpleKeyingInterface::UNIQUE_IV, 16> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() { return "HC-128"; } }; /// \brief HC-128 stream cipher implementation -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class HC128Policy : public AdditiveCipherConcretePolicy, public HC128Info { protected: @@ -55,7 +55,7 @@ private: /// \sa The /// eSTREAM Project | HC-128 and /// Crypto++ Wiki | HC-128. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct HC128 : public HC128Info, public SymmetricCipherDocumentation { typedef SymmetricCipherFinal >, HC128Info> Encryption; diff --git a/hc256.h b/hc256.h index e6271b1a..ccd1ca05 100644 --- a/hc256.h +++ b/hc256.h @@ -9,7 +9,7 @@ /// \sa The /// eSTREAM Project | HC-256 and /// Crypto++ Wiki | HC-128. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_HC256_H #define CRYPTOPP_HC256_H @@ -20,14 +20,14 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief HC-256 stream cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct HC256Info : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 32> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() { return "HC-256"; } }; /// \brief HC-256 stream cipher implementation -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class HC256Policy : public AdditiveCipherConcretePolicy, public HC256Info { protected: @@ -55,7 +55,7 @@ private: /// \sa The /// eSTREAM Project | HC-256 and /// Crypto++ Wiki | HC-128. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct HC256 : public HC256Info, public SymmetricCipherDocumentation { typedef SymmetricCipherFinal >, HC256Info> Encryption; diff --git a/hight.h b/hight.h index fc8cd160..8a0f2a83 100644 --- a/hight.h +++ b/hight.h @@ -6,7 +6,7 @@ /// \file hight.h /// \brief Classes for the HIGHT block cipher -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_HIGHT_H #define CRYPTOPP_HIGHT_H @@ -19,7 +19,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief HIGHT block cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct HIGHT_Info : public FixedBlockSize<8>, public FixedKeyLength<16> { static const std::string StaticAlgorithmName() @@ -35,13 +35,13 @@ struct HIGHT_Info : public FixedBlockSize<8>, public FixedKeyLength<16> /// \sa HIGHT, /// Korea Internet & Security /// Agency website -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE HIGHT : public HIGHT_Info, public BlockCipherDocumentation { public: /// \brief HIGHT block cipher transformation functions /// \details Provides implementation common to encryption and decryption - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { protected: @@ -53,7 +53,7 @@ public: /// \brief Encryption transformation /// \details Enc provides implementation for encryption transformation. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -62,7 +62,7 @@ public: /// \brief Encryption transformation /// \details Dec provides implementation for decryption transformation. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/lea.h b/lea.h index ab0cf568..a3482d5d 100644 --- a/lea.h +++ b/lea.h @@ -5,7 +5,7 @@ /// \file lea.h /// \brief Classes for the LEA block cipher -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_LEA_H #define CRYPTOPP_LEA_H @@ -28,7 +28,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief LEA block cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct LEA_Info : public FixedBlockSize<16>, public VariableKeyLength<16,16,32,8> { /// \brief The algorithm name @@ -48,13 +48,13 @@ struct LEA_Info : public FixedBlockSize<16>, public VariableKeyLength<16,16,32,8 /// \sa LEA, /// /// LEA: A 128-Bit Block Cipher for Fast Encryption on Common Processors -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE LEA : public LEA_Info, public BlockCipherDocumentation { public: /// \brief LEA block cipher transformation functions /// \details Provides implementation common to encryption and decryption - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { protected: @@ -69,7 +69,7 @@ public: /// \brief Encryption transformation /// \details Enc provides implementation for encryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -83,7 +83,7 @@ public: /// \brief Encryption transformation /// \details Dec provides implementation for decryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/naclite.h b/naclite.h index 60ad6bbd..8be89e4a 100644 --- a/naclite.h +++ b/naclite.h @@ -391,7 +391,7 @@ int crypto_sign_keypair(byte *pk, byte *sk); /// added for interop with some anonymous routing protocols. /// \returns 0 on success, non-0 otherwise /// \sa NaCl crypto_sign documentation -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 int crypto_sign_sk2pk(byte *pk, const byte *sk); /// \brief Produce a keystream using XSalsa20 diff --git a/rabbit.h b/rabbit.h index 177c98cb..6601dcd1 100644 --- a/rabbit.h +++ b/rabbit.h @@ -10,7 +10,7 @@ /// \sa The /// eSTREAM Project | Rabbit and /// Crypto++ Wiki | Rabbit. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_RABBIT_H #define CRYPTOPP_RABBIT_H @@ -25,21 +25,21 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief Rabbit stream cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct RabbitInfo : public FixedKeyLength<16, SimpleKeyingInterface::NOT_RESYNCHRONIZABLE> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() { return "Rabbit"; } }; /// \brief Rabbit stream cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct RabbitWithIVInfo : public FixedKeyLength<16, SimpleKeyingInterface::UNIQUE_IV, 8> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() { return "RabbitWithIV"; } }; /// \brief Rabbit stream cipher implementation -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class RabbitPolicy : public AdditiveCipherConcretePolicy, public RabbitInfo { protected: @@ -57,7 +57,7 @@ private: }; /// \brief Rabbit stream cipher implementation -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class RabbitWithIVPolicy : public AdditiveCipherConcretePolicy, public RabbitWithIVInfo { protected: @@ -84,7 +84,7 @@ private: /// \sa RabbitWithIV, The /// eSTREAM Project | Rabbit and /// Crypto++ Wiki | Rabbit. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct Rabbit : public RabbitInfo, public SymmetricCipherDocumentation { typedef SymmetricCipherFinal >, RabbitInfo> Encryption; @@ -100,7 +100,7 @@ struct Rabbit : public RabbitInfo, public SymmetricCipherDocumentation /// \sa Rabbit, The /// eSTREAM Project | Rabbit and /// Crypto++ Wiki | Rabbit. -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct RabbitWithIV : public RabbitWithIVInfo, public SymmetricCipherDocumentation { typedef SymmetricCipherFinal >, RabbitWithIVInfo> Encryption; diff --git a/rijndael.h b/rijndael.h index 0b384c4d..ca7c286c 100644 --- a/rijndael.h +++ b/rijndael.h @@ -30,7 +30,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \details All key sizes are supported. The library only provides Rijndael with 128-bit blocks, /// and not 192-bit or 256-bit blocks /// \since Rijndael since Crypto++ 3.1, Intel AES-NI since Crypto++ 5.6.1, ARMv8 AES since Crypto++ 6.0, -/// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 7.1 +/// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 8.0 struct Rijndael_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8> { CRYPTOPP_DLL static const char * CRYPTOPP_API StaticAlgorithmName() {return CRYPTOPP_RIJNDAEL_NAME;} @@ -40,7 +40,7 @@ struct Rijndael_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 1 /// \details All key sizes are supported. The library only provides Rijndael with 128-bit blocks, /// and not 192-bit or 256-bit blocks /// \since Rijndael since Crypto++ 3.1, Intel AES-NI since Crypto++ 5.6.1, ARMv8 AES since Crypto++ 6.0, -/// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 7.1 +/// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 8.0 /// \sa Rijndael class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentation { @@ -72,7 +72,7 @@ class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentat /// \details Enc provides implementation for encryption transformation. All key sizes are supported. /// The library only provides Rijndael with 128-bit blocks, and not 192-bit or 256-bit blocks /// \since Rijndael since Crypto++ 3.1, Intel AES-NI since Crypto++ 5.6.1, ARMv8 AES since Crypto++ 6.0, - /// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 7.1 + /// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 8.0 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -86,7 +86,7 @@ class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentat /// \details Dec provides implementation for decryption transformation. All key sizes are supported. /// The library only provides Rijndael with 128-bit blocks, and not 192-bit or 256-bit blocks /// \since Rijndael since Crypto++ 3.1, Intel AES-NI since Crypto++ 5.6.1, ARMv8 AES since Crypto++ 6.0, - /// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 7.1 + /// Power8 AES since Crypto++ 6.0, ARMv7 AES since Crypto++ 8.0 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/simeck.h b/simeck.h index 94c92714..e7c84b01 100644 --- a/simeck.h +++ b/simeck.h @@ -7,7 +7,7 @@ /// \sa SIMECK, /// The Simeck /// Family of Lightweight Block Ciphers -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 #ifndef CRYPTOPP_SIMECK_H #define CRYPTOPP_SIMECK_H @@ -30,7 +30,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief SIMECK block cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct SIMECK32_Info : public FixedBlockSize<4>, public FixedKeyLength<8>, public FixedRounds<32> { /// \brief The algorithm name @@ -45,7 +45,7 @@ struct SIMECK32_Info : public FixedBlockSize<4>, public FixedKeyLength<8>, publi }; /// \brief SIMECK block cipher information -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 struct SIMECK64_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public FixedRounds<44> { /// \brief The algorithm name @@ -65,13 +65,13 @@ struct SIMECK64_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, publ /// \sa SIMECK64, SIMECK, /// The Simeck Family of /// Lightweight Block Ciphers -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE SIMECK32 : public SIMECK32_Info, public BlockCipherDocumentation { public: /// \brief SIMECK block cipher transformation functions /// \details Provides implementation common to encryption and decryption - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { protected: @@ -85,7 +85,7 @@ public: /// \brief Encryption transformation /// \details Enc provides implementation for encryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -95,7 +95,7 @@ public: /// \brief Encryption transformation /// \details Dec provides implementation for decryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Dec : public Base { public: @@ -115,13 +115,13 @@ typedef SIMECK32::Decryption SIMECK32Decryption; /// \sa SIMECK32, SIMECK, /// The Simeck Family of /// Lightweight Block Ciphers -/// \since Crypto++ 7.1 +/// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE SIMECK64 : public SIMECK64_Info, public BlockCipherDocumentation { public: /// \brief SIMECK block cipher transformation functions /// \details Provides implementation common to encryption and decryption - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { protected: @@ -135,7 +135,7 @@ public: /// \brief Encryption transformation /// \details Enc provides implementation for encryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -149,7 +149,7 @@ public: /// \brief Encryption transformation /// \details Dec provides implementation for decryption transformation. All key and block /// sizes are supported. - /// \since Crypto++ 7.1 + /// \since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/sm4.h b/sm4.h index 18f10bd6..92883a31 100644 --- a/sm4.h +++ b/sm4.h @@ -60,7 +60,7 @@ public: /// \details SM4 encryption is accelerated on machines with AES-NI. Decryption is /// not acclerated because it is not profitable. Thanks to Markku-Juhani Olavi /// Saarinen. - /// \since Crypto++ 6.0, AESNI encryption since Crypto++ 7.1 + /// \since Crypto++ 6.0, AESNI encryption since Crypto++ 8.0 class CRYPTOPP_NO_VTABLE Enc : public Base { public: