aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/safer/safer_sk.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-08-11 19:34:50 +0000
committerlloyd <[email protected]>2009-08-11 19:34:50 +0000
commitc8c3d7f6eecd753aa87a882b1458346682e606db (patch)
treecf902ddbe1b884fb1b7e91cd7cacf646fc5c66fc /src/block/safer/safer_sk.h
parent13d50de7b7675d798437c0d465acedd23e08b092 (diff)
Make encrypt_n public for all BlockCipher implementations - unlike the
enc/dec functions it replaces, these are public interfaces. Add the first bits of a SSE2 implementation of Serpent. Currently incomplete.
Diffstat (limited to 'src/block/safer/safer_sk.h')
-rw-r--r--src/block/safer/safer_sk.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/block/safer/safer_sk.h b/src/block/safer/safer_sk.h
index ae3d4f9a8..4d17bba51 100644
--- a/src/block/safer/safer_sk.h
+++ b/src/block/safer/safer_sk.h
@@ -18,19 +18,22 @@ namespace Botan {
class BOTAN_DLL SAFER_SK : 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() throw() { EK.clear(); }
std::string name() const;
BlockCipher* clone() const;
+
SAFER_SK(u32bit);
private:
- void encrypt_n(const byte in[], byte out[], u32bit blocks) const;
- void decrypt_n(const byte in[], byte out[], u32bit blocks) const;
void key_schedule(const byte[], u32bit);
static const byte EXP[256];
static const byte LOG[512];
static const byte BIAS[208];
static const byte KEY_INDEX[208];
+
SecureVector<byte> EK;
const u32bit ROUNDS;
};