diff options
author | Jeffrey Walton <noloader@gmail.com> | 2018-06-21 00:37:10 -0400 |
---|---|---|
committer | Jeffrey Walton <noloader@gmail.com> | 2018-06-21 00:37:10 -0400 |
commit | b00a378a8d3057f94adb9f7168969c21466ff6f6 (patch) | |
tree | 9bc29dd8583730b1a446740a3a48cffafe3fa9ad /cham.h | |
parent | a80b1d35b00082728f9fd12816da4c2ca010b1f4 (diff) | |
download | cryptopp-git-b00a378a8d3057f94adb9f7168969c21466ff6f6.tar.gz |
Add CHAM64 SSSE3 implementation (PR #670)
CHAM64 from 20 cpb to 14 cpb on modern iCore. CHAM64 from 90 cpb to 18 cpb antique Core2 Duo
Diffstat (limited to 'cham.h')
-rw-r--r-- | cham.h | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -16,7 +16,7 @@ #include "algparam.h"
#if (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X86)
-# define CRYPTOPP_CHAM128_ADVANCED_PROCESS_BLOCKS 1
+# define CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS 1
#endif
NAMESPACE_BEGIN(CryptoPP)
@@ -74,6 +74,10 @@ public: {
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
+
+#if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
+ size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
+#endif
};
/// \brief Provides implementation for encryption transformation
@@ -84,6 +88,10 @@ public: {
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
+
+#if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
+ size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
+#endif
};
typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
@@ -125,7 +133,7 @@ public: public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
-#if CRYPTOPP_CHAM128_ADVANCED_PROCESS_BLOCKS
+#if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
#endif
};
@@ -139,7 +147,7 @@ public: public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
-#if CRYPTOPP_CHAM128_ADVANCED_PROCESS_BLOCKS
+#if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
size_t AdvancedProcessBlocks(const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const;
#endif
};
|