diff options
author | lloyd <[email protected]> | 2010-08-09 05:05:09 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-08-09 05:05:09 +0000 |
commit | 902ba79d07ffd0b71a35ccf780c60f03be3d3e42 (patch) | |
tree | 20ad71ee2a84290ac4ee512d23266e27fc7291c8 /src/engine/core_engine | |
parent | bb4bddd440520ca3aee94f4b37d9d6425018d9d8 (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