From 63bf67ba95d678e0878f1734b3bf0997ad15a785 Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 8 May 2014 16:49:00 -0400 Subject: [PATCH] ECBEncryption implementation --- aes.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/aes.h b/aes.h index 0b7866ab..b62bf63c 100644 --- a/aes.h +++ b/aes.h @@ -44,6 +44,48 @@ namespace crypto void Decrypt (const ChipherBlock * in, ChipherBlock * out); }; + typedef ECBEncryptionAESNI ECBEncryption; + typedef ECBDecryptionAESNI ECBDecryption; + +#else // use crypto++ + + class ECBEncryption + { + public: + + void SetKey (const uint8_t * key) + { + m_Encryption.SetKey (key, 32); + } + void Encrypt (const ChipherBlock * in, ChipherBlock * out) + { + m_Encryption.ProcessData (out->buf, in->buf, 16); + } + + private: + + CryptoPP::ECB_Mode::Encryption m_Encryption; + }; + + class ECBDecryption + { + public: + + void SetKey (const uint8_t * key) + { + m_Decryption.SetKey (key, 32); + } + void Decrypt (const ChipherBlock * in, ChipherBlock * out) + { + m_Decryption.ProcessData (out->buf, in->buf, 16); + } + + private: + + CryptoPP::ECB_Mode::Decryption m_Decryption; + }; + + #endif class CBCEncryption