summaryrefslogtreecommitdiff
path: root/rijndael.h
diff options
context:
space:
mode:
authorweidai <weidai11@users.noreply.github.com>2009-03-02 02:39:17 +0000
committerweidai <weidai11@users.noreply.github.com>2009-03-02 02:39:17 +0000
commitd8a644fc4ee2af9dc62f2a8c167b023d0c71d13b (patch)
tree0fecaa7a6728d07549a41864ea2cedfb245f0bd3 /rijndael.h
parentfa25129ac981ceed9569496c02b83771b394fa40 (diff)
downloadcryptopp-git-d8a644fc4ee2af9dc62f2a8c167b023d0c71d13b.tar.gz
changes for 5.6:
- added AuthenticatedSymmetricCipher interface class and Filter wrappers - added CCM, GCM (with SSE2 assembly), CMAC, and SEED - improved AES speed on x86 and x64 - removed WORD64_AVAILABLE; compiler 64-bit int support is now required
Diffstat (limited to 'rijndael.h')
-rw-r--r--rijndael.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/rijndael.h b/rijndael.h
index 7866adcb..e34f6c9e 100644
--- a/rijndael.h
+++ b/rijndael.h
@@ -24,22 +24,26 @@ class CRYPTOPP_DLL Rijndael : public Rijndael_Info, public BlockCipherDocumentat
void UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs &params);
protected:
+ static void FillEncTable();
+ static void FillDecTable();
+
// VS2005 workaround: have to put these on seperate lines, or error C2487 is triggered in DLL build
static const byte Se[256];
static const byte Sd[256];
- static const word32 Te[4*256];
- static const word32 Td[4*256];
static const word32 rcon[];
unsigned int m_rounds;
- SecBlock<word32> m_key;
+ SecBlock<word32, AllocatorWithCleanup<word32, CRYPTOPP_BOOL_X86> > m_key;
};
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Enc : public Base
{
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
+#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE || defined(CRYPTOPP_X64_MASM_AVAILABLE)
+ size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
+#endif
};
class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Dec : public Base