summaryrefslogtreecommitdiff
path: root/vmac.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2015-11-18 15:32:28 -0500
committerJeffrey Walton <noloader@gmail.com>2015-11-18 15:32:28 -0500
commit6ac1e46a1fb01f01705b67dd553d5ba317b1dc3e (patch)
treef0d873d0b377a91dce5ee384e60426ef57efc92b /vmac.h
parentd2fda9bd4231a7dfcb44e59150f11246d992843f (diff)
downloadcryptopp-git-6ac1e46a1fb01f01705b67dd553d5ba317b1dc3e.tar.gz
Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup)
Diffstat (limited to 'vmac.h')
-rw-r--r--vmac.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/vmac.h b/vmac.h
index 2f9a8000..996457f8 100644
--- a/vmac.h
+++ b/vmac.h
@@ -11,7 +11,8 @@
NAMESPACE_BEGIN(CryptoPP)
-/// .
+//! \class VMAC_Base
+//! \brief Class specific methods used to operate the MAC.
class VMAC_Base : public IteratedHashBase<word64, MessageAuthenticationCode>
{
public:
@@ -44,6 +45,10 @@ protected:
void VHASH_Update_Template(const word64 *data, size_t blockRemainingInWord128);
void VHASH_Update(const word64 *data, size_t blocksRemainingInWord128);
+#if CRYPTOPP_DOXYGEN_PROCESSING
+ private: // hide from documentation
+#endif
+
CRYPTOPP_BLOCK_1(polyState, word64, 4*(m_is128+1))
CRYPTOPP_BLOCK_2(nhKey, word64, m_L1KeyLength/sizeof(word64) + 2*m_is128)
CRYPTOPP_BLOCK_3(data, byte, m_L1KeyLength)
@@ -56,7 +61,14 @@ protected:
int m_L1KeyLength;
};
-/// <a href="http://www.cryptolounge.org/wiki/VMAC">VMAC</a>
+//! \class VMAC
+//! \brief The VMAC message authentication code
+//! \details VMAC is a block cipher-based message authentication code algorithm
+//! using a universal hash proposed by Ted Krovetz and Wei Dai in April 2007. The
+//! algorithm was designed for high performance backed by a formal analysis.
+//! \tparam T_BlockCipher block cipher
+//! \tparam T_DigestBitSize digest size, in bits
+//! \sa <a href="http://www.cryptolounge.org/wiki/VMAC">VMAC</a> at the Crypto Lounge.
template <class T_BlockCipher, int T_DigestBitSize = 128>
class VMAC : public SimpleKeyingInterfaceImpl<VMAC_Base, SameKeyLengthAs<T_BlockCipher, SimpleKeyingInterface::UNIQUE_IV, T_BlockCipher::BLOCKSIZE> >
{