aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/aes_ssse3/aes_ssse3.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-08-12 15:57:43 +0000
committerlloyd <[email protected]>2010-08-12 15:57:43 +0000
commita5efc440cca7485f6b8168a317c9088a762cdbc8 (patch)
tree511c0a5cc3b9e2ffd34764a1c3f1dc53ec07eaab /src/block/aes_ssse3/aes_ssse3.h
parentba58e2cbcc4d70b89799f14c1f37f85537807975 (diff)
Add also AES-192 using SSSE3
Diffstat (limited to 'src/block/aes_ssse3/aes_ssse3.h')
-rw-r--r--src/block/aes_ssse3/aes_ssse3.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/block/aes_ssse3/aes_ssse3.h b/src/block/aes_ssse3/aes_ssse3.h
index 25a3e97b9..8087b58a0 100644
--- a/src/block/aes_ssse3/aes_ssse3.h
+++ b/src/block/aes_ssse3/aes_ssse3.h
@@ -33,6 +33,26 @@ class BOTAN_DLL AES_128_SSSE3 : public BlockCipher
};
/**
+* AES-192 using SSSE3
+*/
+class BOTAN_DLL AES_192_SSSE3 : public BlockCipher
+ {
+ public:
+ void encrypt_n(const byte in[], byte out[], u32bit blocks) const;
+ void decrypt_n(const byte in[], byte out[], u32bit blocks) const;
+
+ void clear() { EK.clear(); DK.clear(); }
+ std::string name() const { return "AES-192"; }
+ BlockCipher* clone() const { return new AES_192_SSSE3; }
+
+ AES_192_SSSE3() : BlockCipher(16, 24) {}
+ private:
+ void key_schedule(const byte[], u32bit);
+
+ SecureVector<u32bit, 52> EK, DK;
+ };
+
+/**
* AES-256 using SSSE3
*/
class BOTAN_DLL AES_256_SSSE3 : public BlockCipher