Updated documentation

pull/136/head
Jeffrey Walton 2016-01-29 09:59:09 -05:00
parent 47cf7aca3e
commit b6a32c063a
1 changed files with 11 additions and 11 deletions

22
gcm.h
View File

@ -1,7 +1,6 @@
// gcm.h - written and placed in the public domain by Wei Dai // gcm.h - written and placed in the public domain by Wei Dai
//! \file //! \file gcm.h
//! \headerfile gcm.h
//! \brief GCM block cipher mode of operation //! \brief GCM block cipher mode of operation
#ifndef CRYPTOPP_GCM_H #ifndef CRYPTOPP_GCM_H
@ -13,12 +12,16 @@
NAMESPACE_BEGIN(CryptoPP) NAMESPACE_BEGIN(CryptoPP)
//! \enum GCM_TablesOption //! \enum GCM_TablesOption
//! \brief Use either 2K or 64K size tables. //! \brief GCM table size options
enum GCM_TablesOption {GCM_2K_Tables, GCM_64K_Tables}; enum GCM_TablesOption {
//! \brief Use a table with 2K entries
GCM_2K_Tables,
//! \brief Use a table with 64K entries
GCM_64K_Tables};
//! \class GCM_Base //! \class GCM_Base
//! \brief CCM block cipher mode of operation. //! \brief GCM block cipher base implementation
//! \details Implementations and overrides in \p GCM_Base apply to both \p ENCRYPTION and \p DECRYPTION directions //! \details Base implementation of the AuthenticatedSymmetricCipher interface
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GCM_Base : public AuthenticatedSymmetricCipherBase class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE GCM_Base : public AuthenticatedSymmetricCipherBase
{ {
public: public:
@ -87,13 +90,10 @@ protected:
}; };
//! \class GCM_Final //! \class GCM_Final
//! \brief Class specific methods used to operate the cipher. //! \brief GCM block cipher final implementation
//! \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
//! \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 GCM_Final does not use inner classes \p Enc and \p Dec.
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
{ {
@ -110,7 +110,7 @@ private:
}; };
//! \class GCM //! \class GCM
//! \brief The GCM 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.