Updated documentation

pull/136/head
Jeffrey Walton 2016-01-29 12:29:52 -05:00
parent b6a32c063a
commit f8ff9e2c7f
3 changed files with 25 additions and 18 deletions

20
ccm.h
View File

@ -1,7 +1,6 @@
// ccm.h - written and placed in the public domain by Wei Dai // ccm.h - written and placed in the public domain by Wei Dai
//! \file //! \file ccm.h
//! \headerfile ccm.h
//! \brief CCM block cipher mode of operation //! \brief CCM block cipher mode of operation
#ifndef CRYPTOPP_CCM_H #ifndef CRYPTOPP_CCM_H
@ -12,6 +11,9 @@
NAMESPACE_BEGIN(CryptoPP) NAMESPACE_BEGIN(CryptoPP)
//! \class CCM_Base
//! \brief CCM block cipher base implementation
//! \details Base implementation of the AuthenticatedSymmetricCipher interface
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CCM_Base : public AuthenticatedSymmetricCipherBase class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CCM_Base : public AuthenticatedSymmetricCipherBase
{ {
public: public:
@ -77,6 +79,11 @@ protected:
CTR_Mode_ExternalCipher::Encryption m_ctr; 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
//! \tparam T_IsEncryption direction in which to operate the cipher
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
{ {
@ -92,8 +99,13 @@ private:
typename T_BlockCipher::Encryption m_cipher; typename T_BlockCipher::Encryption m_cipher;
}; };
/// <a href="http://www.cryptolounge.org/wiki/CCM">CCM</a> //! \class CCM
//! \brief CCM mode of operation //! \brief CCM block cipher mode of operation
//! \tparam T_BlockCipher block cipher
//! \tparam T_DefaultDigestSize default digest size, in bytes
//! \details \p CCM provides the \p Encryption and \p Decryption typedef. See GCM_Base
//! and GCM_Final for the AuthenticatedSymmetricCipher implementation.
//! \sa <a href="http://www.cryptolounge.org/wiki/CCM">CCM</a> at the Crypto Lounge
template <class T_BlockCipher, int T_DefaultDigestSize = 16> template <class T_BlockCipher, int T_DefaultDigestSize = 16>
struct CCM : public AuthenticatedSymmetricCipherDocumentation struct CCM : public AuthenticatedSymmetricCipherDocumentation
{ {

20
eax.h
View File

@ -1,7 +1,6 @@
// eax.h - written and placed in the public domain by Wei Dai // eax.h - written and placed in the public domain by Wei Dai
//! \file //! \file eax.h
//! \headerfile eax.h
//! \brief EAX block cipher mode of operation //! \brief EAX block cipher mode of operation
#ifndef CRYPTOPP_EAX_H #ifndef CRYPTOPP_EAX_H
@ -14,8 +13,8 @@
NAMESPACE_BEGIN(CryptoPP) NAMESPACE_BEGIN(CryptoPP)
//! \class EAX_Base //! \class EAX_Base
//! \brief EAX block cipher mode of operation //! \brief EAX block cipher base implementation
//! \details Implementations and overrides in \p EAX_Base apply to both \p ENCRYPTION and \p DECRYPTION directions //! \details Base implementation of the AuthenticatedSymmetricCipher interface
class CRYPTOPP_NO_VTABLE EAX_Base : public AuthenticatedSymmetricCipherBase class CRYPTOPP_NO_VTABLE EAX_Base : public AuthenticatedSymmetricCipherBase
{ {
public: public:
@ -68,12 +67,9 @@ protected:
}; };
//! \class EAX_Final //! \class EAX_Final
//! \brief Class specific methods used to operate the cipher. //! \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
//! \details Implementations and overrides in \p GCM_Final apply to either
//! \p ENCRYPTION or \p DECRYPTION, depending on the template parameter \p T_IsEncryption.
//! \details \p EAX_Final does not use inner classes \p Enc and \p Dec.
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
{ {
@ -93,12 +89,10 @@ private:
#endif #endif
//! \class EAX //! \class EAX
//! \brief The EAX block cipher mode of operation //! \brief EAX block cipher mode of operation
//! \details EAX is an Authenticated Encryption with Associated Data (AEAD) block
//! cipher mode of operation designed to simultaneously provide both authentication
//! and privacy of the message.
//! \tparam T_BlockCipher block cipher //! \tparam T_BlockCipher block cipher
//! \details \p EAX provides the \p Encryption and \p Decryption typedef. //! \details \p EAX provides the \p Encryption and \p Decryption typedef. See EAX_Base
//! 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
template <class T_BlockCipher> template <class T_BlockCipher>
struct EAX : public AuthenticatedSymmetricCipherDocumentation struct EAX : public AuthenticatedSymmetricCipherDocumentation

3
gcm.h
View File

@ -113,7 +113,8 @@ private:
//! \brief GCM block cipher mode of operation //! \brief GCM block cipher mode of operation
//! \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
//! \details \p GCM provides the \p Encryption and \p Decryption typedef. //! \details \p GCM provides the \p Encryption and \p Decryption typedef. See GCM_Base
//! 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
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