Hi Jan, > Do you know what could be origin of them? Verify VC++ 8.0 Express *has not* changed the settings of static linking to dynamic linking. I seem to remember something similar in the academic versions of the compiler. In these versions, only dynamic linking to libraries (any library, not just Crypto++) was supported.
Jeff On 6/18/09, Jan <[email protected]> wrote: > > Hi, > > thank you for pointing me. > > I have tried it to implement it by a new template and new class > (inspired by modes.h): > > class CTR_TPM_ModePolicy : public CTR_ModePolicy > { > protected: > virtual void IncrementCounterBy256() { IncrementCounterByOne > (m_counterArray, 3); } > }; > > CRYPTOPP_DLL_TEMPLATE_CLASS > AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, > CTR_TPM_ModePolicy> >; > > template <class CIPHER> > struct CTR_TPM_Mode : public CipherModeDocumentation > { > typedef CipherModeFinalTemplate_CipherHolder<CPP_TYPENAME > CIPHER::Encryption, ConcretePolicyHolder<Empty, > AdditiveCipherTemplate<AbstractPolicyHolder<AdditiveCipherAbstractPolicy, > CTR_TPM_ModePolicy> > > > Encryption; > typedef Encryption Decryption; > }; > > and then I tried to create proper variable: > > CTR_TPM_Mode<AES>::Encryption aes(key.data, key.size, iv.data, > iv.size); > > Unfortunately linker (VC++ 8.0 Express) returned few errors: > > "public: virtual void __thiscall > CryptoPP::AdditiveCipherTemplate<class > CryptoPP::AbstractPolicyHolder<struct > CryptoPP::AdditiveCipherAbstractPolicy,class > CryptoPP::CTR_TPM_ModePolicy> >::Resynchronize(unsigned char const > *,int)" > "protected: virtual void __thiscall > CryptoPP::AdditiveCipherTemplate<class > CryptoPP::AbstractPolicyHolder<struct > CryptoPP::AdditiveCipherAbstractPolicy,class > CryptoPP::CTR_TPM_ModePolicy> >::UncheckedSetKey(unsigned char const > *,unsigned int,class CryptoPP::NameValuePairs const &)" > "public: virtual void __thiscall > CryptoPP::AdditiveCipherTemplate<class > CryptoPP::AbstractPolicyHolder<struct > CryptoPP::AdditiveCipherAbstractPolicy,class > CryptoPP::CTR_TPM_ModePolicy> >::ProcessData(unsigned char *,unsigned > char const *,unsigned int)" > "public: virtual void __thiscall > CryptoPP::AdditiveCipherTemplate<class > CryptoPP::AbstractPolicyHolder<struct > CryptoPP::AdditiveCipherAbstractPolicy,class > CryptoPP::CTR_TPM_ModePolicy> >::Seek(unsigned __int64)" > "public: virtual void __thiscall > CryptoPP::AdditiveCipherTemplate<class > CryptoPP::AbstractPolicyHolder<struct > CryptoPP::AdditiveCipherAbstractPolicy,class > CryptoPP::CTR_TPM_ModePolicy> >::GenerateBlock(unsigned char > *,unsigned int)" > > Do you know what could be origin of them? > > Best regards, > Jan > > On Jun 16, 7:52 pm, "Wei Dai" <[email protected]> wrote: > > Hi, take a look at GCM_Base::GCTR in gcm.h. It does what you want, but is a > > protected member of GCM_Base, so just copy its code. > > > [SNIP] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
