Update documentation

pull/484/merge
Jeffrey Walton 2017-09-28 04:06:59 -04:00
parent 9099dc0625
commit 7ef1c47c6d
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 49 additions and 12 deletions

View File

@ -480,7 +480,10 @@ public:
HashTransformation & AccessHash() {return this->m_object;} HashTransformation & AccessHash() {return this->m_object;}
}; };
//! _ //! \class TF_SignatureSchemeBase
//! \brief Trapdoor Function (TF) Signature Scheme base class
//! \tparam INTFACE interface
//! \tparam BASE base class
template <class INTFACE, class BASE> template <class INTFACE, class BASE>
class CRYPTOPP_NO_VTABLE TF_SignatureSchemeBase : public INTFACE, protected BASE class CRYPTOPP_NO_VTABLE TF_SignatureSchemeBase : public INTFACE, protected BASE
{ {
@ -509,7 +512,8 @@ protected:
virtual size_t GetDigestSize() const =0; virtual size_t GetDigestSize() const =0;
}; };
//! _ //! \class TF_SignerBase
//! \brief Trapdoor Function (TF) Signer base class
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_SignerBase : public TF_SignatureSchemeBase<PK_Signer, TF_Base<RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod> > class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_SignerBase : public TF_SignatureSchemeBase<PK_Signer, TF_Base<RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod> >
{ {
public: public:
@ -519,7 +523,8 @@ public:
size_t SignAndRestart(RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart=true) const; size_t SignAndRestart(RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart=true) const;
}; };
//! _ //! \class TF_VerifierBase
//! \brief Trapdoor Function (TF) Verifier base class
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_VerifierBase : public TF_SignatureSchemeBase<PK_Verifier, TF_Base<TrapdoorFunction, PK_SignatureMessageEncodingMethod> > class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE TF_VerifierBase : public TF_SignatureSchemeBase<PK_Verifier, TF_Base<TrapdoorFunction, PK_SignatureMessageEncodingMethod> >
{ {
public: public:
@ -532,7 +537,11 @@ public:
// ******************************************************** // ********************************************************
//! _ //! \class TF_CryptoSchemeOptions
//! \brief Trapdoor Function (TF) scheme options
//! \tparam T1 algorithm info class
//! \tparam T2 keys class with public and private key
//! \tparam T3 message encoding class
template <class T1, class T2, class T3> template <class T1, class T2, class T3>
struct TF_CryptoSchemeOptions struct TF_CryptoSchemeOptions
{ {
@ -543,14 +552,23 @@ struct TF_CryptoSchemeOptions
typedef T3 MessageEncodingMethod; typedef T3 MessageEncodingMethod;
}; };
//! _ //! \class TF_SignatureSchemeOptions
//! \brief Trapdoor Function (TF) signature scheme options
//! \tparam T1 algorithm info class
//! \tparam T2 keys class with public and private key
//! \tparam T3 message encoding class
//! \tparam T4 HashTransformation class
template <class T1, class T2, class T3, class T4> template <class T1, class T2, class T3, class T4>
struct TF_SignatureSchemeOptions : public TF_CryptoSchemeOptions<T1, T2, T3> struct TF_SignatureSchemeOptions : public TF_CryptoSchemeOptions<T1, T2, T3>
{ {
typedef T4 HashFunction; typedef T4 HashFunction;
}; };
//! _ //! \class TF_ObjectImplBase
//! \brief Trapdoor Function (TF) base implementation
//! \tparam BASE base class
//! \tparam SCHEME_OPTIONS scheme options class
//! \tparam KEY_CLASS key class
template <class BASE, class SCHEME_OPTIONS, class KEY_CLASS> template <class BASE, class SCHEME_OPTIONS, class KEY_CLASS>
class CRYPTOPP_NO_VTABLE TF_ObjectImplBase : public AlgorithmImpl<BASE, typename SCHEME_OPTIONS::AlgorithmInfo> class CRYPTOPP_NO_VTABLE TF_ObjectImplBase : public AlgorithmImpl<BASE, typename SCHEME_OPTIONS::AlgorithmInfo>
{ {
@ -602,7 +620,12 @@ protected:
} }
}; };
//! _ //! \class TF_ObjectImplExtRef
//! \brief Trapdoor Function (TF) signature with external reference
//! \tparam BASE base class
//! \tparam SCHEME_OPTIONS scheme options class
//! \tparam KEY_CLASS key class
//! \details TF_ObjectImplExtRef() holds a pointer to an external key structure
template <class BASE, class SCHEME_OPTIONS, class KEY> template <class BASE, class SCHEME_OPTIONS, class KEY>
class TF_ObjectImplExtRef : public TF_ObjectImplBase<BASE, SCHEME_OPTIONS, KEY> class TF_ObjectImplExtRef : public TF_ObjectImplBase<BASE, SCHEME_OPTIONS, KEY>
{ {
@ -619,7 +642,12 @@ private:
const KEY * m_pKey; const KEY * m_pKey;
}; };
//! _ //! \class TF_ObjectImpl
//! \brief Trapdoor Function (TF) signature scheme options
//! \tparam BASE base class
//! \tparam SCHEME_OPTIONS scheme options class
//! \tparam KEY_CLASS key class
//! \details TF_ObjectImpl() holds a reference to a trapdoor function
template <class BASE, class SCHEME_OPTIONS, class KEY_CLASS> template <class BASE, class SCHEME_OPTIONS, class KEY_CLASS>
class CRYPTOPP_NO_VTABLE TF_ObjectImpl : public TF_ObjectImplBase<BASE, SCHEME_OPTIONS, KEY_CLASS> class CRYPTOPP_NO_VTABLE TF_ObjectImpl : public TF_ObjectImplBase<BASE, SCHEME_OPTIONS, KEY_CLASS>
{ {
@ -635,25 +663,34 @@ private:
KeyClass m_trapdoorFunction; KeyClass m_trapdoorFunction;
}; };
//! _ //! \class TF_DecryptorImpl
//! \brief Trapdoor Function (TF) decryptor options
//! \tparam SCHEME_OPTIONS scheme options class
template <class BASE, class SCHEME_OPTIONS, class KEY_CLASS>
template <class SCHEME_OPTIONS> template <class SCHEME_OPTIONS>
class TF_DecryptorImpl : public TF_ObjectImpl<TF_DecryptorBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PrivateKey> class TF_DecryptorImpl : public TF_ObjectImpl<TF_DecryptorBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PrivateKey>
{ {
}; };
//! _ //! \class TF_EncryptorImpl
//! \brief Trapdoor Function (TF) encryptor options
//! \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS> template <class SCHEME_OPTIONS>
class TF_EncryptorImpl : public TF_ObjectImpl<TF_EncryptorBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PublicKey> class TF_EncryptorImpl : public TF_ObjectImpl<TF_EncryptorBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PublicKey>
{ {
}; };
//! _ //! \class TF_SignerImpl
//! \brief Trapdoor Function (TF) encryptor options
//! \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS> template <class SCHEME_OPTIONS>
class TF_SignerImpl : public TF_ObjectImpl<TF_SignerBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PrivateKey> class TF_SignerImpl : public TF_ObjectImpl<TF_SignerBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PrivateKey>
{ {
}; };
//! _ //! \class TF_VerifierImpl
//! \brief Trapdoor Function (TF) encryptor options
//! \tparam SCHEME_OPTIONS scheme options class
template <class SCHEME_OPTIONS> template <class SCHEME_OPTIONS>
class TF_VerifierImpl : public TF_ObjectImpl<TF_VerifierBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PublicKey> class TF_VerifierImpl : public TF_ObjectImpl<TF_VerifierBase, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PublicKey>
{ {