Update documentation
parent
9099dc0625
commit
7ef1c47c6d
61
pubkey.h
61
pubkey.h
|
|
@ -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>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue