Remove unneeded Doxygen directive

This commit is contained in:
Jeffrey Walton 2018-01-19 14:31:20 -05:00
parent 24a9466e54
commit befd04312d
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
105 changed files with 0 additions and 568 deletions

5
3way.h
View File

@ -12,19 +12,16 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ThreeWay_Info
/// \brief ThreeWay block cipher information
struct ThreeWay_Info : public FixedBlockSize<12>, public FixedKeyLength<12>, public VariableRounds<11>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "3-Way";}
};
/// \class ThreeWay
/// \brief ThreeWay block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/3-Way">3-Way</a>
class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief Class specific implementation and overrides used to operate the cipher.
/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<ThreeWay_Info>
@ -37,7 +34,6 @@ class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
FixedSizeSecBlock<word32, 3> m_k;
};
/// \class Enc
/// \brief Class specific methods used to operate the cipher in the forward direction.
/// \details Implementations and overrides in \p Enc apply to \p ENCRYPTION.
class CRYPTOPP_NO_VTABLE Enc : public Base
@ -46,7 +42,6 @@ class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief Class specific methods used to operate the cipher in the reverse direction.
/// \details Implementations and overrides in \p Dec apply to \p DECRYPTION.
class CRYPTOPP_NO_VTABLE Dec : public Base

1
aes.h
View File

@ -14,7 +14,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class AES
/// \brief AES block cipher (Rijndael)
/// \details AES is a typdef for Rijndael classes. All key sizes are supported.
/// The library only provides Rijndael with 128-bit blocks, and not 192-bit or 256-bit blocks

View File

@ -26,7 +26,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ConstByteArrayParameter
/// \brief Used to pass byte array input as part of a NameValuePairs object
class ConstByteArrayParameter
{
@ -101,7 +100,6 @@ private:
SecByteBlock m_block;
};
/// \class ByteArrayParameter
/// \brief Used to pass byte array input as part of a NameValuePairs object
class ByteArrayParameter
{
@ -129,7 +127,6 @@ private:
size_t m_size;
};
/// \class CombinedNameValuePairs
/// \brief Combines two sets of NameValuePairs
/// \details CombinedNameValuePairs allows you to provide two sets of of NameValuePairs.
/// If a name is not found in the first set, then the second set is searched for the
@ -308,12 +305,10 @@ CRYPTOPP_DLL bool AssignIntToInteger(const std::type_info &valueType, void *pInt
CRYPTOPP_DLL const std::type_info & CRYPTOPP_API IntegerTypeId();
/// \class AlgorithmParametersBase
/// \brief Base class for AlgorithmParameters
class CRYPTOPP_DLL AlgorithmParametersBase
{
public:
/// \class ParameterNotUsed
/// \brief Exception thrown when an AlgorithmParameter is unused
class ParameterNotUsed : public Exception
{
@ -370,7 +365,6 @@ protected:
member_ptr<AlgorithmParametersBase> m_next;
};
/// \class AlgorithmParametersTemplate
/// \brief Template base class for AlgorithmParameters
/// \tparam T the class or type
template <class T>
@ -423,7 +417,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate<bool>;
CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate<int>;
CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate<ConstByteArrayParameter>;
/// \class AlgorithmParameters
/// \brief An object that implements NameValuePairs
/// \note A NameValuePairs object containing an arbitrary number of name value pairs may be constructed by
/// repeatedly using operator() on the object returned by MakeParameters, for example:

4
arc4.h
View File

@ -15,7 +15,6 @@ NAMESPACE_BEGIN(CryptoPP)
namespace Weak1 {
/// \class ARC4_Base
/// \brief ARC4 base class
/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
/// \since Crypto++ 1.0
@ -46,13 +45,11 @@ protected:
byte m_x, m_y;
};
/// \class ARC4
/// \brief Alleged RC4
/// \sa <a href="http://www.cryptopp.com/wiki/RC4">Alleged RC4</a>
/// \since Crypto++ 1.0
DOCUMENTED_TYPEDEF(SymmetricCipherFinal<ARC4_Base>, ARC4)
/// \class MARC4_Base
/// \brief MARC4 base class
/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
/// \details MARC4 discards the first 256 bytes of keystream, which may be weaker than the rest
@ -68,7 +65,6 @@ protected:
unsigned int GetDefaultDiscardBytes() const {return 256;}
};
/// \class MARC4
/// \brief Modified Alleged RC4
/// \sa <a href="http://www.cryptopp.com/wiki/RC4">Alleged RC4</a>
/// \since Crypto++ 1.0

2
aria.h
View File

@ -19,7 +19,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ARIA_Info
/// \brief ARIA block cipher information
/// \since Crypto++ 6.0
struct ARIA_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>
@ -27,7 +26,6 @@ struct ARIA_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 3
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "ARIA";}
};
/// \class ARIA
/// \brief ARIA block cipher
/// \details The Crypto++ ARIA implementation is based on the 32-bit implementation by Aaram Yun
/// from the National Security Research Institute, KOREA. Aaram Yun's implementation is based on

View File

@ -25,7 +25,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class AuthenticatedSymmetricCipherBase
/// \brief Base class for authenticated encryption modes of operation
/// \details AuthenticatedSymmetricCipherBase() serves as a base implementation for one direction
/// (encryption or decryption) of a stream cipher or block cipher mode with authentication.

View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Base32Encoder
/// \brief Base32 encodes data using DUDE encoding
/// \details Converts data to base32 using DUDE encoding. The default code is based on <A HREF="http://www.ietf.org/proceedings/51/I-D/draft-ietf-idn-dude-02.txt">Differential Unicode Domain Encoding (DUDE) (draft-ietf-idn-dude-02.txt)</A>.
/// \sa Base32Encoder, Base32Decoder, Base32HexEncoder and Base32HexDecoder
@ -57,7 +56,6 @@ public:
void IsolatedInitialize(const NameValuePairs &parameters);
};
/// \class Base32Decoder
/// \brief Base32 decodes data using DUDE encoding
/// \details Converts data from base32 using DUDE encoding. The default code is based on <A HREF="http://www.ietf.org/proceedings/51/I-D/draft-ietf-idn-dude-02.txt">Differential Unicode Domain Encoding (DUDE) (draft-ietf-idn-dude-02.txt)</A>.
/// \sa Base32Encoder, Base32Decoder, Base32HexEncoder and Base32HexDecoder
@ -94,7 +92,6 @@ private:
static const int * CRYPTOPP_API GetDefaultDecodingLookupArray();
};
/// \class Base32HexEncoder
/// \brief Base32 encodes data using extended hex
/// \details Converts data to base32 using extended hex alphabet. The alphabet is different than Base32Encoder.
/// \sa Base32Encoder, Base32Decoder, Base32HexEncoder and Base32HexDecoder, <A HREF="http://tools.ietf.org/html/rfc4648#page-10">RFC 4648, Base 32 Encoding with Extended Hex Alphabet</A>.
@ -130,7 +127,6 @@ public:
void IsolatedInitialize(const NameValuePairs &parameters);
};
/// \class Base32HexDecoder
/// \brief Base32 decodes data using extended hex
/// \details Converts data from base32 using extended hex alphabet. The alphabet is different than Base32Decoder.
/// \sa Base32Encoder, Base32Decoder, Base32HexEncoder and Base32HexDecoder, <A HREF="http://tools.ietf.org/html/rfc4648#page-10">RFC 4648, Base 32 Encoding with Extended Hex Alphabet</A>.

View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Base64Encoder
/// \brief Base64 encodes data using DUDE
/// \details Base64 encodes data per <A HREF="http://tools.ietf.org/html/rfc4648#section-4">RFC 4648, Base 64 Encoding</A>.
class Base64Encoder : public SimpleProxyFilter
@ -53,7 +52,6 @@ public:
void IsolatedInitialize(const NameValuePairs &parameters);
};
/// \class Base64Decoder
/// \brief Base64 decodes data using DUDE
/// \details Base64 encodes data per <A HREF="http://tools.ietf.org/html/rfc4648#section-4">RFC 4648, Base 64 Encoding</A>.
class Base64Decoder : public BaseN_Decoder
@ -90,7 +88,6 @@ private:
static const int * CRYPTOPP_API GetDecodingLookupArray();
};
/// \class Base64URLEncoder
/// \brief Base64 encodes data using a web safe alphabet
/// \details Base64 encodes data per <A HREF="http://tools.ietf.org/html/rfc4648#section-5">RFC 4648, Base 64 Encoding
/// with URL and Filename Safe Alphabet</A>.
@ -128,7 +125,6 @@ public:
void IsolatedInitialize(const NameValuePairs &parameters);
};
/// \class Base64URLDecoder
/// \brief Base64 decodes data using a web safe alphabet
/// \details Base64 encodes data per <A HREF="http://tools.ietf.org/html/rfc4648#section-5">RFC 4648, Base 64 Encoding
/// with URL and Filename Safe Alphabet</A>.

View File

@ -13,7 +13,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class BaseN_Encoder
/// \brief Encoder for bases that are a power of 2
class CRYPTOPP_DLL BaseN_Encoder : public Unflushable<Filter>
{
@ -53,7 +52,6 @@ private:
SecByteBlock m_outBuf;
};
/// \class BaseN_Decoder
/// \brief Decoder for bases that are a power of 2
class CRYPTOPP_DLL BaseN_Decoder : public Unflushable<Filter>
{
@ -105,7 +103,6 @@ private:
SecByteBlock m_outBuf;
};
/// \class Grouper
/// \brief Filter that breaks input stream into groups of fixed size
class CRYPTOPP_DLL Grouper : public Bufferless<Filter>
{

View File

@ -23,7 +23,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class BLAKE2_Info
/// \brief BLAKE2 hash information
/// \tparam T_64bit flag indicating 64-bit
/// \since Crypto++ 5.6.4
@ -43,7 +42,6 @@ struct BLAKE2_Info : public VariableKeyLength<(T_64bit ? 64 : 32),0,(T_64bit ? 6
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return (T_64bit ? "BLAKE2b" : "BLAKE2s");}
};
/// \class BLAKE2_ParameterBlock
/// \brief BLAKE2 parameter block
/// \tparam T_64bit flag indicating 64-bit
/// \details BLAKE2b uses BLAKE2_ParameterBlock<true>, while BLAKE2s
@ -124,7 +122,6 @@ struct CRYPTOPP_NO_VTABLE BLAKE2_ParameterBlock<false>
byte personalization[PERSONALIZATIONSIZE];
};
/// \class BLAKE2_State
/// \brief BLAKE2 state information
/// \tparam W word type
/// \tparam T_64bit flag indicating 64-bit
@ -150,7 +147,6 @@ struct CRYPTOPP_NO_VTABLE BLAKE2_State
size_t length;
};
/// \class BLAKE2_Base
/// \brief BLAKE2 hash implementation
/// \tparam W word type
/// \tparam T_64bit flag indicating 64-bit

View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Blowfish_Info
/// \brief Blowfish block cipher information
struct Blowfish_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 4, 56>, public FixedRounds<16>
{
@ -20,12 +19,10 @@ struct Blowfish_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 4,
// <a href="http://www.cryptopp.com/wiki/Blowfish">Blowfish</a>
/// \class Blowfish
/// \brief Blowfish block cipher
/// \since Crypto++ 1.0
class Blowfish : public Blowfish_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief Class specific implementation and overrides used to operate the cipher.
/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<Blowfish_Info>

View File

@ -12,14 +12,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Camellia_Info
/// \brief Camellia block cipher information
struct Camellia_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "Camellia";}
};
/// \class Camellia
/// \brief Camellia block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/Camellia">Camellia</a>
class Camellia : public Camellia_Info, public BlockCipherDocumentation

9
cast.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class CAST
/// \brief CAST block cipher base
class CAST
{
@ -19,19 +18,16 @@ protected:
static const word32 S[8][256];
};
/// \class CAST128_Info
/// \brief CAST128 block cipher information
struct CAST128_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 5, 16>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "CAST-128";}
};
/// \class CAST128
/// \brief CAST128 block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/CAST-128">CAST-128</a>
class CAST128 : public CAST128_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief CAST128 block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public CAST, public BlockCipherImpl<CAST128_Info>
{
@ -43,7 +39,6 @@ class CAST128 : public CAST128_Info, public BlockCipherDocumentation
FixedSizeSecBlock<word32, 32> K;
};
/// \class Enc
/// \brief CAST128 block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -51,7 +46,6 @@ class CAST128 : public CAST128_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief CAST128 block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{
@ -64,19 +58,16 @@ public:
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};
/// \class CAST256_Info
/// \brief CAST256 block cipher information
struct CAST256_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 4>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "CAST-256";}
};
/// \class CAST256
/// \brief CAST256 block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/CAST-256">CAST-256</a>
class CAST256 : public CAST256_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief CAST256 block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public CAST, public BlockCipherImpl<CAST256_Info>
{

3
ccm.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class CCM_Base
/// \brief CCM block cipher base implementation
/// \details Base implementation of the AuthenticatedSymmetricCipher interface
/// \since Crypto++ 5.6.0
@ -81,7 +80,6 @@ protected:
CTR_Mode_ExternalCipher::Encryption m_ctr;
};
/// \class CCM_Final
/// \brief CCM block cipher final implementation
/// \tparam T_BlockCipher block cipher
/// \tparam T_DefaultDigestSize default digest size, in bytes
@ -102,7 +100,6 @@ private:
typename T_BlockCipher::Encryption m_cipher;
};
/// \class CCM
/// \brief CCM block cipher mode of operation
/// \tparam T_BlockCipher block cipher
/// \tparam T_DefaultDigestSize default digest size, in bytes

View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ChaCha_Info
/// \brief ChaCha stream cipher information
/// \since Crypto++ 5.6.4
template <unsigned int R>
@ -29,7 +28,6 @@ struct ChaCha_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterf
}
};
/// \class ChaCha_Policy
/// \brief ChaCha stream cipher implementation
/// \since Crypto++ 5.6.4
template <unsigned int R>
@ -49,7 +47,6 @@ protected:
FixedSizeAlignedSecBlock<word32, 16> m_state;
};
/// \class ChaCha8
/// \brief ChaCha8 stream cipher
/// \sa <a href="http://cr.yp.to/chacha/chacha-20080128.pdf">ChaCha, a variant of Salsa20</a> (2008.01.28).
/// \since Crypto++ 5.6.4
@ -59,7 +56,6 @@ struct ChaCha8 : public ChaCha_Info<8>, public SymmetricCipherDocumentation
typedef Encryption Decryption;
};
/// \class ChaCha12
/// \brief ChaCha12 stream cipher
/// \details Bernstein and ECRYPT's ChaCha is _slightly_ different from the TLS working group's implementation for
/// cipher suites <tt>TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</tt>,
@ -72,7 +68,6 @@ struct ChaCha12 : public ChaCha_Info<12>, public SymmetricCipherDocumentation
typedef Encryption Decryption;
};
/// \class ChaCha20
/// \brief ChaCha20 stream cipher
/// \sa <a href="http://cr.yp.to/chacha/chacha-20080128.pdf">ChaCha, a variant of Salsa20</a> (2008.01.28).
/// \details Bernstein and ECRYPT's ChaCha is _slightly_ different from the TLS working group's implementation for

1
cmac.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class CMAC_Base
/// \brief CMAC base implementation
/// \since Crypto++ 5.6.0
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CMAC_Base : public MessageAuthenticationCode

View File

@ -331,7 +331,6 @@ void RandomNumberGenerator::GenerateIntoBufferedTransformation(BufferedTransform
}
}
/// \class ClassNullRNG
/// \brief Random Number Generator that does not produce random numbers
/// \details ClassNullRNG can be used for functions that require a RandomNumberGenerator
/// but don't actually use it. The class throws NotImplemented when a generation function is called.

View File

@ -149,7 +149,6 @@ typedef EnumToType<ByteOrder, LITTLE_ENDIAN_ORDER> LittleEndian;
/// \brief Provides a constant for BigEndian
typedef EnumToType<ByteOrder, BIG_ENDIAN_ORDER> BigEndian;
/// \class Exception
/// \brief Base class for all exceptions thrown by the library
/// \details All library exceptions directly or indirectly inherit from the Exception class.
/// The Exception class itself inherits from std::exception. The library does not use
@ -250,7 +249,6 @@ protected:
int m_errorCode;
};
/// \class DecodingResult
/// \brief Returns a decoding results
struct CRYPTOPP_DLL DecodingResult
{
@ -278,7 +276,6 @@ struct CRYPTOPP_DLL DecodingResult
size_t messageLength;
};
/// \class NameValuePairs
/// \brief Interface for retrieving values given their names
/// \details This class is used to safely pass a variable number of arbitrarily typed arguments to functions
/// and to read values from keys and crypto parameters.
@ -296,7 +293,6 @@ class NameValuePairs
public:
virtual ~NameValuePairs() {}
/// \class ValueTypeMismatch
/// \brief Thrown when an unexpected type is encountered
/// \details Exception thrown when trying to retrieve a value using a different type than expected
class CRYPTOPP_DLL ValueTypeMismatch : public InvalidArgument
@ -454,7 +450,6 @@ public:
CRYPTOPP_DLL virtual bool GetVoidValue(const char *name, const std::type_info &valueType, void *pValue) const =0;
};
/// \class NullNameValuePairs
/// \brief Interface for retrieving values given their names
/// \details This class is used when no names or values are present. Typically a program uses
/// g_nullNameValuePairs rather than creating its own NullNameValuePairs object.
@ -560,7 +555,6 @@ DOCUMENTED_NAMESPACE_END
// ********************************************************
/// \class Clonable
/// \brief Interface for cloning objects
/// \note this is \a not implemented by most classes
/// \sa ClonableImpl, NotCopyable
@ -577,7 +571,6 @@ public:
virtual Clonable* Clone() const {throw NotImplemented("Clone() is not implemented yet.");} // TODO: make this =0
};
/// \class Algorithm
/// \brief Interface for all crypto algorithms
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Algorithm : public Clonable
{
@ -603,7 +596,6 @@ public:
virtual std::string AlgorithmName() const {return "unknown";}
};
/// \class SimpleKeyingInterface
/// \brief Interface for algorithms that take byte strings as keys
/// \sa FixedKeyLength(), VariableKeyLength(), SameKeyLengthAs(), SimpleKeyingInterfaceImpl()
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE SimpleKeyingInterface
@ -902,7 +894,6 @@ public:
inline CipherDir GetCipherDirection() const {return IsForwardTransformation() ? ENCRYPTION : DECRYPTION;}
};
/// \class StreamTransformation
/// \brief Interface for the data processing portion of stream ciphers
/// \sa StreamTransformationFilter()
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE StreamTransformation : public Algorithm
@ -1064,7 +1055,6 @@ public:
virtual bool IsForwardTransformation() const =0;
};
/// \class HashTransformation
/// \brief Interface for hash functions and data processing part of MACs
/// \details HashTransformation objects are stateful. They are created in an initial state,
/// change state as Update() is called, and return to the initial
@ -1257,7 +1247,6 @@ protected:
const Algorithm & GetAlgorithm() const {return *this;}
};
/// \class AuthenticatedSymmetricCipher
/// \brief Interface for authenticated encryption modes of operation
/// \details AuthenticatedSymmetricCipher() provides the interface for one direction
/// (encryption or decryption) of a stream cipher or block cipher mode with authentication. The
@ -1332,7 +1321,6 @@ protected:
{CRYPTOPP_UNUSED(headerLength); CRYPTOPP_UNUSED(messageLength); CRYPTOPP_UNUSED(footerLength);}
};
/// \class RandomNumberGenerator
/// \brief Interface for random number generators
/// \details The library provides a number of random number generators, from software based to hardware based generators.
/// \details All generated values are uniformly distributed over the range specified.
@ -1428,9 +1416,7 @@ public:
/// \sa ClassNullRNG, PK_SignatureScheme::IsProbabilistic()
CRYPTOPP_DLL RandomNumberGenerator & CRYPTOPP_API NullRNG();
/// \class WaitObjectContainer
class WaitObjectContainer;
/// \class CallStack
class CallStack;
/// \brief Interface for objects that can be waited on.
@ -1605,7 +1591,6 @@ public:
virtual size_t PutModifiable2(byte *inString, size_t length, int messageEnd, bool blocking)
{return Put2(inString, length, messageEnd, blocking);}
/// \class BlockingInputOnly
/// \brief Exception thrown by objects that have \a not implemented nonblocking input processing
/// \details BlockingInputOnly inherits from NotImplemented
struct BlockingInputOnly : public NotImplemented
@ -2168,7 +2153,6 @@ private:
/// \return a reference to a BufferedTransformation object that discards all input
CRYPTOPP_DLL BufferedTransformation & TheBitBucket();
/// \class CryptoMaterial
/// \brief Interface for crypto material, such as public and private keys, and crypto parameters
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CryptoMaterial : public NameValuePairs
{
@ -2281,7 +2265,6 @@ public:
#endif
};
/// \class GeneratableCryptoMaterial
/// \brief Interface for generatable crypto material, such as private keys and crypto parameters
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GeneratableCryptoMaterial : virtual public CryptoMaterial
{
@ -2457,7 +2440,6 @@ public:
virtual size_t FixedMaxPlaintextLength() const {return 0;}
};
/// \class PK_Encryptor
/// \brief Interface for public-key encryptors
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_Encryptor : public PK_CryptoSystem, public PublicKeyAlgorithm
{
@ -2493,7 +2475,6 @@ public:
BufferedTransformation *attachment=NULLPTR, const NameValuePairs &parameters = g_nullNameValuePairs) const;
};
/// \class PK_Decryptor
/// \brief Interface for public-key decryptors
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_Decryptor : public PK_CryptoSystem, public PrivateKeyAlgorithm
{
@ -2544,14 +2525,12 @@ public:
{return Decrypt(rng, ciphertext, FixedCiphertextLength(), plaintext, parameters);}
};
/// \class PK_SignatureScheme
/// \brief Interface for public-key signers and verifiers
/// \details This class provides an interface common to signers and verifiers for querying scheme properties
/// \sa DL_SignatureSchemeBase, TF_SignatureSchemeBase, DL_SignerBase, TF_SignerBase
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_SignatureScheme
{
public:
/// \class InvalidKeyLength
/// \brief Exception throw when the private or public key has a length that can't be used
/// \details InvalidKeyLength() may be thrown by any function in this class if the private
/// or public key has a length that can't be used
@ -2561,7 +2540,6 @@ public:
InvalidKeyLength(const std::string &message) : Exception(OTHER_ERROR, message) {}
};
/// \class KeyTooShort
/// \brief Exception throw when the private or public key is too short to sign or verify
/// \details KeyTooShort() may be thrown by any function in this class if the private or public
/// key is too short to sign or verify anything
@ -2623,7 +2601,6 @@ public:
virtual bool RecoverablePartFirst() const =0;
};
/// \class PK_MessageAccumulator
/// \brief Interface for accumulating messages to be signed or verified
/// \details Only Update() should be called from the PK_MessageAccumulator() class. No other functions
/// inherited from HashTransformation, like DigestSize() and TruncatedFinal(), should be called.
@ -2642,7 +2619,6 @@ public:
}
};
/// \class PK_Signer
/// \brief Interface for public-key signers
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE PK_Signer : public PK_SignatureScheme, public PrivateKeyAlgorithm
{
@ -2702,7 +2678,6 @@ public:
const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, byte *signature) const;
};
/// \class PK_Verifier
/// \brief Interface for public-key signature verifiers
/// \details The Recover* functions throw NotImplemented if the signature scheme does not support
/// message recovery.
@ -2776,7 +2751,6 @@ public:
const byte *signature, size_t signatureLength) const;
};
/// \class SimpleKeyAgreementDomain
/// \brief Interface for domains of simple key agreement protocols
/// \details A key agreement domain is a set of parameters that must be shared
/// by two parties in a key agreement protocol, along with the algorithms

View File

@ -30,7 +30,6 @@ typedef SHA256 DefaultHashModule;
/// \brief Default HMAC for use withDefaultEncryptorWithMAC and DefaultDecryptorWithMAC
typedef HMAC<DefaultHashModule> DefaultMAC;
/// \class DataDecryptorErr
/// \brief Exception thrown when LegacyDecryptorWithMAC or DefaultDecryptorWithMAC decryption error is encountered
class DataDecryptorErr : public Exception
{
@ -39,7 +38,6 @@ public:
: Exception(DATA_INTEGRITY_CHECK_FAILED, s) {}
};
/// \class KeyBadErr
/// \brief Exception thrown when a bad key is encountered in DefaultDecryptorWithMAC and LegacyDecryptorWithMAC
class KeyBadErr : public DataDecryptorErr
{
@ -47,7 +45,6 @@ class KeyBadErr : public DataDecryptorErr
: DataDecryptorErr("DataDecryptor: cannot decrypt message with this passphrase") {}
};
/// \class MACBadErr
/// \brief Exception thrown when an incorrect MAC is encountered in DefaultDecryptorWithMAC and LegacyDecryptorWithMAC
class MACBadErr : public DataDecryptorErr
{
@ -55,7 +52,6 @@ class MACBadErr : public DataDecryptorErr
: DataDecryptorErr("DataDecryptorWithMAC: MAC check failed") {}
};
/// \class DataParametersInfo
/// \brief Algorithm information for password-based encryptors and decryptors
template <unsigned int BlockSize, unsigned int KeyLength, unsigned int DigestSize, unsigned int SaltSize, unsigned int Iterations>
struct DataParametersInfo
@ -70,7 +66,6 @@ struct DataParametersInfo
typedef DataParametersInfo<LegacyBlockCipher::BLOCKSIZE, LegacyBlockCipher::DEFAULT_KEYLENGTH, LegacyHashModule::DIGESTSIZE, 8, 200> LegacyParametersInfo;
typedef DataParametersInfo<DefaultBlockCipher::BLOCKSIZE, DefaultBlockCipher::DEFAULT_KEYLENGTH, DefaultHashModule::DIGESTSIZE, 8, 2500> DefaultParametersInfo;
/// \class DataEncryptor
/// \brief Password-based Encryptor
/// \tparam BC BlockCipher based class used for encryption
/// \tparam H HashTransformation based class used for mashing
@ -109,7 +104,6 @@ private:
typename CBC_Mode<BC>::Encryption m_cipher;
};
/// \class DataDecryptor
/// \brief Password-based Decryptor
/// \tparam BC BlockCipher based class used for encryption
/// \tparam H HashTransformation based class used for mashing
@ -160,7 +154,6 @@ private:
};
/// \class DataEncryptorWithMAC
/// \brief Password-based encryptor with MAC
/// \tparam BC BlockCipher based class used for encryption
/// \tparam H HashTransformation based class used for mashing
@ -206,7 +199,6 @@ private:
};
/// \class DataDecryptorWithMAC
/// \brief Password-based decryptor with MAC
/// \tparam BC BlockCipher based class used for encryption
/// \tparam H HashTransformation based class used for mashing
@ -259,49 +251,41 @@ private:
};
#if defined(CRYPTOPP_DOXYGEN_PROCESSING)
/// \class LegacyEncryptor
/// \brief Password-based encryptor (deprecated)
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct LegacyEncryptor : public DataEncryptor<LegacyBlockCipher,LegacyHashModule,LegacyParametersInfo> {};
/// \class LegacyDecryptor
/// \brief Password-based decryptor (deprecated)
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct LegacyDecryptor : public DataDecryptor<LegacyBlockCipher,LegacyHashModule,LegacyParametersInfo> {};
/// \class DefaultEncryptor
/// \brief Password-based encryptor
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct DefaultEncryptor : public DataEncryptor<DefaultBlockCipher,DefaultHashModule,DefaultParametersInfo> {};
/// \class DefaultDecryptor
/// \brief Password-based decryptor
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct DefaultDecryptor : public DataDecryptor<DefaultBlockCipher,DefaultHashModule,DefaultParametersInfo> {};
/// \class LegacyEncryptorWithMAC
/// \brief Password-based encryptor with MAC (deprecated)
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct LegacyEncryptorWithMAC : public DataEncryptorWithMAC<LegacyBlockCipher,LegacyHashModule,DefaultMAC,LegacyParametersInfo> {};
/// \class LegacyDecryptorWithMAC
/// \brief Password-based decryptor with MAC (deprecated)
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct LegacyDecryptorWithMAC : public DataDecryptorWithMAC<LegacyBlockCipher,LegacyHashModule,DefaultMAC,LegacyParametersInfo> {};
/// \class DefaultEncryptorWithMAC
/// \brief Password-based encryptor with MAC
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the
/// <tt>Default*</tt> classes, and the old algorithms are available with the <tt>Legacy*</tt> classes.
struct DefaultEncryptorWithMAC : public DataEncryptorWithMAC<DefaultBlockCipher,DefaultHashModule,DefaultMAC,DefaultParametersInfo> {};
/// \class DefaultDecryptorWithMAC
/// \brief Password-based decryptor with MAC
/// \details Crypto++ 5.6.5 and earlier used the legacy algorithms, including DES_EDE2 and SHA1.
/// Crypto++ 5.7 switched to AES and SHA256. The updated algorithms are available with the

13
des.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RawDES
/// \brief DES block cipher base class
class CRYPTOPP_DLL RawDES
{
@ -25,7 +24,6 @@ protected:
FixedSizeSecBlock<word32, 32> k;
};
/// \class DES_Info
/// \brief DES block cipher information
struct DES_Info : public FixedBlockSize<8>, public FixedKeyLength<8>
{
@ -33,7 +31,6 @@ struct DES_Info : public FixedBlockSize<8>, public FixedKeyLength<8>
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "DES";}
};
/// \class DES
/// \brief DES block cipher
/// \details The DES implementation in Crypto++ ignores the parity bits
/// (the least significant bits of each byte) in the key. However you can use CheckKeyParityBits()
@ -42,7 +39,6 @@ struct DES_Info : public FixedBlockSize<8>, public FixedKeyLength<8>
/// \since Crypto++ 1.0
class DES : public DES_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief DES block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<DES_Info>, public RawDES
{
@ -61,20 +57,17 @@ public:
typedef BlockCipherFinal<DECRYPTION, Base> Decryption;
};
/// \class DES_EDE2_Info
/// \brief 2-key TripleDES block cipher information
struct DES_EDE2_Info : public FixedBlockSize<8>, public FixedKeyLength<16>
{
CRYPTOPP_DLL static const char * CRYPTOPP_API StaticAlgorithmName() {return "DES-EDE2";}
};
/// \class DES_EDE2
/// \brief 2-key TripleDES block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/TripleDES">DES-EDE2</a>
/// \since Crypto++ 1.0
class DES_EDE2 : public DES_EDE2_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief DES_EDE2 block cipher default operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<DES_EDE2_Info>
{
@ -91,20 +84,17 @@ public:
typedef BlockCipherFinal<DECRYPTION, Base> Decryption;
};
/// \class DES_EDE3_Info
/// \brief 3-key TripleDES block cipher information
struct DES_EDE3_Info : public FixedBlockSize<8>, public FixedKeyLength<24>
{
CRYPTOPP_DLL static const char * CRYPTOPP_API StaticAlgorithmName() {return "DES-EDE3";}
};
/// \class DES_EDE3
/// \brief 3-key TripleDES block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/TripleDES">DES-EDE3</a>
/// \since Crypto++ 1.0
class DES_EDE3 : public DES_EDE3_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief DES_EDE3 block cipher default operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<DES_EDE3_Info>
{
@ -121,20 +111,17 @@ public:
typedef BlockCipherFinal<DECRYPTION, Base> Decryption;
};
/// \class DES_XEX3_Info
/// \brief DESX block cipher information
struct DES_XEX3_Info : public FixedBlockSize<8>, public FixedKeyLength<24>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "DES-XEX3";}
};
/// \class DES_XEX3
/// \brief DESX block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/TripleDES">DES-XEX3</a>, AKA DESX
/// \since Crypto++ 1.0
class DES_XEX3 : public DES_XEX3_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief DES_XEX3 block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<DES_XEX3_Info>
{

1
dh.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class DH_Domain
/// \brief Diffie-Hellman domain
/// \tparam GROUP_PARAMETERS group parameters
/// \tparam COFACTOR_OPTION cofactor multiplication option

1
dh2.h
View File

@ -10,7 +10,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class DH2
/// \brief Unified Diffie-Hellman in GF(p)
/// \details A Diffie-Hellman domain is a set of parameters that must be shared
/// by two parties in a key agreement protocol, along with the algorithms

2
dmac.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class DMAC_Base
/// \brief DMAC message authentication code base class
/// \tparam T class derived from BlockCipherDocumentation
template <class T>
@ -39,7 +38,6 @@ private:
unsigned int m_counter;
};
/// \class DMAC
/// \brief DMAC message authentication code
/// \tparam T class derived from BlockCipherDocumentation
/// \sa <A HREF="https://eprint.iacr.org/1997/010">CBC MAC for Real-Time Data Sources (08.15.1997)</A>

3
drbg.h
View File

@ -16,7 +16,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class NIST_DRBG
/// \brief Interface for NIST DRBGs from SP 800-90A
/// \details NIST_DRBG is the base class interface for NIST DRBGs from SP 800-90A Rev 1 (June 2015)
/// \sa <A HREF="http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf">Recommendation
@ -146,7 +145,6 @@ protected:
// *************************************************************
/// \class Hash_DRBG
/// \tparam HASH NIST approved hash derived from HashTransformation
/// \tparam STRENGTH security strength, in bytes
/// \tparam SEEDLENGTH seed length, in bytes
@ -261,7 +259,6 @@ private:
// *************************************************************
/// \class HMAC_DRBG
/// \tparam HASH NIST approved hash derived from HashTransformation
/// \tparam STRENGTH security strength, in bytes
/// \tparam SEEDLENGTH seed length, in bytes

3
eax.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class EAX_Base
/// \brief EAX block cipher base implementation
/// \details Base implementation of the AuthenticatedSymmetricCipher interface
/// \since Crypto++ 5.6.0
@ -67,7 +66,6 @@ protected:
CTR_Mode_ExternalCipher::Encryption m_ctr;
};
/// \class EAX_Final
/// \brief EAX block cipher final implementation
/// \tparam T_BlockCipher block cipher
/// \tparam T_IsEncryption direction in which to operate the cipher
@ -90,7 +88,6 @@ private:
#undef EAX
#endif
/// \class EAX
/// \brief EAX block cipher mode of operation
/// \tparam T_BlockCipher block cipher
/// \details \p EAX provides the \p Encryption and \p Decryption typedef. See EAX_Base

3
ec2n.h
View File

@ -24,7 +24,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class EC2N
/// \brief Elliptic Curve over GF(2^n)
class CRYPTOPP_DLL EC2N : public AbstractGroup<EC2NPoint>, public EncodedPoint<EC2NPoint>
{
@ -97,12 +96,10 @@ private:
CRYPTOPP_DLL_TEMPLATE_CLASS DL_FixedBasePrecomputationImpl<EC2N::Point>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupPrecomputation<EC2N::Point>;
/// \class EcPrecomputation
/// \brief Elliptic Curve precomputation
/// \tparam EC elliptic curve field
template <class EC> class EcPrecomputation;
/// \class EcPrecomputation<EC2N>
/// \brief EC2N precomputation specialization
/// \details Implementation of <tt>DL_GroupPrecomputation<EC2N::Point></tt>
/// \sa DL_GroupPrecomputation

View File

@ -168,7 +168,6 @@ protected:
mutable bool m_compress, m_encodeAsOID; // presentation details
};
/// \class DL_PublicKey_EC
/// \brief Elliptic Curve Discrete Log (DL) public key
/// \tparam EC elliptic curve field
template <class EC>
@ -200,7 +199,6 @@ public:
void DEREncodePublicKey(BufferedTransformation &bt) const;
};
/// \class DL_PrivateKey_EC
/// \brief Elliptic Curve Discrete Log (DL) private key
/// \tparam EC elliptic curve field
template <class EC>
@ -256,7 +254,6 @@ public:
template<class EC>
DL_PrivateKey_EC<EC>::~DL_PrivateKey_EC() {}
/// \class ECDH
/// \brief Elliptic Curve Diffie-Hellman
/// \tparam EC elliptic curve field
/// \tparam COFACTOR_OPTION cofactor multiplication option
@ -267,7 +264,6 @@ struct ECDH
typedef DH_Domain<DL_GroupParameters_EC<EC>, COFACTOR_OPTION> Domain;
};
/// \class ECMQV
/// \brief Elliptic Curve Menezes-Qu-Vanstone
/// \tparam EC elliptic curve field
/// \tparam COFACTOR_OPTION cofactor multiplication option
@ -278,7 +274,6 @@ struct ECMQV
typedef MQV_Domain<DL_GroupParameters_EC<EC>, COFACTOR_OPTION> Domain;
};
/// \class ECHMQV
/// \brief Hashed Elliptic Curve Menezes-Qu-Vanstone
/// \tparam EC elliptic curve field
/// \tparam COFACTOR_OPTION cofactor multiplication option
@ -296,7 +291,6 @@ typedef ECHMQV< ECP, DL_GroupParameters_EC< ECP >::DefaultCofactorOption, SHA256
typedef ECHMQV< ECP, DL_GroupParameters_EC< ECP >::DefaultCofactorOption, SHA384 >::Domain ECHMQV384;
typedef ECHMQV< ECP, DL_GroupParameters_EC< ECP >::DefaultCofactorOption, SHA512 >::Domain ECHMQV512;
/// \class ECFHMQV
/// \brief Fully Hashed Elliptic Curve Menezes-Qu-Vanstone
/// \tparam EC elliptic curve field
/// \tparam COFACTOR_OPTION cofactor multiplication option
@ -315,7 +309,6 @@ typedef ECFHMQV< ECP, DL_GroupParameters_EC< ECP >::DefaultCofactorOption, SHA25
typedef ECFHMQV< ECP, DL_GroupParameters_EC< ECP >::DefaultCofactorOption, SHA384 >::Domain ECFHMQV384;
typedef ECFHMQV< ECP, DL_GroupParameters_EC< ECP >::DefaultCofactorOption, SHA512 >::Domain ECFHMQV512;
/// \class DL_Keys_EC
/// \brief Elliptic Curve Discrete Log (DL) keys
/// \tparam EC elliptic curve field
template <class EC>
@ -329,7 +322,6 @@ struct DL_Keys_EC
template <class EC, class H>
struct ECDSA;
/// \class DL_Keys_ECDSA
/// \brief Elliptic Curve DSA keys
/// \tparam EC elliptic curve field
template <class EC>
@ -339,7 +331,6 @@ struct DL_Keys_ECDSA
typedef DL_PrivateKey_WithSignaturePairwiseConsistencyTest<DL_PrivateKey_EC<EC>, ECDSA<EC, SHA256> > PrivateKey;
};
/// \class DL_Algorithm_ECDSA
/// \brief Elliptic Curve DSA (ECDSA) signature algorithm
/// \tparam EC elliptic curve field
template <class EC>
@ -349,7 +340,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* CRYPTOPP_API StaticAlgorithmName() {return "ECDSA";}
};
/// \class DL_Algorithm_ECDSA_RFC6979
/// \brief Elliptic Curve DSA (ECDSA) signature algorithm based on RFC 6979
/// \tparam EC elliptic curve field
/// \sa <a href="http://tools.ietf.org/rfc/rfc6979.txt">RFC 6979, Deterministic Usage of the
@ -362,7 +352,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* CRYPTOPP_API StaticAlgorithmName() {return "ECDSA-RFC6979";}
};
/// \class DL_Algorithm_ECNR
/// \brief Elliptic Curve NR (ECNR) signature algorithm
/// \tparam EC elliptic curve field
template <class EC>
@ -372,7 +361,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* CRYPTOPP_API StaticAlgorithmName() {return "ECNR";}
};
/// \class ECDSA
/// \brief Elliptic Curve DSA (ECDSA) signature scheme
/// \tparam EC elliptic curve field
/// \tparam H HashTransformation derived class
@ -382,7 +370,6 @@ struct ECDSA : public DL_SS<DL_Keys_ECDSA<EC>, DL_Algorithm_ECDSA<EC>, DL_Signat
{
};
/// \class ECDSA_RFC6979
/// \brief Elliptic Curve DSA (ECDSA) deterministic signature scheme
/// \tparam EC elliptic curve field
/// \tparam H HashTransformation derived class
@ -399,7 +386,6 @@ struct ECDSA_RFC6979 : public DL_SS<
static std::string CRYPTOPP_API StaticAlgorithmName() {return std::string("ECDSA-RFC6979/") + H::StaticAlgorithmName();}
};
/// \class ECNR
/// \brief Elliptic Curve NR (ECNR) signature scheme
/// \tparam EC elliptic curve field
/// \tparam H HashTransformation derived class
@ -415,7 +401,6 @@ class DL_PublicKey_ECGDSA_ISO15946;
template <class EC>
class DL_PrivateKey_ECGDSA_ISO15946;
/// \class DL_PrivateKey_ECGDSA_ISO15946
/// \brief Elliptic Curve German DSA key for ISO/IEC 15946
/// \tparam EC elliptic curve field
/// \sa ECGDSA_ISO15946
@ -498,7 +483,6 @@ public:
void DEREncodePrivateKey(BufferedTransformation &bt) const;
};
/// \class DL_PublicKey_ECGDSA_ISO15946
/// \brief Elliptic Curve German DSA key for ISO/IEC 15946
/// \tparam EC elliptic curve field
/// \sa ECGDSA_ISO15946
@ -551,7 +535,6 @@ public:
void DEREncodePublicKey(BufferedTransformation &bt) const;
};
/// \class DL_Keys_ECGDSA_ISO15946
/// \brief Elliptic Curve German DSA keys for ISO/IEC 15946
/// \tparam EC elliptic curve field
/// \sa ECGDSA_ISO15946
@ -563,7 +546,6 @@ struct DL_Keys_ECGDSA_ISO15946
typedef DL_PrivateKey_ECGDSA_ISO15946<EC> PrivateKey;
};
/// \class DL_Algorithm_ECGDSA_ISO15946
/// \brief Elliptic Curve German DSA signature algorithm
/// \tparam EC elliptic curve field
/// \sa ECGDSA_ISO15946
@ -575,7 +557,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* CRYPTOPP_API StaticAlgorithmName() {return "ECGDSA";}
};
/// \class ECGDSA
/// \brief Elliptic Curve German Digital Signature Algorithm signature scheme
/// \tparam EC elliptic curve field
/// \tparam H HashTransformation derived class
@ -595,7 +576,6 @@ struct ECGDSA : public DL_SS<
// ******************************************
/// \class ECIES
/// \brief Elliptic Curve Integrated Encryption Scheme
/// \tparam COFACTOR_OPTION cofactor multiplication option
/// \tparam HASH HashTransformation derived class used for key drivation and MAC computation

3
ecp.h
View File

@ -22,7 +22,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ECP
/// \brief Elliptic Curve over GF(p), where p is prime
class CRYPTOPP_DLL ECP : public AbstractGroup<ECPPoint>, public EncodedPoint<ECPPoint>
{
@ -104,12 +103,10 @@ private:
CRYPTOPP_DLL_TEMPLATE_CLASS DL_FixedBasePrecomputationImpl<ECP::Point>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupPrecomputation<ECP::Point>;
/// \class EcPrecomputation
/// \brief Elliptic Curve precomputation
/// \tparam EC elliptic curve field
template <class EC> class EcPrecomputation;
/// \class EcPrecomputation<ECP>
/// \brief ECP precomputation specialization
/// \details Implementation of <tt>DL_GroupPrecomputation<ECP::Point></tt> with input and output
/// conversions for Montgomery modular multiplication.

View File

@ -15,7 +15,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ECPPoint
/// \brief Elliptical Curve Point over GF(p), where p is prime
/// \since Crypto++ 2.0
struct CRYPTOPP_DLL ECPPoint
@ -49,7 +48,6 @@ struct CRYPTOPP_DLL ECPPoint
CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup<ECPPoint>;
/// \class EC2NPoint
/// \brief Elliptical Curve Point over GF(2^n)
/// \since Crypto++ 2.0
struct CRYPTOPP_DLL EC2NPoint
@ -83,7 +81,6 @@ struct CRYPTOPP_DLL EC2NPoint
CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup<EC2NPoint>;
/// \class EncodedPoint
/// \brief Abstract class for encoding and decoding ellicptic curve points
/// \tparam Point ellicptic curve point
/// \details EncodedPoint is an interface for encoding and decoding elliptic curve points.

View File

@ -16,7 +16,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ElGamalBase
/// \brief ElGamal key agreement and encryption schemes base class
/// \since Crypto++ 1.0
class CRYPTOPP_NO_VTABLE ElGamalBase : public DL_KeyAgreementAlgorithm_DH<Integer, NoCofactorMultiplication>,
@ -93,7 +92,6 @@ public:
virtual const DL_GroupParameters_GFP & GetGroupParameters() const =0;
};
/// \class ElGamalObjectImpl
/// \brief ElGamal key agreement and encryption schemes default implementation
/// \since Crypto++ 1.0
template <class BASE, class SCHEME_OPTIONS, class KEY>
@ -116,7 +114,6 @@ protected:
const DL_SymmetricEncryptionAlgorithm & GetSymmetricEncryptionAlgorithm() const {return *this;}
};
/// \class ElGamalKeys
/// \brief ElGamal key agreement and encryption schemes keys
/// \details The ElGamalKeys class used DL_PrivateKey_GFP_OldFormat and DL_PublicKey_GFP_OldFormat
/// for the PrivateKey and PublicKey typedef from about Crypto++ 1.0 through Crypto++ 5.6.5.
@ -129,7 +126,6 @@ struct ElGamalKeys
typedef DL_CryptoKeys_GFP::PublicKey PublicKey;
};
/// \class ElGamal
/// \brief ElGamal encryption scheme with non-standard padding
/// \since Crypto++ 1.0
struct ElGamal

View File

@ -17,7 +17,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class EMSA2HashId
/// \brief EMSA2 hash identifier
/// \tparam H HashTransformation derived class
/// \since Crypto++ 5.0
@ -27,7 +26,6 @@ public:
static const byte id;
};
/// \class EMSA2Pad
/// \brief EMSA2 padding method
/// \tparam BASE Message encoding method
/// \since Crypto++ 5.0
@ -68,7 +66,6 @@ template<> const byte EMSA2HashId<SHA384>::id;
template<> const byte EMSA2HashId<SHA512>::id;
#endif
/// \class EMSA2Pad
/// \brief EMSA2 padding method
/// \since Crypto++ 5.0
class CRYPTOPP_DLL EMSA2Pad : public EMSA2HashIdLookup<PK_DeterministicSignatureMessageEncodingMethod>
@ -91,7 +88,6 @@ public:
// \skip EMSA2HashId can be instantiated
// \until end of list
/// \class P1363_EMSA2
/// \brief EMSA2/P1363 padding method
/// \details Use with RWSS and RSA_ISO
/// \since Crypto++ 5.0

View File

@ -15,7 +15,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ESIGNFunction
/// \brief ESIGN trapdoor function using the public key
/// \since Crypto++ 5.0
class ESIGNFunction : public TrapdoorFunction, public ASN1CryptoMaterial<PublicKey>
@ -58,7 +57,6 @@ protected:
Integer m_n, m_e;
};
/// \class InvertibleESIGNFunction
/// \brief ESIGN trapdoor function using the private key
/// \since Crypto++ 5.0
class InvertibleESIGNFunction : public ESIGNFunction, public RandomizedTrapdoorFunctionInverse, public PrivateKey
@ -115,7 +113,6 @@ protected:
Integer m_p, m_q;
};
/// \class EMSA5Pad
/// \brief EMSA5 padding method
/// \tparam T Mask Generation Function
/// \since Crypto++ 5.0
@ -142,7 +139,6 @@ public:
}
};
/// \class P1363_EMSA5
/// \brief EMSA5 padding method, for use with ESIGN
/// \since Crypto++ 5.0
struct P1363_EMSA5 : public SignatureStandard
@ -150,7 +146,6 @@ struct P1363_EMSA5 : public SignatureStandard
typedef EMSA5Pad<P1363_MGF1> SignatureMessageEncodingMethod;
};
/// \class ESIGN_Keys
/// \brief ESIGN keys
/// \since Crypto++ 5.0
struct ESIGN_Keys
@ -160,7 +155,6 @@ struct ESIGN_Keys
typedef InvertibleESIGNFunction PrivateKey;
};
/// \class ESIGN
/// \brief ESIGN signature scheme, IEEE P1363a
/// \tparam H HashTransformation derived class
/// \tparam STANDARD Signature encoding method

View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ObjectFactory
/// \brief Object factory interface for registering objects
/// \tparam AbstractClass Base class interface of the object
template <class AbstractClass>
@ -23,7 +22,6 @@ public:
virtual AbstractClass * CreateObject() const =0;
};
/// \class DefaultObjectFactory
/// \brief Object factory for registering objects
/// \tparam AbstractClass Base class interface of the object
/// \tparam ConcreteClass Class object
@ -37,7 +35,6 @@ public:
}
};
/// \class ObjectFactoryRegistry
/// \brief Object factory registry
/// \tparam AbstractClass Base class interface of the object
/// \tparam instance unique identifier
@ -105,7 +102,6 @@ ObjectFactoryRegistry<AbstractClass, instance> & ObjectFactoryRegistry<AbstractC
return s_registry;
}
/// \class RegisterDefaultFactoryFor
/// \brief Object factory registry helper
/// \tparam AbstractClass Base class interface of the object
/// \tparam ConcreteClass Class object

View File

@ -17,7 +17,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class FileStore
/// \brief Implementation of Store interface
/// \details file-based implementation of Store interface
class CRYPTOPP_DLL FileStore : public Store, private FilterPutSpaceHelper, public NotCopyable
@ -78,7 +77,6 @@ private:
bool m_waiting;
};
/// \class FileSource
/// \brief Implementation of Store interface
/// \details file-based implementation of Store interface
class CRYPTOPP_DLL FileSource : public SourceTemplate<FileStore>
@ -123,7 +121,6 @@ public:
std::istream* GetStream() {return m_store.GetStream();}
};
/// \class FileSink
/// \brief Implementation of Store interface
/// \details file-based implementation of Sink interface
class CRYPTOPP_DLL FileSink : public Sink, public NotCopyable

View File

@ -24,7 +24,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Filter
/// \brief Implementation of BufferedTransformation's attachment interface
/// \details Filter is a cornerstone of the Pipeline trinitiy. Data flows from
/// Sources, through Filters, and then terminates in Sinks. The difference
@ -155,7 +154,6 @@ protected:
int m_continueAt;
};
/// \class FilterPutSpaceHelper
/// \brief Create a working space in a BufferedTransformation
struct CRYPTOPP_DLL FilterPutSpaceHelper
{
@ -213,7 +211,6 @@ struct CRYPTOPP_DLL FilterPutSpaceHelper
SecByteBlock m_tempSpace;
};
/// \class MeterFilter
/// \brief Measure how many bytes and messages pass through the filter
/// \details measure how many bytes and messages pass through the filter. The filter also serves as valve by
/// maintaining a list of ranges to skip during processing.
@ -285,7 +282,6 @@ private:
size_t m_length;
};
/// \class TransparentFilter
/// \brief A transparent MeterFilter
/// \sa MeterFilter, OpaqueFilter
class CRYPTOPP_DLL TransparentFilter : public MeterFilter
@ -296,7 +292,6 @@ public:
TransparentFilter(BufferedTransformation *attachment=NULLPTR) : MeterFilter(attachment, true) {}
};
/// \class OpaqueFilter
/// \brief A non-transparent MeterFilter
/// \sa MeterFilter, TransparentFilter
class CRYPTOPP_DLL OpaqueFilter : public MeterFilter
@ -307,7 +302,6 @@ public:
OpaqueFilter(BufferedTransformation *attachment=NULLPTR) : MeterFilter(attachment, false) {}
};
/// \class FilterWithBufferedInput
/// \brief Divides an input stream into discrete blocks
/// \details FilterWithBufferedInput divides the input stream into a first block, a number of
/// middle blocks, and a last block. First and last blocks are optional, and middle blocks may
@ -425,7 +419,6 @@ protected:
BlockQueue m_queue;
};
/// \class FilterWithInputQueue
/// \brief A filter that buffers input using a ByteQueue
/// \details FilterWithInputQueue will buffer input using a ByteQueue. When the filter receives
/// a \ref BufferedTransformation::MessageEnd() "MessageEnd()" signal it will pass the data
@ -498,7 +491,6 @@ struct BlockPaddingSchemeDef
};
};
/// \class StreamTransformationFilter
/// \brief Filter wrapper for StreamTransformation
/// \details StreamTransformationFilter() is a filter wrapper for StreamTransformation(). It is used when
/// pipelining data for stream ciphers and confidentiality-only block ciphers. The filter will optionally
@ -553,7 +545,6 @@ protected:
bool m_isSpecial;
};
/// \class HashFilter
/// \brief Filter wrapper for HashTransformation
/// \since Crypto++ 1.0
class CRYPTOPP_DLL HashFilter : public Bufferless<Filter>, private FilterPutSpaceHelper
@ -583,7 +574,6 @@ private:
std::string m_messagePutChannel, m_hashPutChannel;
};
/// \class HashVerificationFilter
/// \brief Filter wrapper for HashTransformation
/// \since Crypto++ 4.0
class CRYPTOPP_DLL HashVerificationFilter : public FilterWithBufferedInput
@ -591,7 +581,6 @@ class CRYPTOPP_DLL HashVerificationFilter : public FilterWithBufferedInput
public:
virtual ~HashVerificationFilter() {}
/// \class HashVerificationFailed
/// \brief Exception thrown when a data integrity check failure is encountered
class HashVerificationFailed : public Exception
{
@ -647,7 +636,6 @@ private:
SecByteBlock m_expectedHash;
};
/// \class AuthenticatedEncryptionFilter
/// \brief Filter wrapper for encrypting with AuthenticatedSymmetricCipher
/// \details AuthenticatedEncryptionFilter() is a wrapper for encrypting with AuthenticatedSymmetricCipher(),
/// optionally handling padding/unpadding when needed.
@ -689,7 +677,6 @@ protected:
HashFilter m_hf;
};
/// \class AuthenticatedDecryptionFilter
/// \brief Filter wrapper for decrypting with AuthenticatedSymmetricCipher
/// \details AuthenticatedDecryptionFilter() is a wrapper for decrypting with AuthenticatedSymmetricCipher(),
/// optionally handling padding/unpadding when needed.
@ -751,7 +738,6 @@ protected:
StreamTransformationFilter m_streamFilter;
};
/// \class SignerFilter
/// \brief Filter wrapper for PK_Signer
/// \since Crypto++ 4.0
class CRYPTOPP_DLL SignerFilter : public Unflushable<Filter>
@ -780,7 +766,6 @@ private:
SecByteBlock m_buf;
};
/// \class SignatureVerificationFilter
/// \brief Filter wrapper for PK_Verifier
/// \details This filter was formerly named <tt>VerifierFilter</tt>. The name changed at Crypto++ 5.0.
/// \since Crypto++ 4.0
@ -843,7 +828,6 @@ private:
bool m_verified;
};
/// \class Redirector
/// \brief Redirect input to another BufferedTransformation without owning it
/// \since Crypto++ 4.0
class CRYPTOPP_DLL Redirector : public CustomSignalPropagation<Sink>
@ -938,7 +922,6 @@ private:
word32 m_behavior;
};
/// \class OutputProxy
/// \brief Filter class that is a proxy for a sink
/// \details Used By ProxyFilter
/// \since Crypto++ 4.0
@ -988,7 +971,6 @@ private:
bool m_passSignal;
};
/// \class ProxyFilter
/// \brief Base class for Filter classes that are proxies for a chain of other filters
/// \since Crypto++ 4.0
class CRYPTOPP_DLL ProxyFilter : public FilterWithBufferedInput
@ -1015,7 +997,6 @@ protected:
member_ptr<BufferedTransformation> m_filter;
};
/// \class SimpleProxyFilter
/// \brief Proxy filter that doesn't modify the underlying filter's input or output
/// \since Crypto++ 5.0
class CRYPTOPP_DLL SimpleProxyFilter : public ProxyFilter
@ -1044,7 +1025,6 @@ public:
{CRYPTOPP_UNUSED(inString), CRYPTOPP_UNUSED(length); m_filter->MessageEnd();}
};
/// \class PK_EncryptorFilter
/// \brief Filter wrapper for PK_Encryptor
/// \details PK_DecryptorFilter is a proxy for the filter created by PK_Encryptor::CreateEncryptionFilter.
/// This class provides symmetry with VerifierFilter.
@ -1060,7 +1040,6 @@ public:
: SimpleProxyFilter(encryptor.CreateEncryptionFilter(rng), attachment) {}
};
/// \class PK_DecryptorFilter
/// \brief Filter wrapper for PK_Decryptor
/// \details PK_DecryptorFilter is a proxy for the filter created by PK_Decryptor::CreateDecryptionFilter.
/// This class provides symmetry with SignerFilter.
@ -1076,7 +1055,6 @@ public:
: SimpleProxyFilter(decryptor.CreateDecryptionFilter(rng), attachment) {}
};
/// \class StringSinkTemplate
/// \brief Append input to a string object
/// \tparam T std::basic_string<char> type
/// \details StringSinkTemplate is a StringSinkTemplate typedef
@ -1114,7 +1092,6 @@ private:
T *m_output;
};
/// \class StringSink
/// \brief Append input to a string object
/// \details StringSink is a typedef for StringSinkTemplate<std::string>.
/// \sa ArraySink, ArrayXorSink
@ -1122,7 +1099,6 @@ private:
DOCUMENTED_TYPEDEF(StringSinkTemplate<std::string>, StringSink)
CRYPTOPP_DLL_TEMPLATE_CLASS StringSinkTemplate<std::string>;
/// \class RandomNumberSink
/// \brief Incorporates input into RNG as additional entropy
/// \since Crypto++ 4.0
class RandomNumberSink : public Bufferless<Sink>
@ -1146,7 +1122,6 @@ private:
RandomNumberGenerator *m_rng;
};
/// \class ArraySink
/// \brief Copy input to a memory buffer
/// \details ArraySink wraps a fixed size buffer. The buffer is full once Put returns non-0.
/// When used in a pipleline, ArraySink silently discards input if the buffer is full.
@ -1189,7 +1164,6 @@ protected:
lword m_total;
};
/// \class ArrayXorSink
/// \brief Xor input to a memory buffer
/// \details ArrayXorSink wraps a fixed size buffer. The buffer is full once Put returns non-0.
/// When used in a pipleline, ArrayXorSink silently discards input if the buffer is full.
@ -1212,7 +1186,6 @@ public:
byte * CreatePutSpace(size_t &size) {return BufferedTransformation::CreatePutSpace(size);}
};
/// \class StringStore
/// \brief String-based implementation of Store interface
/// \since Crypto++ 4.0
class StringStore : public Store
@ -1245,7 +1218,6 @@ private:
size_t m_length, m_count;
};
/// \class RandomNumberStore
/// \brief RNG-based implementation of Source interface
/// \since Crypto++ 4.0
class CRYPTOPP_DLL RandomNumberStore : public Store
@ -1292,7 +1264,6 @@ private:
lword m_size;
};
/// \class Source
/// \brief Implementation of BufferedTransformation's attachment interface
/// \details Source is a cornerstone of the Pipeline trinitiy. Data flows from
/// Sources, through Filters, and then terminates in Sinks. The difference
@ -1372,7 +1343,6 @@ protected:
}
};
/// \class SourceTemplate
/// \brief Transform a Store into a Source
/// \tparam T the class or type
/// \since Crypto++ 5.0
@ -1405,7 +1375,6 @@ protected:
T m_store;
};
/// \class SourceTemplate
/// \brief String-based implementation of the Source interface
/// \since Crypto++ 4.0
class CRYPTOPP_DLL StringSource : public SourceTemplate<StringStore>
@ -1439,7 +1408,6 @@ public:
: SourceTemplate<StringStore>(attachment) {SourceInitialize(pumpAll, MakeParameters("InputBuffer", ConstByteArrayParameter(string)));}
};
/// \class ArraySource
/// \brief Pointer-based implementation of the Source interface
/// \details ArraySource is a typedef for StringSource. Use the third constructor for an array source.
/// The third constructor takes a pointer and length.

View File

@ -16,7 +16,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SelfTestFailure
/// Exception thrown when a crypto algorithm is used after a self test fails
/// \details The self tests for an algorithm are performed by Algortihm class
/// when CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined.

3
gcm.h
View File

@ -20,7 +20,6 @@ enum GCM_TablesOption {
/// \brief Use a table with 64K entries
GCM_64K_Tables};
/// \class GCM_Base
/// \brief GCM block cipher base implementation
/// \details Base implementation of the AuthenticatedSymmetricCipher interface
/// \since Crypto++ 5.6.0
@ -91,7 +90,6 @@ protected:
enum {REQUIRED_BLOCKSIZE = 16, HASH_BLOCKSIZE = 16};
};
/// \class GCM_Final
/// \brief GCM block cipher final implementation
/// \tparam T_BlockCipher block cipher
/// \tparam T_TablesOption table size, either \p GCM_2K_Tables or \p GCM_64K_Tables
@ -112,7 +110,6 @@ private:
typename T_BlockCipher::Encryption m_cipher;
};
/// \class GCM
/// \brief GCM block cipher mode of operation
/// \tparam T_BlockCipher block cipher
/// \tparam T_TablesOption table size, either \p GCM_2K_Tables or \p GCM_64K_Tables

View File

@ -30,7 +30,6 @@ NAMESPACE_BEGIN(CryptoPP)
CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupParameters<Integer>;
/// \class DL_GroupParameters_IntegerBased
/// \brief Integer-based GroupParameters specialization
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE DL_GroupParameters_IntegerBased : public ASN1CryptoMaterial<DL_GroupParameters<Integer> >
{
@ -113,7 +112,6 @@ private:
Integer m_q;
};
/// \class DL_GroupParameters_IntegerBasedImpl
/// \brief Integer-based GroupParameters default implementation
/// \tparam GROUP_PRECOMP group parameters precomputation specialization
/// \tparam BASE_PRECOMP base class precomputation specialization
@ -154,7 +152,6 @@ public:
CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupParameters_IntegerBasedImpl<ModExpPrecomputation>;
/// \class DL_GroupParameters_GFP
/// \brief GF(p) group parameters
class CRYPTOPP_DLL DL_GroupParameters_GFP : public DL_GroupParameters_IntegerBasedImpl<ModExpPrecomputation>
{
@ -179,7 +176,6 @@ protected:
int GetFieldType() const {return 1;}
};
/// \class DL_GroupParameters_GFP
/// \brief GF(p) group parameters that default to safe primes
class CRYPTOPP_DLL DL_GroupParameters_GFP_DefaultSafePrime : public DL_GroupParameters_GFP
{
@ -192,7 +188,6 @@ protected:
unsigned int GetDefaultSubgroupOrderSize(unsigned int modulusSize) const {return modulusSize-1;}
};
/// \class DL_Algorithm_GDSA
/// \brief GDSA algorithm
/// \tparam T FieldElement type or class
template <class T>
@ -226,7 +221,6 @@ public:
}
};
/// \class DL_Algorithm_DSA_RFC6979
/// \brief DSA signature algorithm based on RFC 6979
/// \tparam T FieldElement type or class
/// \tparam H HashTransformation derived class
@ -384,7 +378,6 @@ private:
mutable HMAC<H> m_hmac;
};
/// \class DL_Algorithm_GDSA_ISO15946
/// \brief German Digital Signature Algorithm
/// \tparam T FieldElement type or class
/// \details The Digital Signature Scheme ECGDSA does not define the algorithm over integers. Rather, the
@ -431,7 +424,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS DL_Algorithm_DSA_RFC6979<Integer, SHA256>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_Algorithm_DSA_RFC6979<Integer, SHA384>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_Algorithm_DSA_RFC6979<Integer, SHA512>;
/// \class DL_Algorithm_NR
/// \brief NR algorithm
/// \tparam T FieldElement type or class
template <class T>
@ -461,7 +453,6 @@ public:
}
};
/// \class DL_PublicKey_GFP
/// \brief Discrete Log (DL) public key in GF(p) groups
/// \tparam GP GroupParameters derived class
/// \details DSA public key format is defined in 7.3.3 of RFC 2459. The private key format is defined in 12.9 of PKCS #11 v2.10.
@ -499,7 +490,6 @@ public:
{this->GetPublicElement().DEREncode(bt);}
};
/// \class DL_PrivateKey_GFP
/// \brief Discrete Log (DL) private key in GF(p) groups
/// \tparam GP GroupParameters derived class
template <class GP>
@ -564,7 +554,6 @@ public:
template <class GP>
DL_PrivateKey_GFP<GP>::~DL_PrivateKey_GFP() {}
/// \class DL_SignatureKeys_GFP
/// \brief Discrete Log (DL) signing/verification keys in GF(p) groups
struct DL_SignatureKeys_GFP
{
@ -573,7 +562,6 @@ struct DL_SignatureKeys_GFP
typedef DL_PrivateKey_GFP<GroupParameters> PrivateKey;
};
/// \class DL_CryptoKeys_GFP
/// \brief Discrete Log (DL) encryption/decryption keys in GF(p) groups
struct DL_CryptoKeys_GFP
{
@ -582,7 +570,6 @@ struct DL_CryptoKeys_GFP
typedef DL_PrivateKey_GFP<GroupParameters> PrivateKey;
};
/// \class GDSA
/// \brief DSA signature scheme
/// \tparam H HashTransformation derived class
/// \sa <a href="http://www.weidai.com/scan-mirror/sig.html#DSA-1363">DSA-1363</a>
@ -596,7 +583,6 @@ struct GDSA : public DL_SS<
{
};
/// \class NR
/// \brief NR signature scheme
/// \tparam H HashTransformation derived class
/// \sa <a href="http://www.weidai.com/scan-mirror/sig.html#NR">NR</a>
@ -609,7 +595,6 @@ struct NR : public DL_SS<
{
};
/// \class DL_GroupParameters_DSA
/// \brief DSA group parameters
/// \details These are GF(p) group parameters that are allowed by the DSA standard
/// \sa DL_Keys_DSA
@ -633,7 +618,6 @@ public:
template <class H>
class DSA2;
/// \class DL_Keys_DSA
/// \brief DSA keys
/// \sa DL_GroupParameters_DSA
struct DL_Keys_DSA
@ -642,7 +626,6 @@ struct DL_Keys_DSA
typedef DL_PrivateKey_WithSignaturePairwiseConsistencyTest<DL_PrivateKey_GFP<DL_GroupParameters_DSA>, DSA2<SHA1> > PrivateKey;
};
/// \class DSA2
/// \brief DSA signature scheme
/// \tparam H HashTransformation derived class
/// \details The class is named DSA2 instead of DSA for backwards compatibility because DSA was a non-template class.
@ -660,7 +643,6 @@ public:
static std::string CRYPTOPP_API StaticAlgorithmName() {return "DSA/" + (std::string)H::StaticAlgorithmName();}
};
/// \class DSA_RFC6979
/// \brief DSA deterministic signature scheme
/// \tparam H HashTransformation derived class
/// \sa <a href="http://www.weidai.com/scan-mirror/sig.html#DSA-1363">DSA-1363</a>
@ -683,7 +665,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS DL_PublicKey_GFP<DL_GroupParameters_DSA>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_PrivateKey_GFP<DL_GroupParameters_DSA>;
CRYPTOPP_DLL_TEMPLATE_CLASS DL_PrivateKey_WithSignaturePairwiseConsistencyTest<DL_PrivateKey_GFP<DL_GroupParameters_DSA>, DSA2<SHA1> >;
/// \class DL_EncryptionAlgorithm_Xor
/// \brief P1363 based XOR Encryption Method
/// \tparam MAC MessageAuthenticationCode derived class used for MAC computation
/// \tparam DHAES_MODE flag indicating DHAES mode
@ -808,7 +789,6 @@ public:
}
};
/// \class DLIES
/// \brief Discrete Log Integrated Encryption Scheme
/// \tparam COFACTOR_OPTION cofactor multiplication option
/// \tparam HASH HashTransformation derived class used for key drivation and MAC computation

5
gost.h
View File

@ -11,19 +11,16 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class GOST_Info
/// \brief GOST block cipher information
struct GOST_Info : public FixedBlockSize<8>, public FixedKeyLength<32>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "GOST";}
};
/// \class GOST
/// \brief GOST block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/GOST">GOST</a>
class GOST : public GOST_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief GOST block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<GOST_Info>
{
@ -40,7 +37,6 @@ class GOST : public GOST_Info, public BlockCipherDocumentation
FixedSizeSecBlock<word32, 8> m_key;
};
/// \class Enc
/// \brief GOST block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -48,7 +44,6 @@ class GOST : public GOST_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief GOST block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{

6
gzip.h
View File

@ -13,7 +13,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Gzip
/// \brief GZIP Compression (RFC 1952)
class Gzip : public Deflator
{
@ -77,23 +76,18 @@ protected:
std::string m_comment;
};
/// \class Gunzip
/// \brief GZIP Decompression (RFC 1952)
class Gunzip : public Inflator
{
public:
typedef Inflator::Err Err;
/// \class HeaderErr
/// \brief Exception thrown when a header decoding error occurs
class HeaderErr : public Err {public: HeaderErr() : Err(INVALID_DATA_FORMAT, "Gunzip: header decoding error") {}};
/// \class TailErr
/// \brief Exception thrown when the tail is too short
class TailErr : public Err {public: TailErr() : Err(INVALID_DATA_FORMAT, "Gunzip: tail too short") {}};
/// \class CrcErr
/// \brief Exception thrown when a CRC error occurs
class CrcErr : public Err {public: CrcErr() : Err(DATA_INTEGRITY_CHECK_FAILED, "Gunzip: CRC check error") {}};
/// \class LengthErr
/// \brief Exception thrown when a length error occurs
class LengthErr : public Err {public: LengthErr() : Err(DATA_INTEGRITY_CHECK_FAILED, "Gunzip: length check error") {}};

2
hex.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class HexEncoder
/// \brief Converts given data to base 16
class CRYPTOPP_DLL HexEncoder : public SimpleProxyFilter
{
@ -31,7 +30,6 @@ public:
void IsolatedInitialize(const NameValuePairs &parameters);
};
/// \class HexDecoder
/// \brief Decode base 16 data back to bytes
class CRYPTOPP_DLL HexDecoder : public BaseN_Decoder
{

2
hmac.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class HMAC_Base
/// \brief HMAC information
/// \details HMAC_Base derives from VariableKeyLength and MessageAuthenticationCode
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE HMAC_Base : public VariableKeyLength<16, 0, INT_MAX>, public MessageAuthenticationCode
@ -40,7 +39,6 @@ private:
bool m_innerHashKeyed;
};
/// \class HMAC
/// \brief HMAC
/// \tparam T HashTransformation derived class
/// \details HMAC derives from MessageAuthenticationCodeImpl. It calculates the HMAC using

View File

@ -15,7 +15,6 @@ NAMESPACE_BEGIN(CryptoPP)
typedef clock_t TimerWord;
#endif
/// \class TimerBase
/// \brief Base class for timers
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TimerBase
{
@ -40,7 +39,6 @@ private:
TimerWord m_start, m_last;
};
/// \class ThreadUserTimer
/// \brief Measure CPU time spent executing instructions of this thread (if supported by OS)
/// \note ThreadUserTimer only works correctly on Windows NT or later desktops and servers.
/// On Unix-based it reports process time. On Windows Phone and Windows Store it reports wall

5
ida.h
View File

@ -16,7 +16,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RawIDA
/// \brief Secret sharing and information dispersal base class
/// \since Crypto++ 1.0
class RawIDA : public AutoSignaling<Unflushable<Multichannel<Filter> > >
@ -63,7 +62,6 @@ protected:
SecBlock<word32> m_u, m_w, m_y;
};
/// \class SecretSharing
/// \brief Shamir's Secret Sharing Algorithm
/// \details SecretSharing is a variant of Shamir's secret sharing algorithm
/// \sa SecretRecovery, SecretRecovery, InformationDispersal, InformationRecovery
@ -89,7 +87,6 @@ protected:
bool m_pad;
};
/// \class SecretRecovery
/// \brief Shamir's Secret Sharing Algorithm
/// \details SecretSharing is a variant of Shamir's secret sharing algorithm
/// \sa SecretRecovery, SecretRecovery, InformationDispersal, InformationRecovery
@ -113,7 +110,6 @@ protected:
/// a variant of Rabin's Information Dispersal Algorithm
/// \class InformationDispersal
/// \brief Rabin's Information Dispersal Algorithm
/// \details InformationDispersal is a variant of Rabin's information dispersal algorithm
/// \sa SecretRecovery, SecretRecovery, InformationDispersal, InformationRecovery
@ -139,7 +135,6 @@ protected:
unsigned int m_nextChannel;
};
/// \class InformationRecovery
/// \brief Rabin's Information Dispersal Algorithm
/// \details InformationDispersal is a variant of Rabin's information dispersal algorithm
/// \sa SecretRecovery, SecretRecovery, InformationDispersal, InformationRecovery

2
idea.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class IDEA_Info
/// \brief IDEA block cipher information
/// \since Crypto++ 1.0
struct IDEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public FixedRounds<8>
@ -19,7 +18,6 @@ struct IDEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public F
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "IDEA";}
};
/// \class IDEA
/// \brief IDEA block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/IDEA">IDEA</a>
/// \since Crypto++ 1.0

View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class HashInputTooLong
/// \brief Exception thrown when trying to hash more data than is allowed by a hash function
class CRYPTOPP_DLL HashInputTooLong : public InvalidDataFormat
{
@ -27,7 +26,6 @@ public:
: InvalidDataFormat("IteratedHashBase: input data exceeds maximum allowed by hash function " + alg) {}
};
/// \class IteratedHashBase
/// \brief Iterated hash base class
/// \tparam T Hash word type
/// \tparam BASE HashTransformation derived class
@ -99,7 +97,6 @@ private:
T m_countLo, m_countHi;
};
/// \class IteratedHash
/// \brief Iterated hash base class
/// \tparam T_HashWordType Hash word type
/// \tparam T_Endianness Endianness type of hash
@ -146,7 +143,6 @@ protected:
FixedSizeSecBlock<T_HashWordType, T_BlockSize/sizeof(T_HashWordType)> m_data;
};
/// \class IteratedHashWithStaticTransform
/// \brief Iterated hash with a static transformation function
/// \tparam T_HashWordType Hash word type
/// \tparam T_Endianness Endianness type of hash

View File

@ -20,7 +20,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Kalyna128_Info
/// \brief Kalyna-128 block cipher information
/// \since Crypto++ 6.0
struct CRYPTOPP_NO_VTABLE Kalyna128_Info : public FixedBlockSize<16>, VariableKeyLength<16, 16, 32>
@ -32,7 +31,6 @@ struct CRYPTOPP_NO_VTABLE Kalyna128_Info : public FixedBlockSize<16>, VariableKe
}
};
/// \class Kalyna256_Info
/// \brief Kalyna-256 block cipher information
/// \since Crypto++ 6.0
struct CRYPTOPP_NO_VTABLE Kalyna256_Info : public FixedBlockSize<32>, VariableKeyLength<32, 32, 64>
@ -44,7 +42,6 @@ struct CRYPTOPP_NO_VTABLE Kalyna256_Info : public FixedBlockSize<32>, VariableKe
}
};
/// \class Kalyna512_Info
/// \brief Kalyna-512 block cipher information
/// \since Crypto++ 6.0
struct CRYPTOPP_NO_VTABLE Kalyna512_Info : public FixedBlockSize<64>, FixedKeyLength<64>
@ -56,7 +53,6 @@ struct CRYPTOPP_NO_VTABLE Kalyna512_Info : public FixedBlockSize<64>, FixedKeyLe
}
};
/// \class Kalyna
/// \brief Kalyna block cipher
/// \since Crypto++ 6.0
class CRYPTOPP_NO_VTABLE Kalyna_Base

View File

@ -17,7 +17,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Keccak
/// \brief Keccak message digest base class
/// \details The Crypto++ Keccak implementation uses F1600 with XOF d=0x01.
/// FIPS 202 conformance (XOF d=0x06) is available in SHA3 classes.
@ -66,7 +65,6 @@ protected:
unsigned int m_digestSize, m_counter;
};
/// \class Keccak_Final
/// \brief Keccak message digest template
/// \tparam T_DigestSize the size of the digest, in bytes
/// \since Crypto++ 6.0

View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class LR_Info
/// \brief Luby-Rackoff block cipher information
template <class T>
struct LR_Info : public VariableKeyLength<16, 0, 2*(INT_MAX/2), 2>, public FixedBlockSize<2*T::DIGESTSIZE>
@ -19,7 +18,6 @@ struct LR_Info : public VariableKeyLength<16, 0, 2*(INT_MAX/2), 2>, public Fixed
static std::string StaticAlgorithmName() {return std::string("LR/")+T::StaticAlgorithmName();}
};
/// \class LR
/// \brief Luby-Rackoff block cipher
template <class T>
class LR : public LR_Info<T>, public BlockCipherDocumentation

4
luc.h
View File

@ -209,7 +209,6 @@ private:
Integer m_g;
};
/// \class DL_GroupParameters_LUC
/// \brief LUC GroupParameters specialization
class DL_GroupParameters_LUC : public DL_GroupParameters_IntegerBasedImpl<DL_GroupPrecomputation_LUC, DL_BasePrecomputation_LUC>
{
@ -240,7 +239,6 @@ private:
int GetFieldType() const {return 2;}
};
/// \class DL_GroupParameters_LUC_DefaultSafePrime
/// \brief GF(p) group parameters that default to safe primes
class DL_GroupParameters_LUC_DefaultSafePrime : public DL_GroupParameters_LUC
{
@ -251,7 +249,6 @@ protected:
unsigned int GetDefaultSubgroupOrderSize(unsigned int modulusSize) const {return modulusSize-1;}
};
/// \class DL_Algorithm_LUC_HMP
/// \brief LUC HMP signature algorithm
class DL_Algorithm_LUC_HMP : public DL_ElgamalLikeSignatureAlgorithm<Integer>
{
@ -293,7 +290,6 @@ struct DL_CryptoKeys_LUC
typedef DL_PrivateKey_GFP<GroupParameters> PrivateKey;
};
/// \class LUC_IES
/// \brief LUC Integrated Encryption Scheme
/// \tparam COFACTOR_OPTION cofactor multiplication option
/// \tparam HASH HashTransformation derived class used for key drivation and MAC computation

2
mars.h
View File

@ -11,14 +11,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class MARS_Info
/// \brief MARS block cipher information
struct MARS_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 56, 8>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "MARS";}
};
/// \class MARS
/// \brief MARS block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/MARS">MARS</a>
class MARS : public MARS_Info, public BlockCipherDocumentation

1
md5.h
View File

@ -7,7 +7,6 @@ NAMESPACE_BEGIN(CryptoPP)
namespace Weak1 {
/// \class MD5
/// \brief MD5 message digest
/// \sa <a href="http://www.cryptolounge.org/wiki/MD5">MD5</a>
/// \since Crypto++ 1.0

2
mdc.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class MDC_Info
/// \tparam B BlockCipher derived class
/// \brief MDC_Info cipher information
template <class B>
@ -28,7 +27,6 @@ struct MDC_Info : public FixedBlockSize<B::DIGESTSIZE>, public FixedKeyLength<B:
template <class H>
class MDC : public MDC_Info<H>
{
/// \class Enc
/// \brief MDC cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public BlockCipherImpl<MDC_Info<H> >
{

View File

@ -14,7 +14,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class MersenneTwister
/// \brief Mersenne Twister class for Monte-Carlo simulations
/// \tparam K Magic constant
/// \tparam M Period parameter
@ -200,7 +199,6 @@ private:
word32 m_idx;
};
/// \class MT19937
/// \brief Original MT19937 generator provided in the ACM paper.
/// \details MT19937 uses 4537 as default initial seed.
/// \sa MT19937ar, <A HREF="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf">Mersenne twister:
@ -212,7 +210,6 @@ class MT19937 : public MersenneTwister<0x9908B0DF /*2567483615*/, 397, 624, 0x10
typedef MersenneTwister<0x9908B0DF /*2567483615*/, 397, 624, 0x10DCD /*69069*/, 4537> MT19937;
#endif
/// \class MT19937ar
/// \brief Updated MT19937 generator adapted to provide an array for initialization.
/// \details MT19937 uses 5489 as default initial seed. Use this generator when interoperating with C++11's
/// mt19937 class.

9
misc.h
View File

@ -210,7 +210,6 @@ class CRYPTOPP_NO_VTABLE ThreeBases : public BASE1, public BASE2, public BASE3
};
#endif // CRYPTOPP_DOXYGEN_PROCESSING
/// \class ObjectHolder
/// \tparam T class or type
/// \brief Uses encapsulation to hide an object in derived classes
/// \details The object T is declared as protected.
@ -221,7 +220,6 @@ protected:
T m_object;
};
/// \class NotCopyable
/// \brief Ensures an object is not copyable
/// \details NotCopyable ensures an object is not copyable by making the
/// copy constructor and assignment operator private. Deleters are not
@ -236,7 +234,6 @@ private:
void operator=(const NotCopyable &);
};
/// \class NewObject
/// \brief An object factory function
/// \tparam T class or type
/// \details NewObject overloads operator()().
@ -2303,7 +2300,6 @@ inline void PutWord(bool assumeAligned, ByteOrder order, byte *block, T value, c
#endif
}
/// \class GetBlock
/// \brief Access a block of memory
/// \tparam T class or type
/// \tparam B enumeration indicating endianness
@ -2345,7 +2341,6 @@ private:
const byte *m_block;
};
/// \class PutBlock
/// \brief Access a block of memory
/// \tparam T class or type
/// \tparam B enumeration indicating endianness
@ -2390,7 +2385,6 @@ private:
byte *m_block;
};
/// \class BlockGetAndPut
/// \brief Access a block of memory
/// \tparam T class or type
/// \tparam B enumeration indicating endianness
@ -2436,7 +2430,6 @@ T StringToWord(const std::string &str, ByteOrder order = BIG_ENDIAN_ORDER)
// ************** help remove warning on g++ ***************
/// \class SafeShifter
/// \brief Safely shift values when undefined behavior could occur
/// \tparam overflow boolean flag indicating if overflow is present
/// \details SafeShifter safely shifts values when undefined behavior could occur under C/C++ rules.
@ -2445,7 +2438,6 @@ T StringToWord(const std::string &str, ByteOrder order = BIG_ENDIAN_ORDER)
/// \sa SafeShifter<true>, SafeShifter<false>
template <bool overflow> struct SafeShifter;
/// \class SafeShifter<true>
/// \brief Shifts a value in the presence of overflow
/// \details the true template parameter indicates overflow would occur.
/// In this case, SafeShifter clamps the value and returns 0.
@ -2476,7 +2468,6 @@ template<> struct SafeShifter<true>
}
};
/// \class SafeShifter<false>
/// \brief Shifts a value in the absence of overflow
/// \details the false template parameter indicates overflow would not occur.
/// In this case, SafeShifter returns the shfted value.

View File

@ -25,7 +25,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup<Integer>;
CRYPTOPP_DLL_TEMPLATE_CLASS AbstractRing<Integer>;
CRYPTOPP_DLL_TEMPLATE_CLASS AbstractEuclideanDomain<Integer>;
/// \class ModularArithmetic
/// \brief Ring of congruence classes modulo n
/// \details This implementation represents each congruence class as the smallest
/// non-negative integer in that class.
@ -263,7 +262,6 @@ protected:
// const ModularArithmetic::RandomizationParameter ModularArithmetic::DefaultRandomizationParameter = 0 ;
/// \class MontgomeryRepresentation
/// \brief Performs modular arithmetic in Montgomery representation for increased speed
/// \details The Montgomery representation represents each congruence class <tt>[a]</tt> as
/// <tt>a*r\%n</tt>, where <tt>r</tt> is a convenient power of 2.

29
modes.h
View File

@ -30,7 +30,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class CipherModeDocumentation
/// \brief Block cipher mode of operation information
/// \details Each class derived from this one defines two types, Encryption and Decryption,
/// both of which implement the SymmetricCipher interface.
@ -46,7 +45,6 @@ struct CipherModeDocumentation : public SymmetricCipherDocumentation
{
};
/// \class CipherModeBase
/// \brief Block cipher mode of operation information
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CipherModeBase : public SymmetricCipher
{
@ -95,7 +93,6 @@ protected:
AlignedSecByteBlock m_register;
};
/// \class ModePolicyCommonTemplate
/// \brief Block cipher mode of operation common operations
/// \tparam POLICY_INTERFACE common operations
template <class POLICY_INTERFACE>
@ -114,7 +111,6 @@ void ModePolicyCommonTemplate<POLICY_INTERFACE>::CipherSetKey(const NameValuePai
SetFeedbackSize(feedbackSize);
}
/// \class CFB_ModePolicy
/// \brief CFB block cipher mode of operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CFB_ModePolicy : public ModePolicyCommonTemplate<CFB_CipherAbstractPolicy>
{
@ -149,7 +145,6 @@ inline void CopyOrZero(void *dest, size_t d, const void *src, size_t s)
memset(dest, 0, d);
}
/// \class OFB_ModePolicy
/// \brief OFB block cipher mode of operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE OFB_ModePolicy : public ModePolicyCommonTemplate<AdditiveCipherAbstractPolicy>
{
@ -166,7 +161,6 @@ private:
void CipherResynchronize(byte *keystreamBuffer, const byte *iv, size_t length);
};
/// \class CTR_ModePolicy
/// \brief CTR block cipher mode of operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CTR_ModePolicy : public ModePolicyCommonTemplate<AdditiveCipherAbstractPolicy>
{
@ -192,7 +186,6 @@ protected:
AlignedSecByteBlock m_counterArray;
};
/// \class BlockOrientedCipherModeBase
/// \brief Block cipher mode of operation default implementation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE BlockOrientedCipherModeBase : public CipherModeBase
{
@ -212,7 +205,6 @@ protected:
SecByteBlock m_buffer;
};
/// \class ECB_OneWay
/// \brief ECB block cipher mode of operation default implementation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE ECB_OneWay : public BlockOrientedCipherModeBase
{
@ -226,7 +218,6 @@ public:
void ProcessData(byte *outString, const byte *inString, size_t length);
};
/// \class CBC_ModeBase
/// \brief CBC block cipher mode of operation default implementation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CBC_ModeBase : public BlockOrientedCipherModeBase
{
@ -238,7 +229,6 @@ public:
unsigned int MinLastBlockSize() const {return 0;}
};
/// \class CBC_Encryption
/// \brief CBC block cipher mode of operation encryption operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CBC_Encryption : public CBC_ModeBase
{
@ -246,7 +236,6 @@ public:
void ProcessData(byte *outString, const byte *inString, size_t length);
};
/// \class CBC_CTS_Encryption
/// \brief CBC-CTS block cipher mode of operation encryption operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CBC_CTS_Encryption : public CBC_Encryption
{
@ -267,7 +256,6 @@ protected:
byte *m_stolenIV;
};
/// \class CBC_Decryption
/// \brief CBC block cipher mode of operation decryption operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CBC_Decryption : public CBC_ModeBase
{
@ -281,7 +269,6 @@ protected:
AlignedSecByteBlock m_temp;
};
/// \class CBC_CTS_Decryption
/// \brief CBC-CTS block cipher mode of operation decryption operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CBC_CTS_Decryption : public CBC_Decryption
{
@ -290,7 +277,6 @@ public:
size_t ProcessLastBlock(byte *outString, size_t outLength, const byte *inString, size_t inLength);
};
/// \class CipherModeFinalTemplate_CipherHolder
/// \brief Block cipher mode of operation aggregate
template <class CIPHER, class BASE>
class CipherModeFinalTemplate_CipherHolder : protected ObjectHolder<CIPHER>, public AlgorithmImpl<BASE, CipherModeFinalTemplate_CipherHolder<CIPHER, BASE> >
@ -321,7 +307,6 @@ public:
}
};
/// \class CipherModeFinalTemplate_ExternalCipher
/// \tparam BASE CipherModeFinalTemplate_CipherHolder base class
/// \details Base class for external mode cipher combinations
template <class BASE>
@ -342,7 +327,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS CFB_CipherTemplate<AbstractPolicyHolder<CFB_CipherAb
CRYPTOPP_DLL_TEMPLATE_CLASS CFB_EncryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> >;
CRYPTOPP_DLL_TEMPLATE_CLASS CFB_DecryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> >;
/// \class CFB_Mode
/// \brief CFB block cipher mode of operation
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -353,7 +337,6 @@ struct CFB_Mode : public CipherModeDocumentation
typedef CipherModeFinalTemplate_CipherHolder<typename CIPHER::Encryption, ConcretePolicyHolder<Empty, CFB_DecryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> > > > Decryption;
};
/// \class CFB_Mode_ExternalCipher
/// \brief CFB mode, external cipher.
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -363,7 +346,6 @@ struct CFB_Mode_ExternalCipher : public CipherModeDocumentation
typedef CipherModeFinalTemplate_ExternalCipher<ConcretePolicyHolder<Empty, CFB_DecryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> > > > Decryption;
};
/// \class CFB_FIPS_Mode
/// \brief CFB block cipher mode of operation providing FIPS validated cryptography.
/// \details Requires full block plaintext according to FIPS 800-38A
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
@ -375,7 +357,6 @@ struct CFB_FIPS_Mode : public CipherModeDocumentation
typedef CipherModeFinalTemplate_CipherHolder<typename CIPHER::Encryption, ConcretePolicyHolder<Empty, CFB_RequireFullDataBlocks<CFB_DecryptionTemplate<AbstractPolicyHolder<CFB_CipherAbstractPolicy, CFB_ModePolicy> > > > > Decryption;
};
/// \class CFB_FIPS_Mode_ExternalCipher
/// \brief CFB mode, external cipher, providing FIPS validated cryptography.
/// \details Requires full block plaintext according to FIPS 800-38A
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
@ -388,7 +369,6 @@ struct CFB_FIPS_Mode_ExternalCipher : public CipherModeDocumentation
CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, OFB_ModePolicy> >;
/// \class OFB_Mode
/// \brief OFB block cipher mode of operation
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -399,7 +379,6 @@ struct OFB_Mode : public CipherModeDocumentation
typedef Encryption Decryption;
};
/// \class OFB_Mode_ExternalCipher
/// \brief OFB mode, external cipher.
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -412,7 +391,6 @@ struct OFB_Mode_ExternalCipher : public CipherModeDocumentation
CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, CTR_ModePolicy> >;
CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher<ConcretePolicyHolder<Empty, AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, CTR_ModePolicy> > > >;
/// \class CTR_Mode
/// \brief CTR block cipher mode of operation
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -423,7 +401,6 @@ struct CTR_Mode : public CipherModeDocumentation
typedef Encryption Decryption;
};
/// \class CTR_Mode_ExternalCipher
/// \brief CTR mode, external cipher.
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -433,7 +410,6 @@ struct CTR_Mode_ExternalCipher : public CipherModeDocumentation
typedef Encryption Decryption;
};
/// \class ECB_Mode
/// \brief ECB block cipher mode of operation
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -446,7 +422,6 @@ struct ECB_Mode : public CipherModeDocumentation
CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher<ECB_OneWay>;
/// \class ECB_Mode_ExternalCipher
/// \brief ECB mode, external cipher.
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -456,7 +431,6 @@ struct ECB_Mode_ExternalCipher : public CipherModeDocumentation
typedef Encryption Decryption;
};
/// \class CBC_Mode
/// \brief CBC block cipher mode of operation
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -470,7 +444,6 @@ struct CBC_Mode : public CipherModeDocumentation
CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher<CBC_Encryption>;
CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher<CBC_Decryption>;
/// \class CBC_Mode_ExternalCipher
/// \brief CBC mode, external cipher
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -480,7 +453,6 @@ struct CBC_Mode_ExternalCipher : public CipherModeDocumentation
typedef CipherModeFinalTemplate_ExternalCipher<CBC_Decryption> Decryption;
};
/// \class CBC_CTS_Mode
/// \brief CBC-CTS block cipher mode of operation
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.
@ -494,7 +466,6 @@ struct CBC_CTS_Mode : public CipherModeDocumentation
CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher<CBC_CTS_Encryption>;
CRYPTOPP_DLL_TEMPLATE_CLASS CipherModeFinalTemplate_ExternalCipher<CBC_CTS_Decryption>;
/// \class CBC_CTS_Mode_ExternalCipher
/// \brief CBC mode with ciphertext stealing, external cipher
/// \sa <A HREF="http://www.cryptopp.com/wiki/Modes_of_Operation">Modes of Operation</A>
/// on the Crypto++ wiki.

1
mqv.h
View File

@ -15,7 +15,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class MQV_Domain
/// \brief MQV domain for performing authenticated key agreement
/// \tparam GROUP_PARAMETERS doamin parameters
/// \tparam COFACTOR_OPTION cofactor option

View File

@ -75,7 +75,6 @@ CRYPTOPP_DLL bool CRYPTOPP_API IsPrime(const Integer &p);
/// level is greater than 1, then 10 round RabinMillerTest() primality testing is performed.
CRYPTOPP_DLL bool CRYPTOPP_API VerifyPrime(RandomNumberGenerator &rng, const Integer &p, unsigned int level = 1);
/// \class PrimeSelector
/// \brief Application callback to signal suitability of a cabdidate prime
class CRYPTOPP_DLL PrimeSelector
{
@ -143,7 +142,6 @@ CRYPTOPP_DLL unsigned int CRYPTOPP_API FactoringWorkFactor(unsigned int bitlengt
// ********************************************************
/// \class PrimeAndGenerator
/// \brief Generator of prime numbers of special forms
class CRYPTOPP_DLL PrimeAndGenerator
{

View File

@ -20,7 +20,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class OS_RNG_Err
/// \brief Exception thrown when an operating system error is encountered
class CRYPTOPP_DLL OS_RNG_Err : public Exception
{
@ -33,7 +32,6 @@ public:
#ifdef NONBLOCKING_RNG_AVAILABLE
#ifdef CRYPTOPP_WIN32_AVAILABLE
/// \class MicrosoftCryptoProvider
/// \brief Wrapper for Microsoft crypto service provider
/// \sa \def USE_MS_CRYPTOAPI, \def USE_MS_CNGAPI
class CRYPTOPP_DLL MicrosoftCryptoProvider
@ -80,7 +78,6 @@ private:
#endif // CRYPTOPP_WIN32_AVAILABLE
/// \class NonblockingRng
/// \brief Wrapper class for /dev/random and /dev/srandom
/// \details Encapsulates CryptoAPI's CryptGenRandom() or CryptoNG's BCryptGenRandom()
/// on Windows, or /dev/urandom on Unix and compatibles.
@ -112,7 +109,6 @@ protected:
#if defined(BLOCKING_RNG_AVAILABLE) || defined(CRYPTOPP_DOXYGEN_PROCESSING)
/// \class BlockingRng
/// \brief Wrapper class for /dev/random and /dev/srandom
/// \details Encapsulates /dev/random on Linux, OS X and Unix; and /dev/srandom on the BSDs.
/// \note On Linux the /dev/random interface is effectively deprecated. According to the
@ -153,7 +149,6 @@ protected:
/// by way of BlockingRng, if available.
CRYPTOPP_DLL void CRYPTOPP_API OS_GenerateRandomBlock(bool blocking, byte *output, size_t size);
/// \class AutoSeededRandomPool
/// \brief Automatically Seeded Randomness Pool
/// \details This class seeds itself using an operating system provided RNG.
/// AutoSeededRandomPool was suggested by Leonard Janke.
@ -178,7 +173,6 @@ public:
void Reseed(bool blocking = false, unsigned int seedSize = 32);
};
/// \class AutoSeededX917RNG
/// \tparam BLOCK_CIPHER a block cipher
/// \brief Automatically Seeded X9.17 RNG
/// \details AutoSeededX917RNG is from ANSI X9.17 Appendix C, seeded using an OS provided RNG.
@ -262,7 +256,6 @@ void AutoSeededX917RNG<BLOCK_CIPHER>::Reseed(bool blocking, const byte *input, s
CRYPTOPP_DLL_TEMPLATE_CLASS AutoSeededX917RNG<AES>;
#if defined(CRYPTOPP_DOXYGEN_PROCESSING)
/// \class DefaultAutoSeededRNG
/// \brief A typedef providing a default generator
/// \details DefaultAutoSeededRNG is a typedef of either AutoSeededX917RNG<AES> or AutoSeededRandomPool.
/// If CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined, then DefaultAutoSeededRNG is

View File

@ -33,7 +33,6 @@ protected:
};
namespace Weak {
/// \class PanamaHash
/// \brief Panama hash
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#Panama">Panama Hash</a>
template <class B = LittleEndian>
@ -54,7 +53,6 @@ protected:
};
}
/// \class HermeticHashFunctionMAC
/// \brief MAC construction using a hermetic hash function
template <class T_Hash, class T_Info = T_Hash>
class HermeticHashFunctionMAC : public AlgorithmImpl<SimpleKeyingInterfaceImpl<TwoBases<MessageAuthenticationCode, VariableKeyLength<32, 0, INT_MAX> > >, T_Info>
@ -111,7 +109,6 @@ protected:
};
namespace Weak {
/// \class PanamaMAC
/// \brief Panama message authentication code
template <class B = LittleEndian>
class PanamaMAC : public HermeticHashFunctionMAC<PanamaHash<B> >
@ -123,7 +120,6 @@ public:
};
}
/// \class PanamaCipherInfo
/// \brief Panama stream cipher information
template <class B>
struct PanamaCipherInfo : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 32>
@ -131,7 +127,6 @@ struct PanamaCipherInfo : public FixedKeyLength<32, SimpleKeyingInterface::UNIQU
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";}
};
/// \class PanamaCipherPolicy
/// \brief Panama stream cipher operation
template <class B>
class PanamaCipherPolicy : public AdditiveCipherConcretePolicy<word32, 8>,
@ -148,7 +143,6 @@ protected:
FixedSizeSecBlock<word32, 8> m_key;
};
/// \class PanamaCipher
/// \brief Panama stream cipher
/// \sa <a href="http://www.cryptolounge.org/wiki/PANAMA">Panama Stream Cipher</a>
template <class B = LittleEndian>

View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class PKCS_EncryptionPaddingScheme
/// \brief PKCS #1 v1.5 Encryption Padding Scheme
/// \sa <a href="http://www.weidai.com/scan-mirror/ca.html#cem_PKCS1-1.5">EME-PKCS1-v1_5</a>
class PKCS_EncryptionPaddingScheme : public PK_EncryptionMessageEncodingMethod
@ -31,7 +30,6 @@ public:
DecodingResult Unpad(const byte *padded, size_t paddedLength, byte *raw, const NameValuePairs &parameters) const;
};
/// \class PKCS_DigestDecoration
/// \brief PKCS #1 decoration data structure
template <class H> class PKCS_DigestDecoration
{
@ -84,7 +82,6 @@ template<> const byte PKCS_DigestDecoration<Weak1::MD5>::decoration[];
template<> const unsigned int PKCS_DigestDecoration<Weak1::MD5>::length;
#endif
/// \class PKCS1v15_SignatureMessageEncodingMethod
/// \brief PKCS #1 v1.5 Signature Encoding Scheme
/// \sa <a href="http://www.weidai.com/scan-mirror/sig.html#sem_PKCS1-1.5">EMSA-PKCS1-v1_5</a>
class CRYPTOPP_DLL PKCS1v15_SignatureMessageEncodingMethod : public PK_DeterministicSignatureMessageEncodingMethod

View File

@ -52,7 +52,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Poly1305_Base
/// \brief Poly1305 message authentication code base class
/// \tparam T class derived from BlockCipherDocumentation with 16-byte key and 16-byte blocksize
/// \since Crypto++ 6.0
@ -100,7 +99,6 @@ protected:
bool m_used;
};
/// \class Poly1305
/// \brief Poly1305 message authentication code
/// \tparam T class derived from BlockCipherDocumentation with 16-byte key and 16-byte blocksize
/// \details Poly1305-AES is a state-of-the-art message-authentication code suitable for a wide

View File

@ -60,7 +60,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class TrapdoorFunctionBounds
/// \brief Provides range for plaintext and ciphertext lengths
/// \details A trapdoor function is a function that is easy to compute in one direction,
/// but difficult to compute in the opposite direction without special knowledge.
@ -93,7 +92,6 @@ public:
virtual Integer MaxImage() const {return --ImageBound();}
};
/// \class RandomizedTrapdoorFunction
/// \brief Applies the trapdoor function, using random data if required
/// \details ApplyFunction() is the foundation for encrypting a message under a public key.
/// Derived classes will override it at some point.
@ -119,7 +117,6 @@ public:
virtual bool IsRandomized() const {return true;}
};
/// \class TrapdoorFunction
/// \brief Applies the trapdoor function
/// \details ApplyFunction() is the foundation for encrypting a message under a public key.
/// Derived classes will override it at some point.
@ -149,7 +146,6 @@ public:
virtual Integer ApplyFunction(const Integer &x) const =0;
};
/// \class RandomizedTrapdoorFunctionInverse
/// \brief Applies the inverse of the trapdoor function, using random data if required
/// \details CalculateInverse() is the foundation for decrypting a message under a private key
/// in a public key cryptosystem. Derived classes will override it at some point.
@ -174,7 +170,6 @@ public:
virtual bool IsRandomized() const {return true;}
};
/// \class TrapdoorFunctionInverse
/// \brief Applies the inverse of the trapdoor function
/// \details CalculateInverse() is the foundation for decrypting a message under a private key
/// in a public key cryptosystem. Derived classes will override it at some point.
@ -209,7 +204,6 @@ public:
// ********************************************************
/// \class PK_EncryptionMessageEncodingMethod
/// \brief Message encoding method for public key encryption
class CRYPTOPP_NO_VTABLE PK_EncryptionMessageEncodingMethod
{
@ -229,7 +223,6 @@ public:
// ********************************************************
/// \class TF_Base
/// \brief The base for trapdoor based cryptosystems
/// \tparam TFI trapdoor function interface derived class
/// \tparam MEI message encoding interface derived class
@ -250,7 +243,6 @@ protected:
// ********************************************************
/// \class PK_FixedLengthCryptoSystemImpl
/// \brief Public key trapdoor function default implementation
/// \tparam BASE public key cryptosystem with a fixed length
template <class BASE>
@ -268,7 +260,6 @@ public:
virtual size_t FixedCiphertextLength() const =0;
};
/// \class TF_CryptoSystemBase
/// \brief Trapdoor function cryptosystem base class
/// \tparam INTFACE public key cryptosystem base interface
/// \tparam BASE public key cryptosystem implementation base
@ -288,7 +279,6 @@ protected:
size_t PaddedBlockBitLength() const {return SaturatingSubtract(this->GetTrapdoorFunctionBounds().PreimageBound().BitCount(),1U);}
};
/// \class TF_DecryptorBase
/// \brief Trapdoor function cryptosystems decryption base class
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_DecryptorBase : public TF_CryptoSystemBase<PK_Decryptor, TF_Base<TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod> >
{
@ -298,7 +288,6 @@ public:
DecodingResult Decrypt(RandomNumberGenerator &rng, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs &parameters = g_nullNameValuePairs) const;
};
/// \class TF_EncryptorBase
/// \brief Trapdoor function cryptosystems encryption base class
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_EncryptorBase : public TF_CryptoSystemBase<PK_Encryptor, TF_Base<RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod> >
{
@ -313,7 +302,6 @@ public:
// Typedef change due to Clang, http://github.com/weidai11/cryptopp/issues/300
typedef std::pair<const byte *, unsigned int> HashIdentifier;
/// \class PK_SignatureMessageEncodingMethod
/// \brief Interface for message encoding method for public key signature schemes.
/// \details PK_SignatureMessageEncodingMethod provides interfaces for message
/// encoding method for public key signature schemes. The methods support both
@ -397,7 +385,6 @@ public:
};
};
/// \class PK_DeterministicSignatureMessageEncodingMethod
/// \brief Interface for message encoding method for public key signature schemes.
/// \details PK_DeterministicSignatureMessageEncodingMethod provides interfaces
/// for message encoding method for public key signature schemes.
@ -409,7 +396,6 @@ public:
byte *representative, size_t representativeBitLength) const;
};
/// \class PK_RecoverableSignatureMessageEncodingMethod
/// \brief Interface for message encoding method for public key signature schemes.
/// \details PK_RecoverableSignatureMessageEncodingMethod provides interfaces
/// for message encoding method for public key signature schemes.
@ -421,7 +407,6 @@ public:
byte *representative, size_t representativeBitLength) const;
};
/// \class DL_SignatureMessageEncodingMethod_DSA
/// \brief Interface for message encoding method for public key signature schemes.
/// \details DL_SignatureMessageEncodingMethod_DSA provides interfaces
/// for message encoding method for DSA.
@ -434,7 +419,6 @@ public:
byte *representative, size_t representativeBitLength) const;
};
/// \class DL_SignatureMessageEncodingMethod_NR
/// \brief Interface for message encoding method for public key signature schemes.
/// \details DL_SignatureMessageEncodingMethod_NR provides interfaces
/// for message encoding method for Nyberg-Rueppel.
@ -448,7 +432,6 @@ public:
};
#if 0
/// \class DL_SignatureMessageEncodingMethod_SM2
/// \brief Interface for message encoding method for public key signature schemes.
/// \details DL_SignatureMessageEncodingMethod_SM2 provides interfaces
/// for message encoding method for SM2.
@ -462,7 +445,6 @@ public:
};
#endif
/// \class PK_MessageAccumulatorBase
/// \brief Interface for message encoding method for public key signature schemes.
/// \details PK_MessageAccumulatorBase provides interfaces
/// for message encoding method.
@ -484,7 +466,6 @@ public:
bool m_empty;
};
/// \class PK_MessageAccumulatorImpl
/// \brief Interface for message encoding method for public key signature schemes.
/// \details PK_MessageAccumulatorBase provides interfaces
/// for message encoding method.
@ -495,7 +476,6 @@ public:
HashTransformation & AccessHash() {return this->m_object;}
};
/// \class TF_SignatureSchemeBase
/// \brief Trapdoor Function (TF) Signature Scheme base class
/// \tparam INTFACE interface
/// \tparam BASE base class
@ -527,7 +507,6 @@ protected:
virtual size_t GetDigestSize() const =0;
};
/// \class TF_SignerBase
/// \brief Trapdoor Function (TF) Signer base class
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_SignerBase : public TF_SignatureSchemeBase<PK_Signer, TF_Base<RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod> >
{
@ -538,7 +517,6 @@ public:
size_t SignAndRestart(RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart=true) const;
};
/// \class TF_VerifierBase
/// \brief Trapdoor Function (TF) Verifier base class
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_VerifierBase : public TF_SignatureSchemeBase<PK_Verifier, TF_Base<TrapdoorFunction, PK_SignatureMessageEncodingMethod> >
{
@ -552,7 +530,6 @@ public:
// ********************************************************
/// \class TF_CryptoSchemeOptions
/// \brief Trapdoor Function (TF) scheme options
/// \tparam T1 algorithm info class
/// \tparam T2 keys class with public and private key
@ -567,7 +544,6 @@ struct TF_CryptoSchemeOptions
typedef T3 MessageEncodingMethod;
};
/// \class TF_SignatureSchemeOptions
/// \brief Trapdoor Function (TF) signature scheme options
/// \tparam T1 algorithm info class
/// \tparam T2 keys class with public and private key
@ -579,7 +555,6 @@ struct TF_SignatureSchemeOptions : public TF_CryptoSchemeOptions<T1, T2, T3>
typedef T4 HashFunction;
};
/// \class TF_ObjectImplBase
/// \brief Trapdoor Function (TF) base implementation
/// \tparam BASE base class
/// \tparam SCHEME_OPTIONS scheme options class
@ -635,7 +610,6 @@ protected:
}
};
/// \class TF_ObjectImplExtRef
/// \brief Trapdoor Function (TF) signature with external reference
/// \tparam BASE base class
/// \tparam SCHEME_OPTIONS scheme options class
@ -657,7 +631,6 @@ private:
const KEY * m_pKey;
};
/// \class TF_ObjectImpl
/// \brief Trapdoor Function (TF) signature scheme options
/// \tparam BASE base class
/// \tparam SCHEME_OPTIONS scheme options class
@ -678,7 +651,6 @@ private:
KeyClass m_trapdoorFunction;
};
/// \class TF_DecryptorImpl
/// \brief Trapdoor Function (TF) decryptor options
/// \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS>
@ -686,7 +658,6 @@ class TF_DecryptorImpl : public TF_ObjectImpl<TF_DecryptorBase, SCHEME_OPTIONS,
{
};
/// \class TF_EncryptorImpl
/// \brief Trapdoor Function (TF) encryptor options
/// \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS>
@ -694,7 +665,6 @@ class TF_EncryptorImpl : public TF_ObjectImpl<TF_EncryptorBase, SCHEME_OPTIONS,
{
};
/// \class TF_SignerImpl
/// \brief Trapdoor Function (TF) encryptor options
/// \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS>
@ -702,7 +672,6 @@ class TF_SignerImpl : public TF_ObjectImpl<TF_SignerBase, SCHEME_OPTIONS, typena
{
};
/// \class TF_VerifierImpl
/// \brief Trapdoor Function (TF) encryptor options
/// \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS>
@ -712,7 +681,6 @@ class TF_VerifierImpl : public TF_ObjectImpl<TF_VerifierBase, SCHEME_OPTIONS, ty
// ********************************************************
/// \class MaskGeneratingFunction
/// \brief Mask generation function interface
class CRYPTOPP_NO_VTABLE MaskGeneratingFunction
{
@ -742,7 +710,6 @@ public:
/// \param counterStart starting counter value used in generation function
CRYPTOPP_DLL void CRYPTOPP_API P1363_MGF1KDF2_Common(HashTransformation &hash, byte *output, size_t outputLength, const byte *input, size_t inputLength, const byte *derivationParams, size_t derivationParamsLength, bool mask, unsigned int counterStart);
/// \class P1363_MGF1
/// \brief P1363 mask generation function
class P1363_MGF1 : public MaskGeneratingFunction
{
@ -756,7 +723,6 @@ public:
// ********************************************************
/// \class MaskGeneratingFunction
/// \brief P1363 key derivation function
/// \tparam H hash function used in the derivation
template <class H>
@ -1673,7 +1639,6 @@ protected:
}
};
/// \class DL_VerifierBase
/// \brief Discret Log (DL) Verifier base class
/// \tparam T Field element
template <class T>
@ -2256,7 +2221,6 @@ public:
typedef PK_FinalTemplate<TF_EncryptorImpl<SchemeOptions> > Encryptor;
};
/// \class TF_SS
/// \brief Trapdoor Function (TF) Signature Scheme
/// \tparam STANDARD standard
/// \tparam H hash function
@ -2282,7 +2246,6 @@ public:
typedef PK_FinalTemplate<TF_VerifierImpl<SchemeOptions> > Verifier;
};
/// \class DL_SS
/// \brief Discrete Log (DL) signature scheme
/// \tparam KEYS keys used in the signature scheme
/// \tparam SA signature algorithm

View File

@ -13,7 +13,6 @@ NAMESPACE_BEGIN(CryptoPP)
class ByteQueueNode;
/// \class ByteQueue
/// \brief Data structure used to store byte strings
/// \details The queue is implemented as a linked list of byte arrays
class CRYPTOPP_DLL ByteQueue : public Bufferless<BufferedTransformation>
@ -73,7 +72,6 @@ public:
byte operator[](lword i) const;
void swap(ByteQueue &rhs);
/// \class Walker
/// \brief A ByteQueue iterator
class Walker : public InputRejecting<BufferedTransformation>
{

View File

@ -13,7 +13,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RabinFunction
/// \brief Rabin trapdoor function using the public key
/// \since Crypto++ 2.0
class RabinFunction : public TrapdoorFunction, public PublicKey
@ -52,7 +51,6 @@ protected:
Integer m_n, m_r, m_s;
};
/// \class InvertibleRabinFunction
/// \brief Rabin trapdoor function using the private key
/// \since Crypto++ 2.0
class InvertibleRabinFunction : public RabinFunction, public TrapdoorFunctionInverse, public PrivateKey

View File

@ -26,7 +26,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RandomPool
/// \brief Randomness Pool based on AES-256
/// \details RandomPool can be used to generate cryptographic quality pseudorandom bytes
/// after seeding the pool with IncorporateEntropy(). Internally, the generator uses
@ -56,7 +55,6 @@ private:
bool m_keySet;
};
/// \class OldRandomPool
/// \brief Randomness Pool based on PGP 2.6.x with MDC
/// \details If you need the pre-Crypto++ 5.5 generator then use OldRandomPool class. The
/// OldRandomPool class is always available so you dont need to define

7
rc2.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RC2_Info
/// \brief RC2 block cipher information
struct RC2_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 1, 128>
{
@ -21,12 +20,10 @@ struct RC2_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 1, 128>
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "RC2";}
};
/// \class RC2
/// \brief RC2 block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/RC2">RC2</a> on the Crypto Lounge.
class RC2 : public RC2_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief Class specific methods used to operate the cipher.
/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<RC2_Info>
@ -39,7 +36,6 @@ class RC2 : public RC2_Info, public BlockCipherDocumentation
FixedSizeSecBlock<word16, 64> K; // expanded key table
};
/// \class Enc
/// \brief Class specific methods used to operate the cipher in the forward direction.
/// \details Implementations and overrides in \p Enc apply to \p ENCRYPTION.
class CRYPTOPP_NO_VTABLE Enc : public Base
@ -48,7 +44,6 @@ class RC2 : public RC2_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief Class specific methods used to operate the cipher in the reverse direction.
/// \details Implementations and overrides in \p Dec apply to \p DECRYPTION.
class CRYPTOPP_NO_VTABLE Dec : public Base
@ -59,7 +54,6 @@ class RC2 : public RC2_Info, public BlockCipherDocumentation
public:
/// \class Encryption
/// \brief Class specific methods used to operate the cipher in the forward direction.
/// \details Implementations and overrides in \p Encryption apply to \p ENCRYPTION.
class Encryption : public BlockCipherFinal<ENCRYPTION, Enc>
@ -72,7 +66,6 @@ public:
{SetKey(key, keyLen, MakeParameters("EffectiveKeyLength", effectiveKeyLen));}
};
/// \class Decryption
/// \brief Class specific methods used to operate the cipher in the reverse direction.
/// \details Implementations and overrides in \p Decryption apply to \p DECRYPTION.
class Decryption : public BlockCipherFinal<DECRYPTION, Dec>

2
rc5.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RC5_Info
/// \brief RC5 block cipher information
/// \since Crypto++ 1.0
struct RC5_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 0, 255>, public VariableRounds<16>
@ -20,7 +19,6 @@ struct RC5_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 0, 255>
typedef word32 RC5_WORD;
};
/// \class RC5
/// \brief RC5 block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/RC5">RC5</a>
/// \since Crypto++ 1.0

2
rc6.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RC6_Info
/// \brief RC6 block cipher information
struct RC6_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>, public VariableRounds<20>
{
@ -19,7 +18,6 @@ struct RC6_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32
typedef word32 RC6_WORD;
};
/// \class RC6
/// \brief RC6 block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/RC6">RC6</a>
class RC6 : public RC6_Info, public BlockCipherDocumentation

View File

@ -10,7 +10,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RIPEMD160
/// \brief RIPEMD-160 message digest
/// \details Digest size is 160-bits.
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#RIPEMD-160">RIPEMD-160</a>
@ -22,7 +21,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "RIPEMD-160";}
};
/// \class RIPEMD320
/// \brief RIPEMD-320 message digest
/// \details Digest size is 320-bits.
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#RIPEMD-320">RIPEMD-320</a>
@ -34,7 +32,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "RIPEMD-320";}
};
/// \class RIPEMD128
/// \brief RIPEMD-128 message digest
/// \details Digest size is 128-bits.
/// \warning RIPEMD-128 is considered insecure, and should not be used unless you absolutely need it for compatibility.
@ -47,7 +44,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "RIPEMD-128";}
};
/// \class RIPEMD256
/// \brief RIPEMD-256 message digest
/// \details Digest size is 256-bits.
/// \warning RIPEMD-256 is considered insecure, and should not be used unless you absolutely need it for compatibility.

2
rng.h
View File

@ -40,7 +40,6 @@ private:
static const word16 r;
};
/// \class X917RNG
/// \brief ANSI X9.17 RNG
/// \details X917RNG is from ANSI X9.17 Appendix C, and it uses a 64-bit block cipher, like TripleDES.
/// If you use a 128-bit block cipher, like AES, then you are effectively using an ANSI X9.31 generator.
@ -75,7 +74,6 @@ private:
SecByteBlock m_randseed, m_lastBlock, m_deterministicTimeVector;
};
/// \class MaurerRandomnessTest
/// \brief Maurer's Universal Statistical Test for Random Bit Generators
/// \details This class implements Maurer's Universal Statistical Test for
/// Random Bit Generators. It is intended for measuring the randomness of

9
rsa.h
View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RSAFunction
/// \brief RSA trapdoor function using the public key
/// \since Crypto++ 1.0
class CRYPTOPP_DLL RSAFunction : public TrapdoorFunction, public X509PublicKey
@ -58,7 +57,6 @@ protected:
Integer m_n, m_e;
};
/// \class InvertibleRSAFunction
/// \brief RSA trapdoor function using the private key
/// \since Crypto++ 1.0
class CRYPTOPP_DLL InvertibleRSAFunction : public RSAFunction, public TrapdoorFunctionInverse, public PKCS8PrivateKey
@ -139,7 +137,6 @@ protected:
Integer m_d, m_p, m_q, m_dp, m_dq, m_u;
};
/// \class RSAFunction_ISO
/// \brief RSA trapdoor function using the public key
/// \since Crypto++ 1.0
class CRYPTOPP_DLL RSAFunction_ISO : public RSAFunction
@ -149,7 +146,6 @@ public:
Integer PreimageBound() const {return ++(m_n>>1);}
};
/// \class InvertibleRSAFunction_ISO
/// \brief RSA trapdoor function using the private key
/// \since Crypto++ 1.0
class CRYPTOPP_DLL InvertibleRSAFunction_ISO : public InvertibleRSAFunction
@ -159,7 +155,6 @@ public:
Integer PreimageBound() const {return ++(m_n>>1);}
};
/// \class RSA
/// \brief RSA algorithm
/// \since Crypto++ 1.0
struct CRYPTOPP_DLL RSA
@ -169,7 +164,6 @@ struct CRYPTOPP_DLL RSA
typedef InvertibleRSAFunction PrivateKey;
};
/// \class RSAES
/// \brief RSA encryption algorithm
/// \tparam STANDARD signature standard
/// \sa <a href="http://www.weidai.com/scan-mirror/ca.html#RSA">RSA cryptosystem</a>
@ -179,7 +173,6 @@ struct RSAES : public TF_ES<RSA, STANDARD>
{
};
/// \class RSASS
/// \brief RSA signature algorithm
/// \tparam STANDARD signature standard
/// \tparam H hash transformation
@ -191,7 +184,6 @@ struct RSASS : public TF_SS<RSA, STANDARD, H>
{
};
/// \class RSA_ISO
/// \brief RSA algorithm
/// \since Crypto++ 1.0
struct CRYPTOPP_DLL RSA_ISO
@ -201,7 +193,6 @@ struct CRYPTOPP_DLL RSA_ISO
typedef InvertibleRSAFunction_ISO PrivateKey;
};
/// \class RSASS_ISO
/// \brief RSA signature algorithm
/// \tparam H hash transformation
/// \since Crypto++ 1.0

2
rw.h
View File

@ -17,7 +17,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class RWFunction
/// \brief Rabin-Williams trapdoor function using the public key
/// \since Crypto++ 2.0, Tweaked roots using <em>e</em> and <em>f</em> since Crypto++ 5.6.4
class CRYPTOPP_DLL RWFunction : public TrapdoorFunction, public PublicKey
@ -54,7 +53,6 @@ protected:
Integer m_n;
};
/// \class InvertibleRWFunction
/// \brief Rabin-Williams trapdoor function using the private key
/// \since Crypto++ 2.0, Tweaked roots using <em>e</em> and <em>f</em> since Crypto++ 5.6.4
class CRYPTOPP_DLL InvertibleRWFunction : public RWFunction, public TrapdoorFunctionInverse, public PrivateKey

View File

@ -11,12 +11,10 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SAFER
/// \brief SAFER block cipher
class SAFER
{
public:
/// \class Base
/// \brief SAFER block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipher
{
@ -32,7 +30,6 @@ public:
static const byte log_tab[256];
};
/// \class Enc
/// \brief SAFER block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -40,7 +37,6 @@ public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief SAFER block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{
@ -49,7 +45,6 @@ public:
};
};
/// \class SAFER_Impl
/// \brief SAFER block cipher default implementation
/// \tparam BASE SAFER::Enc or SAFER::Dec derived base class
/// \tparam INFO SAFER_Info derived class
@ -62,14 +57,12 @@ protected:
bool Strengthened() const {return STR;}
};
/// \class SAFER_K_Info
/// \brief SAFER-K block cipher information
struct SAFER_K_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 8, 16, 8>, public VariableRounds<10, 1, 13>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SAFER-K";}
};
/// \class SAFER_K
/// \brief SAFER-K block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/SAFER-K">SAFER-K</a>
class SAFER_K : public SAFER_K_Info, public SAFER, public BlockCipherDocumentation
@ -79,14 +72,12 @@ public:
typedef BlockCipherFinal<DECRYPTION, SAFER_Impl<Dec, SAFER_K_Info, false> > Decryption;
};
/// \class SAFER_SK_Info
/// \brief SAFER-SK block cipher information
struct SAFER_SK_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 8, 16, 8>, public VariableRounds<10, 1, 13>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SAFER-SK";}
};
/// \class SAFER_SK
/// \brief SAFER-SK block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/SAFER-SK">SAFER-SK</a>
class SAFER_SK : public SAFER_SK_Info, public SAFER, public BlockCipherDocumentation

View File

@ -16,14 +16,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Salsa20_Info
/// \brief Salsa20 stream cipher information
struct Salsa20_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8>
{
static std::string StaticAlgorithmName() {return "Salsa20";}
};
/// \class Salsa20_Policy
/// \brief Salsa20 stream cipher operation
class CRYPTOPP_NO_VTABLE Salsa20_Policy : public AdditiveCipherConcretePolicy<word32, 16>
{
@ -42,7 +40,6 @@ protected:
int m_rounds;
};
/// \class Salsa20
/// \brief Salsa20 stream cipher
/// \details Salsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.
/// \sa <a href="http://www.cryptolounge.org/wiki/XSalsa20">XSalsa20</a>
@ -52,14 +49,12 @@ struct Salsa20 : public Salsa20_Info, public SymmetricCipherDocumentation
typedef Encryption Decryption;
};
/// \class XSalsa20_Info
/// \brief XSalsa20 stream cipher information
struct XSalsa20_Info : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 24>
{
static std::string StaticAlgorithmName() {return "XSalsa20";}
};
/// \class XSalsa20_Policy
/// \brief XSalsa20 stream cipher operation
class CRYPTOPP_NO_VTABLE XSalsa20_Policy : public Salsa20_Policy
{
@ -71,7 +66,6 @@ protected:
FixedSizeSecBlock<word32, 8> m_key;
};
/// \class XSalsa20
/// \brief XSalsa20 stream cipher
/// \details XSalsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.
/// \sa <a href="http://www.cryptolounge.org/wiki/XSalsa20">XSalsa20</a>

3
seal.h
View File

@ -11,7 +11,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SEAL_Info
/// \brief SEAL stream cipher information
/// \tparam B Endianness of the stream cipher
template <class B = BigEndian>
@ -20,7 +19,6 @@ struct SEAL_Info : public FixedKeyLength<20, SimpleKeyingInterface::INTERNALLY_G
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "SEAL-3.0-LE" : "SEAL-3.0-BE";}
};
/// \class SEAL_Policy
/// \brief SEAL stream cipher operation
/// \tparam B Endianness of the stream cipher
template <class B = BigEndian>
@ -42,7 +40,6 @@ private:
word32 m_outsideCounter, m_insideCounter;
};
/// \class SEAL
/// \brief SEAL stream cipher
/// \tparam B Endianness of the stream cipher
/// \sa <a href="http://www.cryptopp.com/wiki/SEAL-3.0-BE">SEAL</a>

View File

@ -22,7 +22,6 @@ NAMESPACE_BEGIN(CryptoPP)
// ************** secure memory allocation ***************
/// \class AllocatorBase
/// \brief Base class for all allocators used by SecBlock
/// \tparam T the class or type
template<class T>
@ -160,7 +159,6 @@ typename A::pointer StandardReallocate(A& alloc, T *oldPtr, typename A::size_typ
}
}
/// \class AllocatorWithCleanup
/// \brief Allocates a block of memory with cleanup
/// \tparam T class or type
/// \tparam T_Align16 boolean that determines whether allocations should be aligned on a 16-byte boundary
@ -273,7 +271,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup<word128, true>; // for Integer
CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup<word, true>; // for Integer
#endif
/// \class NullAllocator
/// \brief NULL allocator
/// \tparam T class or type
/// \details A NullAllocator is useful for fixed-size, stack based allocations
@ -307,7 +304,6 @@ public:
//LCOV_EXCL_STOP
};
/// \class FixedSizeAllocatorWithCleanup
/// \brief Static secure memory block with cleanup
/// \tparam T class or type
/// \tparam S fixed-size of the stack-based memory block, in elements
@ -451,7 +447,6 @@ private:
bool m_allocated;
};
/// \class SecBlock
/// \brief Secure memory block with allocator and cleanup
/// \tparam T a class or type
/// \tparam A AllocatorWithCleanup derived class for allocation and cleanup
@ -823,13 +818,10 @@ protected:
};
#ifdef CRYPTOPP_DOXYGEN_PROCESSING
/// \class SecByteBlock
/// \brief \ref SecBlock "SecBlock<byte>" typedef.
class SecByteBlock : public SecBlock<byte> {};
/// \class SecWordBlock
/// \brief \ref SecBlock "SecBlock<word>" typedef.
class SecWordBlock : public SecBlock<word> {};
/// \class AlignedSecByteBlock
/// \brief SecBlock using \ref AllocatorWithCleanup "AllocatorWithCleanup<byte, true>" typedef
class AlignedSecByteBlock : public SecBlock<byte, AllocatorWithCleanup<byte, true> > {};
#else
@ -841,7 +833,6 @@ typedef SecBlock<byte, AllocatorWithCleanup<byte, true> > AlignedSecByteBlock;
// No need for move semantics on derived class *if* the class does not add any
// data members; see http://stackoverflow.com/q/31755703, and Rule of {0|3|5}.
/// \class FixedSizeSecBlock
/// \brief Fixed size stack-based SecBlock
/// \tparam T class or type
/// \tparam S fixed-size of the stack-based memory block, in elements
@ -854,7 +845,6 @@ public:
explicit FixedSizeSecBlock() : SecBlock<T, A>(S) {}
};
/// \class FixedSizeAlignedSecBlock
/// \brief Fixed size stack-based SecBlock with 16-byte alignment
/// \tparam T class or type
/// \tparam S fixed-size of the stack-based memory block, in elements
@ -864,7 +854,6 @@ class FixedSizeAlignedSecBlock : public FixedSizeSecBlock<T, S, FixedSizeAllocat
{
};
/// \class SecBlockWithHint
/// \brief Stack-based SecBlock that grows into the heap
/// \tparam T class or type
/// \tparam S fixed-size of the stack-based memory block, in elements

View File

@ -33,7 +33,6 @@ inline CipherDir ReverseCipherDir(CipherDir dir)
return (dir == ENCRYPTION) ? DECRYPTION : ENCRYPTION;
}
/// \class FixedBlockSize
/// \brief Inherited by algorithms with fixed block size
/// \tparam N the blocksize of the algorithm
template <unsigned int N>
@ -69,7 +68,6 @@ public:
// ************** rounds ***************
/// \class FixedRounds
/// \brief Inherited by algorithms with fixed number of rounds
/// \tparam R the number of rounds used by the algorithm
template <unsigned int R>
@ -80,7 +78,6 @@ public:
CRYPTOPP_CONSTANT(ROUNDS = R)
};
/// \class VariableRounds
/// \brief Inherited by algorithms with variable number of rounds
/// \tparam D Default number of rounds
/// \tparam N Minimum number of rounds
@ -140,7 +137,6 @@ protected:
// ************** key length ***************
/// \class FixedKeyLength
/// \brief Inherited by keyed algorithms with fixed key length
/// \tparam N Default key length, in bytes
/// \tparam IV_REQ the \ref SimpleKeyingInterface::IV_Requirement "IV requirements"
@ -179,7 +175,6 @@ public:
}
};
/// \class VariableKeyLength
/// \brief Inherited by keyed algorithms with variable key length
/// \tparam D Default key length, in bytes
/// \tparam N Minimum key length, in bytes
@ -235,7 +230,6 @@ public:
}
};
/// \class SameKeyLengthAs
/// \brief Provides key lengths based on another class's key length
/// \tparam T another FixedKeyLength or VariableKeyLength class
/// \tparam IV_REQ the \ref SimpleKeyingInterface::IV_Requirement "IV requirements"
@ -275,7 +269,6 @@ public:
// ************** implementation helper for SimpleKeyingInterface ***************
/// \class SimpleKeyingInterfaceImpl
/// \brief Provides a base implementation of SimpleKeyingInterface
/// \tparam BASE a SimpleKeyingInterface derived class
/// \tparam INFO a SimpleKeyingInterface derived class
@ -323,7 +316,6 @@ public:
{return INFO::IV_LENGTH;}
};
/// \class BlockCipherImpl
/// \brief Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers
/// \tparam INFO a SimpleKeyingInterface derived class
/// \tparam BASE a SimpleKeyingInterface derived class
@ -339,7 +331,6 @@ public:
unsigned int BlockSize() const {return this->BLOCKSIZE;}
};
/// \class BlockCipherFinal
/// \brief Provides class member functions to key a block cipher
/// \tparam DIR a CipherDir
/// \tparam BASE a BlockCipherImpl derived class
@ -381,7 +372,6 @@ public:
bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
};
/// \class MessageAuthenticationCodeImpl
/// \brief Provides a base implementation of Algorithm and SimpleKeyingInterface for message authentication codes
/// \tparam INFO a SimpleKeyingInterface derived class
/// \tparam BASE a SimpleKeyingInterface derived class
@ -394,7 +384,6 @@ class MessageAuthenticationCodeImpl : public AlgorithmImpl<SimpleKeyingInterface
{
};
/// \class MessageAuthenticationCodeFinal
/// \brief Provides class member functions to key a message authentication code
/// \tparam BASE a BlockCipherImpl derived class
/// \details A default implementation for MessageAuthenticationCode
@ -422,7 +411,6 @@ public:
// ************** documentation ***************
/// \class BlockCipherDocumentation
/// \brief Provides Encryption and Decryption typedefs used by derived classes to
/// implement a block cipher
/// \details These objects usually should not be used directly. See CipherModeDocumentation
@ -436,7 +424,6 @@ struct BlockCipherDocumentation
typedef BlockCipher Decryption;
};
/// \class SymmetricCipherDocumentation
/// \brief Provides Encryption and Decryption typedefs used by derived classes to
/// implement a symmetric cipher
/// \details Each class derived from this one defines two types, Encryption and Decryption,
@ -452,7 +439,6 @@ struct SymmetricCipherDocumentation
typedef SymmetricCipher Decryption;
};
/// \class AuthenticatedSymmetricCipherDocumentation
/// \brief Provides Encryption and Decryption typedefs used by derived classes to
/// implement an authenticated encryption cipher
/// \details Each class derived from this one defines two types, Encryption and Decryption,

2
seed.h
View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SEED_Info
/// \brief SEED block cipher information
/// \since Crypto++ 5.6.0
struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16>
@ -20,7 +19,6 @@ struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SEED";}
};
/// \class SEED
/// \brief SEED block cipher
/// \sa <a href="http://www.cryptolounge.org/wiki/SEED">SEED</a>
/// \since Crypto++ 5.6.0

View File

@ -11,14 +11,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Serpent_Info
/// \brief Serpent block cipher information
struct Serpent_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>, public FixedRounds<32>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "Serpent";}
};
/// \class Serpent
/// \brief Serpent block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/Serpent">Serpent</a>
class Serpent : public Serpent_Info, public BlockCipherDocumentation

5
sha.h
View File

@ -19,7 +19,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SHA1
/// \brief SHA-1 message digest
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#SHA-1">SHA-1</a>
/// \since Crypto++ 1.0, Intel SHA extensions since Crypto++ 6.0
@ -55,7 +54,6 @@ protected:
size_t HashMultipleBlocks(const HashWordType *input, size_t length);
};
/// \class SHA256
/// \brief SHA-256 message digest
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#SHA-256">SHA-256</a>
/// \since Crypto++ 4.0, Intel SHA extensions since Crypto++ 6.0
@ -91,7 +89,6 @@ protected:
size_t HashMultipleBlocks(const HashWordType *input, size_t length);
};
/// \class SHA224
/// \brief SHA-224 message digest
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#SHA-224">SHA-224</a>
/// \since Crypto++ 4.0, Intel SHA extensions since Crypto++ 6.0
@ -127,7 +124,6 @@ protected:
size_t HashMultipleBlocks(const HashWordType *input, size_t length);
};
/// \class SHA512
/// \brief SHA-512 message digest
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#SHA-512">SHA-512</a>
/// \since Crypto++ 4.0
@ -160,7 +156,6 @@ public:
CRYPTOPP_STATIC_CONSTEXPR const char* CRYPTOPP_API StaticAlgorithmName() {return "SHA-512";}
};
/// \class SHA384
/// \brief SHA-384 message digest
/// \sa <a href="http://www.weidai.com/scan-mirror/md.html#SHA-384">SHA-384</a>
/// \since Crypto++ 4.0

2
sha3.h
View File

@ -16,7 +16,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SHA3
/// \brief SHA3 message digest base class
/// \details The Crypto++ implementation conforms to FIPS 202 version of SHA3 using F1600 with XOF d=0x06.
/// Previous behavior (XOF d=0x01) is available in Keccak classes.
@ -51,7 +50,6 @@ protected:
unsigned int m_digestSize, m_counter;
};
/// \class SHA3_Final
/// \brief SHA3 message digest template
/// \tparam T_DigestSize the size of the digest, in bytes
/// \since Crypto++ 5.6.2

View File

@ -12,14 +12,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SHACAL2_Info
/// \brief SHACAL2 block cipher information
struct SHACAL2_Info : public FixedBlockSize<32>, public VariableKeyLength<16, 16, 64>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SHACAL-2";}
};
/// \class SHACAL2
/// \brief SHACAL2 block cipher
/// \since Crypto++ 5.2, Intel SHA since Crypto++ 6.0
/// \sa <a href="http://www.cryptopp.com/wiki/SHACAL-2">SHACAL-2</a>

View File

@ -12,19 +12,16 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SHARK_Info
/// \brief SHARK block cipher information
struct SHARK_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<6, 2>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SHARK-E";}
};
/// \class SHARK
/// \brief SHARK block cipher
/// <a href="http://www.cryptopp.com/wiki/SHARK-E">SHARK-E</a>
class SHARK : public SHARK_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief SHARK block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<SHARK_Info>
{
@ -36,7 +33,6 @@ class SHARK : public SHARK_Info, public BlockCipherDocumentation
SecBlock<word64> m_roundKeys;
};
/// \class Enc
/// \brief SHARK block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -51,7 +47,6 @@ class SHARK : public SHARK_Info, public BlockCipherDocumentation
static const word64 cbox[8][256];
};
/// \class Dec
/// \brief SHARK block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{

View File

@ -26,7 +26,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SIMON_Info
/// \brief SIMON block cipher information
/// \tparam L block size of the cipher, in bytes
/// \tparam D default key length, in bytes
@ -43,7 +42,6 @@ struct SIMON_Info : public FixedBlockSize<L>, VariableKeyLength<D, N, M>
}
};
/// \class SIMON_Base
/// \brief SIMON block cipher base class
/// \tparam W the word type
/// \details User code should use SIMON64 or SIMON128
@ -62,7 +60,6 @@ SIMON_Base() : m_kwords(0), m_rounds(0) {}
unsigned int m_rounds; // number of rounds
};
/// \class SIMON64
/// \brief SIMON 64-bit block cipher
/// \details Simon is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith,
/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers.
@ -120,7 +117,6 @@ public:
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};
/// \class SIMON128
/// \brief SIMON 128-bit block cipher
/// \details Simon is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith,
/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers.

View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class ClonableImpl
/// \brief Base class for identifying alogorithm
/// \tparam BASE base class from which to derive
/// \tparam DERIVED class which to clone
@ -29,7 +28,6 @@ public:
Clonable * Clone() const {return new DERIVED(*static_cast<const DERIVED *>(this));}
};
/// \class AlgorithmImpl
/// \brief Base class information
/// \tparam BASE an Algorithm derived class
/// \tparam ALGORITHM_INFO an Algorithm derived class
@ -50,7 +48,6 @@ public:
std::string AlgorithmName() const {return ALGORITHM_INFO::StaticAlgorithmName();}
};
/// \class InvalidKeyLength
/// \brief Exception thrown when an invalid key length is encountered
class CRYPTOPP_DLL InvalidKeyLength : public InvalidArgument
{
@ -58,7 +55,6 @@ public:
explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
};
/// \class InvalidRounds
/// \brief Exception thrown when an invalid number of rounds is encountered
class CRYPTOPP_DLL InvalidRounds : public InvalidArgument
{
@ -66,7 +62,6 @@ public:
explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
};
/// \class InvalidBlockSize
/// \brief Exception thrown when an invalid block size is encountered
class CRYPTOPP_DLL InvalidBlockSize : public InvalidArgument
{
@ -74,7 +69,6 @@ public:
explicit InvalidBlockSize(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid block size") {}
};
/// \class InvalidPersonalizationLength
/// \brief Exception thrown when an invalid personalization string length is encountered
class CRYPTOPP_DLL InvalidPersonalizationLength : public InvalidArgument
{
@ -82,7 +76,6 @@ public:
explicit InvalidPersonalizationLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid salt length") {}
};
/// \class InvalidSaltLength
/// \brief Exception thrown when an invalid salt length is encountered
class CRYPTOPP_DLL InvalidSaltLength : public InvalidArgument
{
@ -92,7 +85,6 @@ public:
// *****************************
/// \class Bufferless
/// \brief Base class for bufferless filters
/// \tparam T the class or type
template <class T>
@ -103,7 +95,6 @@ public:
{CRYPTOPP_UNUSED(hardFlush); CRYPTOPP_UNUSED(blocking); return false;}
};
/// \class Unflushable
/// \brief Base class for unflushable filters
/// \tparam T the class or type
template <class T>
@ -129,7 +120,6 @@ protected:
virtual bool InputBufferIsEmpty() const {return false;}
};
/// \class InputRejecting
/// \brief Base class for input rejecting filters
/// \tparam T the class or type
/// \details T should be a BufferedTransformation derived class
@ -168,7 +158,6 @@ public:
//@}
};
/// \class CustomFlushPropagation
/// \brief Interface for custom flush signals propagation
/// \tparam T BufferedTransformation derived class
template <class T>
@ -201,7 +190,6 @@ private:
{CRYPTOPP_UNUSED(hardFlush); CRYPTOPP_UNUSED(blocking); CRYPTOPP_ASSERT(false); return false;}
};
/// \class CustomSignalPropagation
/// \brief Interface for custom flush signals
/// \tparam T BufferedTransformation derived class
template <class T>
@ -223,7 +211,6 @@ private:
{CRYPTOPP_UNUSED(parameters); CRYPTOPP_ASSERT(false);}
};
/// \class Multichannel
/// \brief Multiple channels support for custom signal processing
/// \tparam T the class or type
/// \details T should be a BufferedTransformation derived class
@ -289,7 +276,6 @@ public:
virtual bool ChannelFlush(const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true) =0;
};
/// \class AutoSignaling
/// \brief Provides auto signaling support
/// \tparam T BufferedTransformation derived class
template <class T>
@ -309,7 +295,6 @@ private:
int m_autoSignalPropagation;
};
/// \class Store
/// \brief Acts as a Source for pre-existing, static data
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Store : public AutoSignaling<InputRejecting<BufferedTransformation> >
{
@ -333,7 +318,6 @@ protected:
bool m_messageEnd;
};
/// \class Sink
/// \brief Implementation of BufferedTransformation's attachment interface
/// \details Sink is a cornerstone of the Pipeline trinitiy. Data flows from
/// Sources, through Filters, and then terminates in Sinks. The difference
@ -352,7 +336,6 @@ public:
{CRYPTOPP_UNUSED(target); CRYPTOPP_UNUSED(begin); CRYPTOPP_UNUSED(end); CRYPTOPP_UNUSED(channel); CRYPTOPP_UNUSED(blocking); return 0;}
};
/// \class BitBucket
/// \brief Acts as an input discarding Filter or Sink
/// \details The BitBucket discards all input and returns 0 to the caller
/// to indicate all data was processed.

View File

@ -32,7 +32,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SipHash_Info
/// \brief SipHash message authentication code information
/// \tparam T_128bit flag indicating 128-bit (true) versus 64-bit (false) digest size
template <bool T_128bit>
@ -43,7 +42,6 @@ public:
CRYPTOPP_CONSTANT(DIGESTSIZE = (T_128bit ? 16 : 8))
};
/// \class SipHash_Base
/// \brief SipHash message authentication code base class
/// \tparam C the number of compression rounds
/// \tparam D the number of finalization rounds
@ -115,7 +113,6 @@ private:
size_t m_idx;
};
/// \class SipHash
/// \brief SipHash message authentication code
/// \tparam C the number of compression rounds
/// \tparam D the number of finalization rounds

View File

@ -11,19 +11,16 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SKIPJACK_Info
/// \brief SKIPJACK block cipher information
struct SKIPJACK_Info : public FixedBlockSize<8>, public FixedKeyLength<10>
{
CRYPTOPP_DLL static const char * CRYPTOPP_API StaticAlgorithmName() {return "SKIPJACK";}
};
/// \class SKIPJACK
/// \brief SKIPJACK block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/SKIPJACK">SKIPJACK</a>
class SKIPJACK : public SKIPJACK_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief SKIPJACK block cipher default operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<SKIPJACK_Info>
{
@ -37,7 +34,6 @@ class SKIPJACK : public SKIPJACK_Info, public BlockCipherDocumentation
FixedSizeSecBlock<byte, 10*256> tab;
};
/// \class Enc
/// \brief SKIPJACK block cipher encryption operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -48,7 +44,6 @@ class SKIPJACK : public SKIPJACK_Info, public BlockCipherDocumentation
static const word32 Te[4][256];
};
/// \class Dec
/// \brief SKIPJACK block cipher decryption operation
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Dec : public Base
{

1
sm3.h
View File

@ -19,7 +19,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SM3
/// \brief SM3 hash function
/// \details SM3 is a hash function designed by Xiaoyun Wang, et al. The hash is part of the
/// Chinese State Cryptography Administration portfolio.

2
sm4.h
View File

@ -17,7 +17,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SM4_Info
/// \brief SM4 block cipher information
/// \since Crypto++ 6.0
struct SM4_Info : public FixedBlockSize<16>, FixedKeyLength<16>
@ -28,7 +27,6 @@ struct SM4_Info : public FixedBlockSize<16>, FixedKeyLength<16>
}
};
/// \class SM4
/// \brief Classes for the SM4 block cipher
/// \details SM4 is a block cipher designed by Xiaoyun Wang, et al. The block cipher is part of the
/// Chinese State Cryptography Administration portfolio. The cipher was formely known as SMS4.

View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class simple_ptr
/// \brief Manages resources for a single object
/// \tparam T class or type
/// \details \p simple_ptr is used frequently in the library to manage resources and
@ -30,7 +29,6 @@ public:
T *m_p;
};
/// \class member_ptr
/// \brief Pointer that overloads operator ->
/// \tparam T class or type
/// \details member_ptr is used frequently in the library to avoid the issues related to
@ -73,7 +71,6 @@ template <class T> void member_ptr<T>::reset(T *p) {delete m_p; m_p = p;}
// ********************************************************
/// \class value_ptr
/// \brief Value pointer
/// \tparam T class or type
template<class T> class value_ptr : public member_ptr<T>
@ -101,7 +98,6 @@ template <class T> value_ptr<T>& value_ptr<T>::operator=(const value_ptr<T>& rhs
// ********************************************************
/// \class clonable_ptr
/// \brief A pointer which can be copied and cloned
/// \tparam T class or type
/// \details \p T should adhere to the \p Clonable interface
@ -126,7 +122,6 @@ template <class T> clonable_ptr<T>& clonable_ptr<T>::operator=(const clonable_pt
// ********************************************************
/// \class counted_ptr
/// \brief Reference counted pointer
/// \tparam T class or type
/// \details users should declare \p m_referenceCount as <tt>std::atomic<unsigned></tt>
@ -220,7 +215,6 @@ template <class T> counted_ptr<T> & counted_ptr<T>::operator=(const counted_ptr<
// ********************************************************
/// \class vector_ptr
/// \brief Manages resources for an array of objects
/// \tparam T class or type
/// \details \p vector_ptr is used frequently in the library to avoid large stack allocations,
@ -278,7 +272,6 @@ private:
// ********************************************************
/// \class vector_member_ptrs
/// \brief Manages resources for an array of objects
/// \tparam T class or type
template <class T> class vector_member_ptrs

View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SosemanukInfo
/// \brief Sosemanuk stream cipher information
/// \since Crypto++ 5.5
struct SosemanukInfo : public VariableKeyLength<16, 1, 32, 1, SimpleKeyingInterface::UNIQUE_IV, 16>
@ -26,7 +25,6 @@ struct SosemanukInfo : public VariableKeyLength<16, 1, 32, 1, SimpleKeyingInterf
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "Sosemanuk";}
};
/// \class SosemanukPolicy
/// \brief Sosemanuk stream cipher implementation
/// \since Crypto++ 5.5
class SosemanukPolicy : public AdditiveCipherConcretePolicy<word32, 20>, public SosemanukInfo
@ -45,7 +43,6 @@ protected:
FixedSizeAlignedSecBlock<word32, 12> m_state;
};
/// \class Sosemanuk
/// \brief Sosemanuk stream cipher
/// \details is a stream cipher developed by Come Berbain, Olivier Billet, Anne Canteaut, Nicolas Courtois,
/// Henri Gilbert, Louis Goubin, Aline Gouget, Louis Granboulan, Cédric Lauradoux, Marine Minier, Thomas

View File

@ -26,7 +26,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class SPECK_Info
/// \brief SPECK block cipher information
/// \tparam L block size of the cipher, in bytes
/// \tparam D default key length, in bytes
@ -43,7 +42,6 @@ struct SPECK_Info : public FixedBlockSize<L>, VariableKeyLength<D, N, M>
}
};
/// \class SPECK_Base
/// \brief SPECK block cipher base class
/// \tparam W the word type
/// \details User code should use SPECK64 or SPECK128
@ -62,7 +60,6 @@ struct SPECK_Base
unsigned int m_rounds; // number of rounds
};
/// \class SPECK64
/// \brief SPECK 64-bit block cipher
/// \details Speck is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith,
/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers.
@ -120,7 +117,6 @@ public:
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};
/// \class SPECK128
/// \brief SPECK 128-bit block cipher
/// \details Speck is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith,
/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers.

View File

@ -11,14 +11,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Square_Info
/// \brief Square block cipher information
struct Square_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, FixedRounds<8>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "Square";}
};
/// \class Square
/// \brief Square block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/Square">Square</a>
class Square : public Square_Info, public BlockCipherDocumentation

View File

@ -42,7 +42,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class AbstractPolicyHolder
/// \brief Access a stream cipher policy object
/// \tparam POLICY_INTERFACE class implementing AbstractPolicyHolder
/// \tparam BASE class or type to use as a base class
@ -58,7 +57,6 @@ protected:
virtual POLICY_INTERFACE & AccessPolicy() =0;
};
/// \class ConcretePolicyHolder
/// \brief Stream cipher policy object
/// \tparam POLICY class implementing AbstractPolicyHolder
/// \tparam BASE class or type to use as a base class
@ -101,7 +99,6 @@ enum KeystreamOperation {
/// \brief XOR the aligned input buffer and keystream, write to the aligned output buffer
XOR_KEYSTREAM_BOTH_ALIGNED = OUTPUT_ALIGNED | INPUT_ALIGNED};
/// \class AdditiveCipherAbstractPolicy
/// \brief Policy object for additive stream ciphers
struct CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AdditiveCipherAbstractPolicy
{
@ -175,7 +172,6 @@ struct CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AdditiveCipherAbstractPolicy
{CRYPTOPP_UNUSED(iterationCount); CRYPTOPP_ASSERT(!CipherIsRandomAccess()); throw NotImplemented("StreamTransformation: this object doesn't support random access");}
};
/// \class AdditiveCipherConcretePolicy
/// \brief Base class for additive stream ciphers
/// \tparam WT word type
/// \tparam W count of words
@ -259,7 +255,6 @@ struct CRYPTOPP_NO_VTABLE AdditiveCipherConcretePolicy : public BASE
} \
output += y;
/// \class AdditiveCipherTemplate
/// \brief Base class for additive stream ciphers with SymmetricCipher interface
/// \tparam BASE AbstractPolicyHolder base class
template <class BASE = AbstractPolicyHolder<AdditiveCipherAbstractPolicy, SymmetricCipher> >
@ -344,7 +339,6 @@ protected:
size_t m_leftOver;
};
/// \class CFB_CipherAbstractPolicy
/// \brief Policy object for feeback based stream ciphers
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CFB_CipherAbstractPolicy
{
@ -396,7 +390,6 @@ public:
{CRYPTOPP_UNUSED(iv); CRYPTOPP_UNUSED(length); throw NotImplemented("SimpleKeyingInterface: this object doesn't support resynchronization");}
};
/// \class CFB_CipherConcretePolicy
/// \brief Base class for feedback based stream ciphers
/// \tparam WT word type
/// \tparam W count of words
@ -481,7 +474,6 @@ struct CRYPTOPP_NO_VTABLE CFB_CipherConcretePolicy : public BASE
};
};
/// \class CFB_CipherTemplate
/// \brief Base class for feedback based stream ciphers with SymmetricCipher interface
/// \tparam BASE AbstractPolicyHolder base class
template <class BASE>
@ -544,7 +536,6 @@ protected:
size_t m_leftOver;
};
/// \class CFB_EncryptionTemplate
/// \brief Base class for feedback based stream ciphers in the forward direction with SymmetricCipher interface
/// \tparam BASE AbstractPolicyHolder base class
template <class BASE = AbstractPolicyHolder<CFB_CipherAbstractPolicy, SymmetricCipher> >
@ -554,7 +545,6 @@ class CRYPTOPP_NO_VTABLE CFB_EncryptionTemplate : public CFB_CipherTemplate<BASE
void CombineMessageAndShiftRegister(byte *output, byte *reg, const byte *message, size_t length);
};
/// \class CFB_DecryptionTemplate
/// \brief Base class for feedback based stream ciphers in the reverse direction with SymmetricCipher interface
/// \tparam BASE AbstractPolicyHolder base class
template <class BASE = AbstractPolicyHolder<CFB_CipherAbstractPolicy, SymmetricCipher> >
@ -564,7 +554,6 @@ class CRYPTOPP_NO_VTABLE CFB_DecryptionTemplate : public CFB_CipherTemplate<BASE
void CombineMessageAndShiftRegister(byte *output, byte *reg, const byte *message, size_t length);
};
/// \class CFB_RequireFullDataBlocks
/// \brief Base class for feedback based stream ciphers with a mandatory block size
/// \tparam BASE CFB_EncryptionTemplate or CFB_DecryptionTemplate base class
template <class BASE>
@ -574,7 +563,6 @@ public:
unsigned int MandatoryBlockSize() const {return this->OptimalBlockSize();}
};
/// \class SymmetricCipherFinal
/// \brief SymmetricCipher implementation
/// \tparam BASE AbstractPolicyHolder derived base class
/// \tparam INFO AbstractPolicyHolder derived information class

15
tea.h
View File

@ -12,19 +12,16 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class TEA_Info
/// \brief TEA block cipher information
struct TEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<32>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "TEA";}
};
/// \class TEA
/// \brief TEA block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/TEA">TEA</a>
class TEA : public TEA_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief TEA block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<TEA_Info>
{
@ -36,7 +33,6 @@ class TEA : public TEA_Info, public BlockCipherDocumentation
word32 m_limit;
};
/// \class Enc
/// \brief TEA block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -44,7 +40,6 @@ class TEA : public TEA_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief TEA block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{
@ -60,19 +55,16 @@ public:
typedef TEA::Encryption TEAEncryption;
typedef TEA::Decryption TEADecryption;
/// \class XTEA_Info
/// \brief XTEA block cipher information
struct XTEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<32>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "XTEA";}
};
/// \class XTEA
/// \brief XTEA block cipher
/// \sa <a href="http://www.cryptopp.com/wiki/TEA">XTEA</a>
class XTEA : public XTEA_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief XTEA block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<XTEA_Info>
{
@ -84,7 +76,6 @@ class XTEA : public XTEA_Info, public BlockCipherDocumentation
word32 m_limit;
};
/// \class Enc
/// \brief XTEA block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -92,7 +83,6 @@ class XTEA : public XTEA_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief XTEA block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{
@ -105,20 +95,17 @@ public:
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};
/// \class BTEA_Info
/// \brief BTEA block cipher information
struct BTEA_Info : public FixedKeyLength<16>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "BTEA";}
};
/// \class BTEA
/// \brief BTEA block cipher
/// \details Corrected Block TEA as described in "xxtea". This class hasn't been tested yet.
/// \sa <a href="http://www.cryptopp.com/wiki/TEA">Corrected Block TEA</a>.
class BTEA : public BTEA_Info, public BlockCipherDocumentation
{
/// \class Base
/// \brief BTEA block cipher default operation
class CRYPTOPP_NO_VTABLE Base : public AlgorithmImpl<SimpleKeyingInterfaceImpl<BlockCipher, BTEA_Info>, BTEA_Info>, public BTEA_Info
{
@ -137,7 +124,6 @@ class BTEA : public BTEA_Info, public BlockCipherDocumentation
unsigned int m_blockSize;
};
/// \class Enc
/// \brief BTEA block cipher encryption operation
class CRYPTOPP_NO_VTABLE Enc : public Base
{
@ -145,7 +131,6 @@ class BTEA : public BTEA_Info, public BlockCipherDocumentation
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
/// \class Dec
/// \brief BTEA block cipher decryption operation
class CRYPTOPP_NO_VTABLE Dec : public Base
{

View File

@ -18,7 +18,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Threefish_Info
/// \brief Threefish block cipher information
/// \tparam BS block size of the cipher, in bytes
/// \since Crypto++ 6.0
@ -32,7 +31,6 @@ struct Threefish_Info : public FixedBlockSize<BS>, FixedKeyLength<BS>
}
};
/// \class Threefish_Base
/// \brief Threefish block cipher base class
/// \tparam BS block size of the cipher, in bytes
/// \details User code should use Threefish256, Threefish512, Threefish1024
@ -66,7 +64,6 @@ struct CRYPTOPP_NO_VTABLE Threefish_Base
AlignedSecBlock64 m_tweak;
};
/// \class Threefish256
/// \brief Threefish 256-bit block cipher
/// \details Threefish256 provides 256-bit block size. The valid key size is 256-bit.
/// \note Crypto++ provides a byte oriented implementation
@ -111,7 +108,6 @@ public:
typedef Threefish256::Encryption Threefish256Encryption;
typedef Threefish256::Decryption Threefish256Decryption;
/// \class Threefish512
/// \brief Threefish 512-bit block cipher
/// \details Threefish512 provides 512-bit block size. The valid key size is 512-bit.
/// \note Crypto++ provides a byte oriented implementation
@ -156,7 +152,6 @@ public:
typedef Threefish512::Encryption Threefish512Encryption;
typedef Threefish512::Decryption Threefish512Decryption;
/// \class Threefish1024
/// \brief Threefish 1024-bit block cipher
/// \details Threefish1024 provides 1024-bit block size. The valid key size is 1024-bit.
/// \note Crypto++ provides a byte oriented implementation

View File

@ -12,7 +12,6 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class TTMAC_Base
/// \brief TTMAC message authentication code information
class CRYPTOPP_NO_VTABLE TTMAC_Base : public FixedKeyLength<20>, public IteratedHash<word32, LittleEndian, 64, MessageAuthenticationCode>
{
@ -34,7 +33,6 @@ protected:
FixedSizeSecBlock<word32, 5> m_key;
};
/// \class TTMAC
/// \brief Two-Track-MAC message authentication code
/// \tparam T HashTransformation class
/// \details 160-bit MAC with 160-bit key

View File

@ -11,14 +11,12 @@
NAMESPACE_BEGIN(CryptoPP)
/// \class Twofish_Info
/// \brief Twofish block cipher information
struct Twofish_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>, FixedRounds<16>
{
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "Twofish";}
};
/// \class Twofish
/// \brief Twofish block cipher
//~ \sa <a href="http://www.cryptopp.com/wiki/Twofish">Twofish</a>
class Twofish : public Twofish_Info, public BlockCipherDocumentation

Some files were not shown because too many files have changed in this diff Show More