Andy Polyakov
f9c5e5d92e
perlasm: fix symptom-less bugs, missing semicolons and 'my' declarations.
2012-04-28 10:36:58 +00:00
Andy Polyakov
3b0ee0d2bf
Revisit RT#1801 and complete fix.
2008-12-27 13:32:21 +00:00
Andy Polyakov
79eeb47031
Make AES_T[ed] private to aes-586 module.
2008-01-05 08:58:18 +00:00
Andy Polyakov
ad8bd4ece8
Combat [bogus] relocations in some assember modules.
2007-11-22 20:51:48 +00:00
Andy Polyakov
96b0f6c16d
Various minor updates to AES assembler modules.
2007-07-13 17:42:13 +00:00
Andy Polyakov
3a8012cbf2
Improve 386 portability of aes-586.pl.
2006-09-18 19:13:15 +00:00
Andy Polyakov
2b8a5406f9
Fix bug in aes-586.pl.
2006-08-31 21:15:38 +00:00
Andy Polyakov
6c69aa532e
Revised AES_cbc_encrypt in x86 assembler module.
2006-08-07 09:05:52 +00:00
Andy Polyakov
fc92414273
Agressively prefetch S-box in SSE codepatch, relax alignment requirement,
...
check for SSE bit instead of MMX, as pshufw was introduces in PIII, minor
optimization, typos...
2006-08-02 22:38:16 +00:00
Andy Polyakov
53154d71c3
Switch to compact S-box when generating AES key schedule.
2006-08-02 07:46:56 +00:00
Andy Polyakov
22c268e6c9
Next generation aes-586.pl featuring AES_[en|de]crypt, accessing exclusively
...
256 byte S-box. AES_cbc_encrypt needs further work as it should also use
slow routines when processing smaller amount of data.
2006-07-31 20:03:56 +00:00
Andy Polyakov
af8c1d81a3
Reimplement outer rounds as "compact" in x86 assembler. This has rather
...
strong impact on decrypt performance, 20-25%. One probably should consider
switching between slower and faster routines depending on how much data
we were asked to process.
2006-07-18 10:05:38 +00:00
Andy Polyakov
9598fa8759
Mitigate the hazard of cache-collision timing attack on last round. Well,
...
prefetch could have been moved closer to Td4 references. Something for
later consideration...
2006-06-28 08:48:54 +00:00
Andy Polyakov
4e28f13209
Pedantic polish to aes-586.pl:-)
2005-07-01 10:13:30 +00:00
Andy Polyakov
53a20bfd94
Typos in commentary section.
2005-06-30 22:09:03 +00:00
Andy Polyakov
a28062338c
AES_cbc_encrypt to allow end-user to retain small blocks performance by
...
aligning the key schedule in a specific manner.
2005-06-30 22:06:35 +00:00
Andy Polyakov
e19e549041
Comply with optimization manual (no data should share cache-line with code).
2005-05-09 21:48:01 +00:00
Andy Polyakov
57ee007035
Fix constants.
...
PR: 1059
2005-05-07 08:11:50 +00:00
Andy Polyakov
3d5fd31280
Avoid L1 cache aliasing even between key and S-boxes.
2005-04-24 21:09:20 +00:00
Andy Polyakov
04d0d0accf
Avoid aliasing between stack frames and S-boxes. Compress prefetch code.
2005-04-22 11:49:32 +00:00
Andy Polyakov
c8d5c71af5
Mitigate cache-timing attack in CBC mode. This is done by implementing
...
compressed tables (2x compression factor) and by pre-fetching them into
processor cache prior every CBC en-/decryption pass. One can argue why
just CBC? Well, it's commonly used mode in real-life applications and
API allows us to amortize the prefetch costs for larger data chunks...
2005-04-16 15:23:21 +00:00
Ulf Möller
8d274837e5
fix breakage for Perl versions that do boolean operations on long words
2005-03-19 11:13:30 +00:00
Andy Polyakov
bac252a5e3
Bug-fix in CBC encrypt tail processing and commentary section update.
2005-01-20 10:33:37 +00:00
Andy Polyakov
addb6e16a8
Throw in AES CBC assembler, up to +40% on aes-128-cbc benchmark.
2005-01-18 01:04:41 +00:00
Andy Polyakov
e7e1150706
"Monolithic" x86 assembler replacement for aes_core.c. Up to +15% better
...
performance on recent microarchitectures.
2005-01-13 15:35:44 +00:00
Andy Polyakov
3b3df98ca6
Minor AES x86 assembler tune-up.
2004-12-30 10:46:03 +00:00
Andy Polyakov
713147109c
AES x86 assembler implementation.
2004-12-23 21:32:34 +00:00