aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/aes_ssse3/info.txt
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/block/aes_ssse3/info.txt
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/block/aes_ssse3/info.txt')
-rw-r--r--src/block/aes_ssse3/info.txt9
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>