aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/simd_engine
Commit message (Collapse)AuthorAgeFilesLines
* Split the SIMD implementations into their own modules and choose onelloyd2011-05-241-1/+1
| | | | at config time.
* Add a --no-autoload examplelloyd2011-04-191-0/+4
| | | | | | Add missing dependency in the SIMD engine that would cause build failures when using --no-autoload and explicitly requesting a SIMD algorithm like aes_ssse3 using --enable-modules.
* Add also AES-192 using SSSE3lloyd2010-08-121-0/+2
|
* Support AES-256 is the SSSE3 implementationlloyd2010-08-121-0/+2
|
* Add an implementation of AES-128 using SSSE3 instructions. It runs inlloyd2010-08-091-0/+9
| | | | | | | | | | | | | | | constant time and on a Nehalem is significantly faster than the table based version. This implementation technique was invented by Mike Hamburg and described in a paper in CHES 2009 "Accelerating AES with Vector Permute Instructions". This code is basically a translation of his public domain x86-64 assembly code into intrinsics. Todo: Adding support for AES-192 and AES-256; this just requires implementing the key schedules. Currently only tested on an i7 with GCC (32 and 64 bit code); testing/optimization on 32-bit processors with SSSE3 like the Atom, and with Visual C++ and other compilers, are also todos.
* Don't hide funcions in engine subclasses that are public in baselloyd2010-06-161-1/+1
|
* More Doxygen updates/fixeslloyd2010-06-151-0/+3
|
* Use "/*" instead of "/**" in starting comments at the begining of a file.lloyd2010-06-072-2/+2
| | | | | This caused Doxygen to think this was markup meant for it, which really caused some clutter in the namespace page.
* Add SIMD version of Noekeon. On a Core2, about 2.7x faster using SIMD_SSE2lloyd2010-01-121-0/+9
| | | | and 1.6x faster using SIMD_Scalar.
* Add last nights project, an SSE2 implementation of IDEA. Right about 4xlloyd2009-12-231-4/+10
| | | | faster than the scalar version on a Core2.
* Add missing BOTAN_DLL exports.lloyd2009-12-163-2/+10
| | | | Move most of the engine headers to internal
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-161-1/+1
|
* Make sure the SIMD_32 implementation we're using actually works on thelloyd2009-11-241-0/+4
| | | | system before returning a new instance.
* Rename sse2 engine to simdlloyd2009-10-291-1/+1
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-10-291-2/+0
| | | | | | 8fb69dd1c599ada1008c4cab2a6d502cbcc468e0) to branch 'net.randombit.botan.general-simd' (head c05c9a6d398659891fb8cca170ed514ea7e6476d)
* Rename SSE2 stuff to be generally SIMD since it supports at least SSE2lloyd2009-10-293-0/+88
and Altivec (though Altivec is seemingly slower ATM...)