summaryrefslogtreecommitdiff
path: root/vmac.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2015-12-14 15:50:56 -0500
committerJeffrey Walton <noloader@gmail.com>2015-12-14 15:50:56 -0500
commitd9749ce7acb84db24d36f20d3af7e1de3061fa35 (patch)
treebaf4b0fcd8680f5d389f9949a1c43e766fd838c7 /vmac.h
parentd9502a6ea93d7d5a5de6a0c8c28d807efeb1559b (diff)
downloadcryptopp-git-d9749ce7acb84db24d36f20d3af7e1de3061fa35.tar.gz
Updated documentation
Diffstat (limited to 'vmac.h')
-rw-r--r--vmac.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/vmac.h b/vmac.h
index 996457f8..335afc30 100644
--- a/vmac.h
+++ b/vmac.h
@@ -1,3 +1,8 @@
+// vmac.h - written and placed in the public domain by Wei Dai
+
+//! \file vmac.h
+//! \brief Classes for the VMAC message authentication code
+
#ifndef CRYPTOPP_VMAC_H
#define CRYPTOPP_VMAC_H
@@ -12,7 +17,7 @@
NAMESPACE_BEGIN(CryptoPP)
//! \class VMAC_Base
-//! \brief Class specific methods used to operate the MAC.
+//! \brief VMAC message authentication code base class
class VMAC_Base : public IteratedHashBase<word64, MessageAuthenticationCode>
{
public:
@@ -45,10 +50,6 @@ 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)
@@ -62,13 +63,15 @@ protected:
};
//! \class VMAC
-//! \brief The VMAC message authentication code
+//! \brief VMAC message authentication code
+//! \tparam T_BlockCipher block cipher
+//! \tparam T_DigestBitSize digest size, in bits
//! \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.
+//! \details The implementation is based on Ted Krovetz's public domain vmac.c
+//! and <a href="http://tools.ietf.org/html/draft-krovetz-vmac-01">draft-krovetz-vmac-01.txt</a>.
+//! \sa <a href="http://www.cryptolounge.org/wiki/VMAC">VMAC</a>.
template <class T_BlockCipher, int T_DigestBitSize = 128>
class VMAC : public SimpleKeyingInterfaceImpl<VMAC_Base, SameKeyLengthAs<T_BlockCipher, SimpleKeyingInterface::UNIQUE_IV, T_BlockCipher::BLOCKSIZE> >
{