diff options
Diffstat (limited to 'src/lib/block/serpent_simd/serp_simd.h')
-rw-r--r-- | src/lib/block/serpent_simd/serp_simd.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/block/serpent_simd/serp_simd.h b/src/lib/block/serpent_simd/serp_simd.h new file mode 100644 index 000000000..b3c0b06c8 --- /dev/null +++ b/src/lib/block/serpent_simd/serp_simd.h @@ -0,0 +1,31 @@ +/* +* Serpent (SIMD) +* (C) 2009 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_SERPENT_SIMD_H__ +#define BOTAN_SERPENT_SIMD_H__ + +#include <botan/serpent.h> + +namespace Botan { + +/** +* Serpent implementation using SIMD +*/ +class BOTAN_DLL Serpent_SIMD : public Serpent + { + public: + size_t parallelism() const { return 4; } + + void encrypt_n(const byte in[], byte out[], size_t blocks) const; + void decrypt_n(const byte in[], byte out[], size_t blocks) const; + + BlockCipher* clone() const { return new Serpent_SIMD; } + }; + +} + +#endif |