aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/mars
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/mars
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/mars')
-rw-r--r--src/block/mars/mars.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/block/mars/mars.h b/src/block/mars/mars.h
index b3d74b179..7d0bfe4fa 100644
--- a/src/block/mars/mars.h
+++ b/src/block/mars/mars.h
@@ -15,13 +15,15 @@ namespace Botan {
class BOTAN_DLL MARS : 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 { return "MARS"; }
BlockCipher* clone() const { return new MARS; }
+
MARS() : BlockCipher(16, 16, 32, 4) {}
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);
void encrypt_round(u32bit&, u32bit&, u32bit&, u32bit&, u32bit) const;