Updated documentation

pull/263/head
Jeffrey Walton 2016-09-10 23:31:01 -04:00
parent d28d6e0248
commit d8f91752db
6 changed files with 19 additions and 0 deletions

View File

@ -3,6 +3,7 @@
//! \file //! \file
//! \headerfile authenc.h //! \headerfile authenc.h
//! \brief Base classes for working with authenticated encryption modes of encryption //! \brief Base classes for working with authenticated encryption modes of encryption
//! \since Crypto++ 5.6.0
#ifndef CRYPTOPP_AUTHENC_H #ifndef CRYPTOPP_AUTHENC_H
#define CRYPTOPP_AUTHENC_H #define CRYPTOPP_AUTHENC_H
@ -14,6 +15,7 @@ NAMESPACE_BEGIN(CryptoPP)
//! \class AuthenticatedSymmetricCipherBase //! \class AuthenticatedSymmetricCipherBase
//! \brief Base implementation for one direction (encryption or decryption) of a stream cipher or block cipher mode with authentication //! \brief Base implementation for one direction (encryption or decryption) of a stream cipher or block cipher mode with authentication
//! \since Crypto++ 5.6.0
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AuthenticatedSymmetricCipherBase : public AuthenticatedSymmetricCipher class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE AuthenticatedSymmetricCipherBase : public AuthenticatedSymmetricCipher
{ {
public: public:

4
ccm.h
View File

@ -2,6 +2,7 @@
//! \file ccm.h //! \file ccm.h
//! \brief CCM block cipher mode of operation //! \brief CCM block cipher mode of operation
//! \since Crypto++ 5.6.0
#ifndef CRYPTOPP_CCM_H #ifndef CRYPTOPP_CCM_H
#define CRYPTOPP_CCM_H #define CRYPTOPP_CCM_H
@ -14,6 +15,7 @@ NAMESPACE_BEGIN(CryptoPP)
//! \class CCM_Base //! \class CCM_Base
//! \brief CCM block cipher base implementation //! \brief CCM block cipher base implementation
//! \details Base implementation of the AuthenticatedSymmetricCipher interface //! \details Base implementation of the AuthenticatedSymmetricCipher interface
//! \since Crypto++ 5.6.0
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CCM_Base : public AuthenticatedSymmetricCipherBase class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CCM_Base : public AuthenticatedSymmetricCipherBase
{ {
public: public:
@ -84,6 +86,7 @@ protected:
//! \tparam T_BlockCipher block cipher //! \tparam T_BlockCipher block cipher
//! \tparam T_DefaultDigestSize default digest size, in bytes //! \tparam T_DefaultDigestSize default digest size, in bytes
//! \tparam T_IsEncryption direction in which to operate the cipher //! \tparam T_IsEncryption direction in which to operate the cipher
//! \since Crypto++ 5.6.0
template <class T_BlockCipher, int T_DefaultDigestSize, bool T_IsEncryption> template <class T_BlockCipher, int T_DefaultDigestSize, bool T_IsEncryption>
class CCM_Final : public CCM_Base class CCM_Final : public CCM_Base
{ {
@ -106,6 +109,7 @@ private:
//! \details \p CCM provides the \p Encryption and \p Decryption typedef. See GCM_Base //! \details \p CCM provides the \p Encryption and \p Decryption typedef. See GCM_Base
//! and GCM_Final for the AuthenticatedSymmetricCipher implementation. //! and GCM_Final for the AuthenticatedSymmetricCipher implementation.
//! \sa <a href="http://www.cryptolounge.org/wiki/CCM">CCM</a> at the Crypto Lounge //! \sa <a href="http://www.cryptolounge.org/wiki/CCM">CCM</a> at the Crypto Lounge
//! \since Crypto++ 5.6.0
template <class T_BlockCipher, int T_DefaultDigestSize = 16> template <class T_BlockCipher, int T_DefaultDigestSize = 16>
struct CCM : public AuthenticatedSymmetricCipherDocumentation struct CCM : public AuthenticatedSymmetricCipherDocumentation
{ {

3
cmac.h
View File

@ -2,6 +2,7 @@
//! \file cmac.h //! \file cmac.h
//! \brief Classes for CMAC message authentication code //! \brief Classes for CMAC message authentication code
//! \since Crypto++ 5.6.0
#ifndef CRYPTOPP_CMAC_H #ifndef CRYPTOPP_CMAC_H
#define CRYPTOPP_CMAC_H #define CRYPTOPP_CMAC_H
@ -13,6 +14,7 @@ NAMESPACE_BEGIN(CryptoPP)
//! \class CMAC_Base //! \class CMAC_Base
//! \brief CMAC base implementation //! \brief CMAC base implementation
//! \since Crypto++ 5.6.0
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CMAC_Base : public MessageAuthenticationCode class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CMAC_Base : public MessageAuthenticationCode
{ {
public: public:
@ -40,6 +42,7 @@ protected:
//! \tparam T block cipher //! \tparam T block cipher
//! \details Template parameter T should be a class derived from BlockCipherDocumentation, for example AES, with a block size of 8, 16, or 32. //! \details Template parameter T should be a class derived from BlockCipherDocumentation, for example AES, with a block size of 8, 16, or 32.
//! \sa <a href="http://www.cryptolounge.org/wiki/CMAC">CMAC</a> //! \sa <a href="http://www.cryptolounge.org/wiki/CMAC">CMAC</a>
//! \since Crypto++ 5.6.0
template <class T> template <class T>
class CMAC : public MessageAuthenticationCodeImpl<CMAC_Base, CMAC<T> >, public SameKeyLengthAs<T> class CMAC : public MessageAuthenticationCodeImpl<CMAC_Base, CMAC<T> >, public SameKeyLengthAs<T>
{ {

3
eax.h
View File

@ -15,6 +15,7 @@ NAMESPACE_BEGIN(CryptoPP)
//! \class EAX_Base //! \class EAX_Base
//! \brief EAX block cipher base implementation //! \brief EAX block cipher base implementation
//! \details Base implementation of the AuthenticatedSymmetricCipher interface //! \details Base implementation of the AuthenticatedSymmetricCipher interface
//! \since Crypto++ 5.6.0
class CRYPTOPP_NO_VTABLE EAX_Base : public AuthenticatedSymmetricCipherBase class CRYPTOPP_NO_VTABLE EAX_Base : public AuthenticatedSymmetricCipherBase
{ {
public: public:
@ -70,6 +71,7 @@ protected:
//! \brief EAX block cipher final implementation //! \brief EAX block cipher final implementation
//! \tparam T_BlockCipher block cipher //! \tparam T_BlockCipher block cipher
//! \tparam T_IsEncryption direction in which to operate the cipher //! \tparam T_IsEncryption direction in which to operate the cipher
//! \since Crypto++ 5.6.0
template <class T_BlockCipher, bool T_IsEncryption> template <class T_BlockCipher, bool T_IsEncryption>
class EAX_Final : public EAX_Base class EAX_Final : public EAX_Base
{ {
@ -94,6 +96,7 @@ private:
//! \details \p EAX provides the \p Encryption and \p Decryption typedef. See EAX_Base //! \details \p EAX provides the \p Encryption and \p Decryption typedef. See EAX_Base
//! and EAX_Final for the AuthenticatedSymmetricCipher implementation. //! and EAX_Final for the AuthenticatedSymmetricCipher implementation.
//! \sa <a href="http://www.cryptolounge.org/wiki/EAX">EAX</a> at the Crypto Lounge //! \sa <a href="http://www.cryptolounge.org/wiki/EAX">EAX</a> at the Crypto Lounge
//! \since Crypto++ 5.6.0
template <class T_BlockCipher> template <class T_BlockCipher>
struct EAX : public AuthenticatedSymmetricCipherDocumentation struct EAX : public AuthenticatedSymmetricCipherDocumentation
{ {

4
gcm.h
View File

@ -2,6 +2,7 @@
//! \file gcm.h //! \file gcm.h
//! \brief GCM block cipher mode of operation //! \brief GCM block cipher mode of operation
//! \since Crypto++ 5.6.0
#ifndef CRYPTOPP_GCM_H #ifndef CRYPTOPP_GCM_H
#define CRYPTOPP_GCM_H #define CRYPTOPP_GCM_H
@ -22,6 +23,7 @@ enum GCM_TablesOption {
//! \class GCM_Base //! \class GCM_Base
//! \brief GCM block cipher base implementation //! \brief GCM block cipher base implementation
//! \details Base implementation of the AuthenticatedSymmetricCipher interface //! \details Base implementation of the AuthenticatedSymmetricCipher interface
//! \since Crypto++ 5.6.0
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GCM_Base : public AuthenticatedSymmetricCipherBase class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GCM_Base : public AuthenticatedSymmetricCipherBase
{ {
public: public:
@ -94,6 +96,7 @@ protected:
//! \tparam T_BlockCipher block cipher //! \tparam T_BlockCipher block cipher
//! \tparam T_TablesOption table size, either \p GCM_2K_Tables or \p GCM_64K_Tables //! \tparam T_TablesOption table size, either \p GCM_2K_Tables or \p GCM_64K_Tables
//! \tparam T_IsEncryption direction in which to operate the cipher //! \tparam T_IsEncryption direction in which to operate the cipher
//! \since Crypto++ 5.6.0
template <class T_BlockCipher, GCM_TablesOption T_TablesOption, bool T_IsEncryption> template <class T_BlockCipher, GCM_TablesOption T_TablesOption, bool T_IsEncryption>
class GCM_Final : public GCM_Base class GCM_Final : public GCM_Base
{ {
@ -116,6 +119,7 @@ private:
//! \details \p GCM provides the \p Encryption and \p Decryption typedef. See GCM_Base //! \details \p GCM provides the \p Encryption and \p Decryption typedef. See GCM_Base
//! and GCM_Final for the AuthenticatedSymmetricCipher implementation. //! and GCM_Final for the AuthenticatedSymmetricCipher implementation.
//! \sa <a href="http://www.cryptolounge.org/wiki/GCM">GCM</a> at the Crypto Lounge //! \sa <a href="http://www.cryptolounge.org/wiki/GCM">GCM</a> at the Crypto Lounge
//! \since Crypto++ 5.6.0
template <class T_BlockCipher, GCM_TablesOption T_TablesOption=GCM_2K_Tables> template <class T_BlockCipher, GCM_TablesOption T_TablesOption=GCM_2K_Tables>
struct GCM : public AuthenticatedSymmetricCipherDocumentation struct GCM : public AuthenticatedSymmetricCipherDocumentation
{ {

3
seed.h
View File

@ -2,6 +2,7 @@
//! \file seed.h //! \file seed.h
//! \brief Classes for the SEED block cipher //! \brief Classes for the SEED block cipher
//! \since Crypto++ 5.6.0
#ifndef CRYPTOPP_SEED_H #ifndef CRYPTOPP_SEED_H
#define CRYPTOPP_SEED_H #define CRYPTOPP_SEED_H
@ -13,6 +14,7 @@ NAMESPACE_BEGIN(CryptoPP)
//! \class SEED_Info //! \class SEED_Info
//! \brief SEED block cipher information //! \brief SEED block cipher information
//! \since Crypto++ 5.6.0
struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16> struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16>
{ {
CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SEED";} CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SEED";}
@ -21,6 +23,7 @@ struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public
//! \class SEED //! \class SEED
//! \brief SEED block cipher //! \brief SEED block cipher
//! \sa <a href="http://www.cryptolounge.org/wiki/SEED">SEED</a> //! \sa <a href="http://www.cryptolounge.org/wiki/SEED">SEED</a>
//! \since Crypto++ 5.6.0
class SEED : public SEED_Info, public BlockCipherDocumentation class SEED : public SEED_Info, public BlockCipherDocumentation
{ {
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<SEED_Info> class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<SEED_Info>