Hi everyone!
Can someone help me how can I add AESX to Crypto++ library? I tried to use DES-XEX codes in des.cpp. I added aes.cpp like: NAMESPACE_BEGIN(CryptoPP) void AES_X::Base::UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs &) { AssertValidKeyLength(length); if (!m_aes.get()) m_aes.reset(new RijndaelEncryption); memcpy(m_x1, key + (IsForwardTransformation() ? 0 : 16), BLOCKSIZE); memcpy(m_x3, key + (IsForwardTransformation() ? 16 : 0), BLOCKSIZE); } void AES_X::Base::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const { xorbuf(outBlock, inBlock, m_x1, BLOCKSIZE); m_aes->ProcessAndXorBlock(outBlock, xorBlock, outBlock); xorbuf(outBlock, m_x3, BLOCKSIZE); } NAMESPACE_END And aes.h is like: NAMESPACE_BEGIN(CryptoPP) struct AES_X_Info : public FixedBlockSize<16>, public FixedKeyLength<16> { CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "AES_X";} }; class AES_X : public AES_X_Info, public BlockCipherDocumentation { class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<AES_X_Info> { public: void UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs ¶ms); void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; protected: FixedSizeSecBlock<byte, BLOCKSIZE> m_x1, m_x3; // VS2005 workaround: calling modules compiled with /clr gets unresolved external symbol DES::Base::ProcessAndXorBlock // if we use DES::Encryption here directly without value_ptr. value_ptr<RijndaelEncryption> m_aes; }; public: typedef BlockCipherFinal<ENCRYPTION, Base> Encryption; typedef BlockCipherFinal<DECRYPTION, Base> Decryption; }; typedef AES_X::Encryption AES_X_Encryption; typedef AES_X::Decryption AES_X_Decryption; DOCUMENTED_TYPEDEF(Rijndael, AES); typedef RijndaelEncryption AESEncryption; typedef RijndaelDecryption AESDecryption; NAMESPACE_END If I put m_aes->ProcessAndXorBlock(outBlock, xorBlock, outBlock); in aes.cpp it gives segmentation fault. Please tell me where is my problem? Thanks in advance.. -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.