aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/core_engine
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-08-09 05:05:09 +0000
committerlloyd <[email protected]>2010-08-09 05:05:09 +0000
commit902ba79d07ffd0b71a35ccf780c60f03be3d3e42 (patch)
tree20ad71ee2a84290ac4ee512d23266e27fc7291c8 /src/engine/core_engine
parentbb4bddd440520ca3aee94f4b37d9d6425018d9d8 (diff)
Add an implementation of AES-128 using SSSE3 instructions. It runs in
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.
Diffstat (limited to 'src/engine/core_engine')
0 files changed, 0 insertions, 0 deletions