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/block/aes_ssse3/info.txt | |
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/block/aes_ssse3/info.txt')
-rw-r--r-- | src/block/aes_ssse3/info.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/block/aes_ssse3/info.txt b/src/block/aes_ssse3/info.txt new file mode 100644 index 000000000..40e7e42f6 --- /dev/null +++ b/src/block/aes_ssse3/info.txt @@ -0,0 +1,9 @@ +define AES_SSSE3 + +load_on auto + +need_isa ssse3 + +<requires> +simd_engine +</requires> |