diff options
Diffstat (limited to 'lib/block/noekeon_simd/noekeon_simd.h')
-rw-r--r-- | lib/block/noekeon_simd/noekeon_simd.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/block/noekeon_simd/noekeon_simd.h b/lib/block/noekeon_simd/noekeon_simd.h new file mode 100644 index 000000000..5cc2d8b09 --- /dev/null +++ b/lib/block/noekeon_simd/noekeon_simd.h @@ -0,0 +1,31 @@ +/* +* Noekeon in SIMD +* (C) 2010 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_NOEKEON_SIMD_H__ +#define BOTAN_NOEKEON_SIMD_H__ + +#include <botan/noekeon.h> + +namespace Botan { + +/** +* Noekeon implementation using SIMD operations +*/ +class BOTAN_DLL Noekeon_SIMD : public Noekeon + { + 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 Noekeon_SIMD; } + }; + +} + +#endif |