summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Doxyfile2
-rwxr-xr-xGNUmakefile2
-rw-r--r--Readme.txt92
-rwxr-xr-xTestScripts/change-version.sh6
-rw-r--r--cham.h22
-rw-r--r--config.h2
-rw-r--r--cpu.h14
-rw-r--r--cryptlib.h4
-rw-r--r--cryptopp.rc8
-rw-r--r--hc128.h8
-rw-r--r--hc256.h8
-rw-r--r--hight.h12
-rw-r--r--lea.h12
-rw-r--r--naclite.h2
-rw-r--r--rabbit.h14
-rw-r--r--rijndael.h8
-rw-r--r--simeck.h22
-rw-r--r--sm4.h2
18 files changed, 99 insertions, 141 deletions
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<T> when possible, avoid std::call_once completely
+ - fix SPARC alignment problems due to GetAlignmentOf<T>() 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 <config.compat>
- - 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 <em>e</em> and <em>f</em>
- - 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=<arch> and -mfpu=<fpu> 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, <a href="http://www.cryptopp.com/wiki/CHAM">CHAM</a>,
/// <a href="https://pdfs.semanticscholar.org/2f57/61b5c2614cffd58a09cc83c375a2b32a2ed3.pdf">
/// CHAM: A Family of Lightweight Block Ciphers for Resource-Constrained Devices</a>
-/// \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<CHAM64_Info>
{
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, <a href="http://www.cryptopp.com/wiki/CHAM">CHAM</a>,
/// <a href="https://pdfs.semanticscholar.org/2f57/61b5c2614cffd58a09cc83c375a2b32a2ed3.pdf">
/// CHAM: A Family of Lightweight Block Ciphers for Resource-Constrained Devices</a>
-/// \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<CHAM128_Info>
{
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 <tt>-march=armv8.4-a+crypto</tt>; while Apple requires
/// <tt>-arch arm64</tt>. Also see ARM's <tt>__ARM_FEATURE_CRYPTO</tt> 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 <tt>-march=armv8.4-a+crypto</tt>; while Apple requires
/// <tt>-arch arm64</tt>. Also see ARM's <tt>__ARM_FEATURE_CRYPTO</tt> 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 <tt>-march=armv8.4-a+crypto</tt>; while Apple requires
/// <tt>-arch arm64</tt>. Also see ARM's <tt>__ARM_FEATURE_CRYPTO</tt> 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 <tt>-march=armv8.4-a+crypto</tt>; while Apple requires
/// <tt>-arch arm64</tt>. Also see ARM's <tt>__ARM_FEATURE_CRYPTO</tt> 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
<dl>
<dt>Abstract Base Classes<dd>
cryptlib.h
@@ -604,7 +604,7 @@ public:
/// dominant one. For example on x86 <tt>AES/GCM</tt> 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 <A HREF="http://www.ecrypt.eu.org/stream/e2-hc128.html">The
/// eSTREAM Project | HC-128</A> and
/// <A HREF="https://www.cryptopp.com/wiki/HC-128">Crypto++ Wiki | HC-128</A>.
-/// \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<word32, 16>, public HC128Info
{
protected:
@@ -55,7 +55,7 @@ private:
/// \sa <A HREF="http://www.ecrypt.eu.org/stream/e2-hc128.html">The
/// eSTREAM Project | HC-128</A> and
/// <A HREF="https://www.cryptopp.com/wiki/HC-128">Crypto++ Wiki | HC-128</A>.
-/// \since Crypto++ 7.1
+/// \since Crypto++ 8.0
struct HC128 : public HC128Info, public SymmetricCipherDocumentation
{
typedef SymmetricCipherFinal<ConcretePolicyHolder<HC128Policy, AdditiveCipherTemplate<> >, 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 <A HREF="http://www.ecrypt.eu.org/stream/hc256.html">The
/// eSTREAM Project | HC-256</A> and
/// <A HREF="https://www.cryptopp.com/wiki/HC-128">Crypto++ Wiki | HC-128</A>.
-/// \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<word32, 4>, public HC256Info
{
protected:
@@ -55,7 +55,7 @@ private:
/// \sa <A HREF="http://www.ecrypt.eu.org/stream/hc256.html">The
/// eSTREAM Project | HC-256</A> and
/// <A HREF="https://www.cryptopp.com/wiki/HC-128">Crypto++ Wiki | HC-128</A>.
-/// \since Crypto++ 7.1
+/// \since Crypto++ 8.0
struct HC256 : public HC256Info, public SymmetricCipherDocumentation
{
typedef SymmetricCipherFinal<ConcretePolicyHolder<HC256Policy, AdditiveCipherTemplate<> >, 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 <a href="http://www.cryptopp.com/wiki/HIGHT">HIGHT</a>,
/// <a href="https://seed.kisa.or.kr/">Korea Internet &amp; Security
/// Agency</a> 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<HIGHT_Info>
{
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 <a href="http://www.cryptopp.com/wiki/LEA">LEA</a>,
/// <a href="https://seed.kisa.or.kr/html/egovframework/iwt/ds/ko/ref/LEA%20A%20128-Bit%20Block%20Cipher%20for%20Fast%20Encryption%20on%20Common%20Processors-English.pdf">
/// LEA: A 128-Bit Block Cipher for Fast Encryption on Common Processors</a>
-/// \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<LEA_Info>
{
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 <A HREF="https://nacl.cr.yp.to/sign.html">NaCl crypto_sign documentation</A>
-/// \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 <A HREF="http://www.ecrypt.eu.org/stream/e2-rabbit.html">The
/// eSTREAM Project | Rabbit</A> and
/// <A HREF="https://www.cryptopp.com/wiki/Rabbit">Crypto++ Wiki | Rabbit</A>.
-/// \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<word32, 4>, 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<word32, 4>, public RabbitWithIVInfo
{
protected:
@@ -84,7 +84,7 @@ private:
/// \sa RabbitWithIV, <A HREF="http://www.ecrypt.eu.org/stream/e2-rabbit.html">The
/// eSTREAM Project | Rabbit</A> and
/// <A HREF="https://www.cryptopp.com/wiki/Rabbit">Crypto++ Wiki | Rabbit</A>.
-/// \since Crypto++ 7.1
+/// \since Crypto++ 8.0
struct Rabbit : public RabbitInfo, public SymmetricCipherDocumentation
{
typedef SymmetricCipherFinal<ConcretePolicyHolder<RabbitPolicy, AdditiveCipherTemplate<> >, RabbitInfo> Encryption;
@@ -100,7 +100,7 @@ struct Rabbit : public RabbitInfo, public SymmetricCipherDocumentation
/// \sa Rabbit, <A HREF="http://www.ecrypt.eu.org/stream/e2-rabbit.html">The
/// eSTREAM Project | Rabbit</A> and
/// <A HREF="https://www.cryptopp.com/wiki/Rabbit">Crypto++ Wiki | Rabbit</A>.
-/// \since Crypto++ 7.1
+/// \since Crypto++ 8.0
struct RabbitWithIV : public RabbitWithIVInfo, public SymmetricCipherDocumentation
{
typedef SymmetricCipherFinal<ConcretePolicyHolder<RabbitWithIVPolicy, AdditiveCipherTemplate<> >, 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 <a href="http://www.cryptopp.com/wiki/Rijndael">Rijndael</a>
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 <a href="http://www.cryptopp.com/wiki/SIMECK">SIMECK</a>,
/// <a href="https://eprint.iacr.org/2015/612.pdf">The Simeck
/// Family of Lightweight Block Ciphers</a>
-/// \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, <a href="http://www.cryptopp.com/wiki/SIMECK">SIMECK</a>,
/// <a href="https://eprint.iacr.org/2015/612.pdf">The Simeck Family of
/// Lightweight Block Ciphers</a>
-/// \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<SIMECK32_Info>
{
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, <a href="http://www.cryptopp.com/wiki/SIMECK">SIMECK</a>,
/// <a href= "https://eprint.iacr.org/2015/612.pdf">The Simeck Family of
/// Lightweight Block Ciphers</a>
-/// \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<SIMECK64_Info>
{
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: