aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/block/idea/idea.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/block/idea/idea.h')
-rw-r--r--src/lib/block/idea/idea.h19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/lib/block/idea/idea.h b/src/lib/block/idea/idea.h
index 59f98da9e..eb391a0c8 100644
--- a/src/lib/block/idea/idea.h
+++ b/src/lib/block/idea/idea.h
@@ -15,27 +15,22 @@ namespace Botan {
/**
* IDEA
*/
-class BOTAN_DLL IDEA : public Block_Cipher_Fixed_Params<8, 16>
+class BOTAN_DLL IDEA final : public Block_Cipher_Fixed_Params<8, 16>
{
public:
void encrypt_n(const byte in[], byte out[], size_t blocks) const override;
void decrypt_n(const byte in[], byte out[], size_t blocks) const override;
void clear() override;
+
+ std::string provider() const override;
std::string name() const override { return "IDEA"; }
BlockCipher* clone() const override { return new IDEA; }
- protected:
- /**
- * @return const reference to encryption subkeys
- */
- const secure_vector<u16bit>& get_EK() const { return m_EK; }
-
- /**
- * @return const reference to decryption subkeys
- */
- const secure_vector<u16bit>& get_DK() const { return m_DK; }
-
private:
+#if defined(BOTAN_HAS_IDEA_SSE2)
+ void sse2_idea_op_8(const byte in[64], byte out[64], const u16bit EK[52]) const;
+#endif
+
void key_schedule(const byte[], size_t) override;
secure_vector<u16bit> m_EK, m_DK;