diff --git a/gost.h b/gost.h index f24dc5a3..fe6e1576 100644 --- a/gost.h +++ b/gost.h @@ -12,6 +12,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief GOST block cipher information +/// \since Crypto++ 2.1 struct GOST_Info : public FixedBlockSize<8>, public FixedKeyLength<32> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "GOST";} @@ -19,6 +20,7 @@ struct GOST_Info : public FixedBlockSize<8>, public FixedKeyLength<32> /// \brief GOST block cipher /// \sa GOST +/// \since Crypto++ 2.1 class GOST : public GOST_Info, public BlockCipherDocumentation { /// \brief GOST block cipher default operation diff --git a/hmac.h b/hmac.h index 8367517d..dc69606d 100644 --- a/hmac.h +++ b/hmac.h @@ -13,6 +13,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief HMAC information /// \details HMAC_Base derives from VariableKeyLength and MessageAuthenticationCode +/// \since Crypto++ 2.1 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE HMAC_Base : public VariableKeyLength<16, 0, INT_MAX>, public MessageAuthenticationCode { public: @@ -44,6 +45,7 @@ private: /// \details HMAC derives from MessageAuthenticationCodeImpl. It calculates the HMAC using /// HMAC(K, text) = H(K XOR opad, H(K XOR ipad, text)). /// \sa HMAC +/// \since Crypto++ 2.1 template class HMAC : public MessageAuthenticationCodeImpl > { diff --git a/luc.h b/luc.h index 3d021461..d38d5611 100644 --- a/luc.h +++ b/luc.h @@ -5,6 +5,7 @@ /// \details This class is here for historical and pedagogical interest. It has no practical advantages over other /// trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes /// defined later in this .h file may be of more practical interest. +/// \since Crypto++ 2.1 #ifndef CRYPTOPP_LUC_H #define CRYPTOPP_LUC_H @@ -33,6 +34,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \details This class is here for historical and pedagogical interest. It has no practical advantages over other /// trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes /// defined later in this .h file may be of more practical interest. +/// \since Crypto++ 2.1 class LUCFunction : public TrapdoorFunction, public PublicKey { typedef LUCFunction ThisClass; @@ -72,6 +74,7 @@ protected: /// \details This class is here for historical and pedagogical interest. It has no practical advantages over other /// trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes /// defined later in this .h file may be of more practical interest. +/// \since Crypto++ 2.1 class InvertibleLUCFunction : public LUCFunction, public TrapdoorFunctionInverse, public PrivateKey { typedef InvertibleLUCFunction ThisClass; @@ -124,6 +127,7 @@ protected: }; /// \brief LUC cryptosystem +/// \since Crypto++ 2.1 struct LUC { static std::string StaticAlgorithmName() {return "LUC";} @@ -136,6 +140,7 @@ struct LUC /// \details This class is here for historical and pedagogical interest. It has no practical advantages over other /// trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes /// defined later in this .h file may be of more practical interest. +/// \since Crypto++ 2.1 template struct LUCES : public TF_ES { @@ -147,6 +152,7 @@ struct LUCES : public TF_ES /// \details This class is here for historical and pedagogical interest. It has no practical advantages over other /// trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes /// defined later in this .h file may be of more practical interest. +/// \since Crypto++ 2.1 template struct LUCSS : public TF_SS { @@ -179,7 +185,8 @@ private: Integer m_p; }; -/// _ +/// \brief LUC Precomputation +/// \since Crypto++ 2.1 class DL_BasePrecomputation_LUC : public DL_FixedBasePrecomputation { public: @@ -210,6 +217,7 @@ private: }; /// \brief LUC GroupParameters specialization +/// \since Crypto++ 2.1 class DL_GroupParameters_LUC : public DL_GroupParameters_IntegerBasedImpl { public: @@ -240,6 +248,7 @@ private: }; /// \brief GF(p) group parameters that default to safe primes +/// \since Crypto++ 2.1 class DL_GroupParameters_LUC_DefaultSafePrime : public DL_GroupParameters_LUC { public: @@ -250,6 +259,7 @@ protected: }; /// \brief LUC HMP signature algorithm +/// \since Crypto++ 2.1 class DL_Algorithm_LUC_HMP : public DL_ElgamalLikeSignatureAlgorithm { public: @@ -265,6 +275,7 @@ public: }; /// \brief LUC signature keys +/// \since Crypto++ 2.1 struct DL_SignatureKeys_LUC { typedef DL_GroupParameters_LUC GroupParameters; @@ -277,6 +288,7 @@ struct DL_SignatureKeys_LUC /// \details This class is here for historical and pedagogical interest. It has no practical advantages over other /// trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes /// defined later in this .h file may be of more practical interest. +/// \since Crypto++ 2.1 template struct LUC_HMP : public DL_SS { @@ -296,7 +308,7 @@ struct DL_CryptoKeys_LUC /// \tparam DHAES_MODE flag indicating if the MAC includes additional context parameters such as u·V, v·U and label /// \tparam LABEL_OCTETS flag indicating if the label size is specified in octets or bits /// \sa CofactorMultiplicationOption -/// \since Crypto++ 4.0, Crypto++ 5.7 for Bouncy Castle and Botan compatibility +/// \since Crypto++ 2.1, Crypto++ 5.7 for Bouncy Castle and Botan compatibility template struct LUC_IES : public DL_ES< diff --git a/oaep.h b/oaep.h index ec4172b2..76be7f24 100644 --- a/oaep.h +++ b/oaep.h @@ -1,3 +1,9 @@ +// oaep.h - originally written and placed in the public domain by Wei Dai + +/// \file oaep.h +/// \brief Classes for optimal asymmetric encryption padding +/// \since Crypto++ 2.1 + #ifndef CRYPTOPP_OAEP_H #define CRYPTOPP_OAEP_H @@ -8,6 +14,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief OAEP padding base class +/// \since Crypto++ 2.1 class CRYPTOPP_DLL OAEP_Base : public PK_EncryptionMessageEncodingMethod { public: @@ -23,7 +30,10 @@ protected: }; /// \brief OAEP padding +/// \tparam H HashTransformation derived class +/// \tparam MGF MaskGeneratingFunction derived class /// \sa EME-OAEP, for use with classes derived from TF_ES +/// \since Crypto++ 2.1 template class OAEP : public OAEP_Base, public EncryptionStandard { diff --git a/pssr.h b/pssr.h index 377900ee..7122549d 100644 --- a/pssr.h +++ b/pssr.h @@ -2,6 +2,7 @@ /// \file pssr.h /// \brief Classes for probablistic signature schemes +/// \since Crypto++ 2.1 #ifndef CRYPTOPP_PSSR_H #define CRYPTOPP_PSSR_H @@ -17,6 +18,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief PSSR Message Encoding Method interface +/// \since Crypto++ 2.1 class CRYPTOPP_DLL PSSR_MEM_Base : public PK_RecoverableSignatureMessageEncodingMethod { public: @@ -46,6 +48,7 @@ private: /// \brief PSSR Message Encoding Method with Hash Identifier /// \tparam USE_HASH_ID flag indicating whether the HashId is used +/// \since Crypto++ 2.1 template class PSSR_MEM_BaseWithHashId; /// \brief PSSR Message Encoding Method with Hash Identifier @@ -54,6 +57,7 @@ template<> class PSSR_MEM_BaseWithHashId : public EMSA2HashIdLookup class PSSR_MEM_BaseWithHashId : public PSSR_MEM_Base {}; /// \brief PSSR Message Encoding Method @@ -65,6 +69,7 @@ template<> class PSSR_MEM_BaseWithHashId : public PSSR_MEM_Base {}; /// \details If ALLOW_RECOVERY is true, the the signature scheme provides message recovery. If /// ALLOW_RECOVERY is false, the the signature scheme is appendix, and the message must be /// provided during verification. +/// \since Crypto++ 2.1 template class PSSR_MEM : public PSSR_MEM_BaseWithHashId { @@ -80,6 +85,7 @@ public: /// \brief Probabilistic Signature Scheme with Recovery /// \details Signature Schemes with Recovery encode the message with the signature. /// \sa PSSR-MGF1 +/// \since Crypto++ 2.1 struct PSSR : public SignatureStandard { typedef PSSR_MEM SignatureMessageEncodingMethod; @@ -88,6 +94,7 @@ struct PSSR : public SignatureStandard /// \brief Probabilistic Signature Scheme with Appendix /// \details Signature Schemes with Appendix require the message to be provided during verification. /// \sa PSS-MGF1 +/// \since Crypto++ 2.1 struct PSS : public SignatureStandard { typedef PSSR_MEM SignatureMessageEncodingMethod; diff --git a/ripemd.h b/ripemd.h index e1f5081f..b5fbb4ae 100644 --- a/ripemd.h +++ b/ripemd.h @@ -13,6 +13,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief RIPEMD-160 message digest /// \details Digest size is 160-bits. /// \sa RIPEMD-160 +/// \since Crypto++ 2.1 class RIPEMD160 : public IteratedHashWithStaticTransform { public: @@ -24,6 +25,7 @@ public: /// \brief RIPEMD-320 message digest /// \details Digest size is 320-bits. /// \sa RIPEMD-320 +/// \since Crypto++ 2.1 class RIPEMD320 : public IteratedHashWithStaticTransform { public: @@ -36,6 +38,7 @@ public: /// \details Digest size is 128-bits. /// \warning RIPEMD-128 is considered insecure, and should not be used unless you absolutely need it for compatibility. /// \sa RIPEMD-128 +/// \since Crypto++ 2.1 class RIPEMD128 : public IteratedHashWithStaticTransform { public: @@ -48,6 +51,7 @@ public: /// \details Digest size is 256-bits. /// \warning RIPEMD-256 is considered insecure, and should not be used unless you absolutely need it for compatibility. /// \sa RIPEMD-256 +/// \since Crypto++ 2.1 class RIPEMD256 : public IteratedHashWithStaticTransform { public: diff --git a/shark.h b/shark.h index 4072667f..09459adc 100644 --- a/shark.h +++ b/shark.h @@ -2,6 +2,7 @@ /// \file shark.h /// \brief Classes for the SHARK block cipher +/// \since Crypto++ 2.1 #ifndef CRYPTOPP_SHARK_H #define CRYPTOPP_SHARK_H @@ -13,6 +14,7 @@ NAMESPACE_BEGIN(CryptoPP) /// \brief SHARK block cipher information +/// \since Crypto++ 2.1 struct SHARK_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<6, 2> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SHARK-E";} @@ -20,9 +22,11 @@ struct SHARK_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public /// \brief SHARK block cipher /// SHARK-E +/// \since Crypto++ 2.1 class SHARK : public SHARK_Info, public BlockCipherDocumentation { /// \brief SHARK block cipher default operation + /// \since Crypto++ 2.1 class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { public: @@ -34,6 +38,7 @@ class SHARK : public SHARK_Info, public BlockCipherDocumentation }; /// \brief SHARK block cipher encryption operation + /// \since Crypto++ 2.1 class CRYPTOPP_NO_VTABLE Enc : public Base { public: @@ -48,6 +53,7 @@ class SHARK : public SHARK_Info, public BlockCipherDocumentation }; /// \brief SHARK block cipher decryption operation + /// \since Crypto++ 2.1 class CRYPTOPP_NO_VTABLE Dec : public Base { public: diff --git a/tiger.h b/tiger.h index aaca69a0..107a5d1c 100644 --- a/tiger.h +++ b/tiger.h @@ -1,3 +1,9 @@ +// tiger.h - originally written and placed in the public domain by Wei Dai + +/// \file tiger.h +/// \brief Classes for the Tiger message digest +/// \since Crypto++ 2.1 + #ifndef CRYPTOPP_TIGER_H #define CRYPTOPP_TIGER_H @@ -12,7 +18,9 @@ NAMESPACE_BEGIN(CryptoPP) -/// Tiger +/// \brief Tiger message digest +/// \sa Tiger +/// \since Crypto++ 2.1 class Tiger : public IteratedHashWithStaticTransform { public: