Andy Polyakov
29f41e8a80
bsaes-armv7.pl: remove byte order dependency and minor optimization.
2013-09-15 19:44:43 +02:00
Ard Biesheuvel
a2ea9f3ecc
Added support for ARM/NEON based bit sliced AES in XTS mode
...
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2013-09-15 19:37:16 +02:00
Andy Polyakov
42386fdb62
aesni-sha256-x86_64.pl: fix typo in Windows SEH.
2013-06-30 23:06:28 +02:00
Andy Polyakov
02450ec69d
PA-RISC assembler pack: switch to bve in 64-bit builds.
...
PR: 3074
2013-06-18 10:37:00 +02:00
Andy Polyakov
3b848d3401
aesni-sha1-x86_64.pl: update performance data.
2013-06-10 22:35:22 +02:00
Andy Polyakov
42b9a4177b
aesni-sha256-x86_64.pl: harmonize with latest sha512-x86_64.pl.
2013-06-10 22:34:06 +02:00
Andy Polyakov
36df342f9b
aesni-x86_64.pl: optimize XTS.
...
PR: 3042
2013-05-25 19:23:09 +02:00
Andy Polyakov
4df2280b4f
aesni-sha1-x86_64.pl: Atom-specific optimization.
2013-05-25 19:08:39 +02:00
Andy Polyakov
988d11b641
vpaes-x86[_64].pl: minor Atom-specific optimization.
2013-05-25 18:57:03 +02:00
Andy Polyakov
8a97a33063
Add AES-SHA256 stitch.
2013-05-13 22:49:58 +02:00
Andy Polyakov
cd54249c21
aesni-x86_64.pl: minor CTR performance improvement.
2013-05-13 15:49:03 +02:00
Andy Polyakov
9575d1a91a
bsaes-armv7.pl: add bsaes_cbc_encrypt and bsaes_ctr32_encrypt_blocks.
...
Submitted by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributor claims ~50% improvement in CTR and ~9% in CBC decrypt
on Cortex-A15.
2013-04-23 17:52:14 +02:00
Andy Polyakov
75fe422323
bsaes-armv7.pl: take it into build loop.
2013-04-23 17:49:54 +02:00
Andy Polyakov
73325b221c
aesni-x86_64.pl: optimize CBC decrypt.
...
Give CBC decrypt approximately same treatment as to CTR and collect 25%.
2013-04-04 15:56:23 +02:00
Andy Polyakov
b4a9d5bfe8
aesni-x86_64.pl: fix typo and optimize small block performance.
2013-03-29 18:54:24 +01:00
Andy Polyakov
6c79faaa9d
aesni-x86_64.pl: optimize CTR even further.
...
Based on suggestions from Shay Gueron and Vlad Krasnov.
PR: 3021
2013-03-26 14:29:18 +01:00
Andy Polyakov
1bc4d009e1
aesni-x86_64.pl: optimize CTR even further.
2013-03-19 20:03:02 +01:00
Andy Polyakov
7c9e81be40
[aesni-]sha1-x86_64.pl: code refresh.
2013-02-14 16:14:02 +01:00
Andy Polyakov
46bf83f07a
x86_64 assembly pack: make Windows build more robust.
...
PR: 2963 and a number of others
2013-01-22 22:27:28 +01:00
Andy Polyakov
8df400cf8d
aes-s390x.pl: fix XTS bugs in z196-specific code path.
2012-12-05 17:44:45 +00:00
Andy Polyakov
9282c33596
aesni-x86_64.pl: CTR face lift, +25% on Bulldozer.
2012-12-01 18:20:39 +00:00
Andy Polyakov
c3cddeaec8
aes-s390x.pl: harmonize software-only code path [and minor optimization].
2012-12-01 11:06:19 +00:00
Andy Polyakov
904732f68b
C64x+ assembly pack: improve EABI support.
2012-11-28 13:19:10 +00:00
Andy Polyakov
cd68694646
AES for SPARC T4: add XTS, reorder subroutines to improve TLB locality.
2012-11-24 21:55:23 +00:00
Andy Polyakov
98dc178494
aes-x86_64.pl: Atom-specific optimizations, +10%.
...
vpaes-x86_64.pl: minor performance squeeze.
2012-11-12 17:52:41 +00:00
Andy Polyakov
89f1eb8213
aes-586.pl: Atom-specific optimization, +44/29%, minor improvement on others.
...
vpaes-x86.pl: minor performance squeeze.
2012-11-12 17:50:19 +00:00
Andy Polyakov
8ed11a815e
[aes|cmll]t4-sparcv9.pl: unify argument handling.
2012-10-25 12:03:41 +00:00
Andy Polyakov
eec82a0e1f
[aes|cmll]t4-sparcv9.pl: addendum to previous sparcv9_modes.pl commit.
2012-10-14 14:42:27 +00:00
Andy Polyakov
54a1f4480e
aest4-sparcv9.pl: split it to AES-specific and reusable part.
2012-10-11 18:30:35 +00:00
Andy Polyakov
c5f6da54fc
Add SPARC T4 AES support.
...
Submitted by: David Miller
2012-10-06 18:08:09 +00:00
Andy Polyakov
5cc2159526
MIPS assembly pack: add support for SmartMIPS ASE.
2012-09-18 12:52:23 +00:00
Andy Polyakov
8df5518bd9
MIPS assembly pack: add MIPS[32|64]R2 code.
2012-09-15 11:18:20 +00:00
Andy Polyakov
9b222748e7
aes-mips.pl: interleave load and integer instructions for better performance.
2012-09-15 11:15:02 +00:00
Andy Polyakov
e7db9896bb
bsaes-armv7.pl: closest shave. While 0.3 cpb improvement on S4 appears
...
insignificant, it's actually 4 cycles less for 14 instructions sequence!
2012-09-07 12:29:18 +00:00
Andy Polyakov
4f16215b9d
bsaes-armv7.pl: even closer shave.
2012-09-04 14:39:05 +00:00
Andy Polyakov
a903e6919c
bsaes-armv7.pl: minor performance squeeze on Snapdragon S4.
2012-09-04 08:26:50 +00:00
Andy Polyakov
1a002d88ad
MIPS assembly pack: assign default value to $flavour.
2012-08-17 09:10:31 +00:00
Andy Polyakov
6251989eb6
x86_64 assembly pack: make it possible to compile with Perl located on
...
path with spaces.
PR: 2835
2012-06-27 10:08:23 +00:00
Andy Polyakov
d2e1803197
x86[_64] assembly pack: update benchmark results.
2012-06-12 14:18:21 +00:00
Andy Polyakov
6a40ebe86b
aesni-x86_64.pl: make it possibel to use in Linux kernel.
2012-05-24 07:39:44 +00:00
Andy Polyakov
f9c5e5d92e
perlasm: fix symptom-less bugs, missing semicolons and 'my' declarations.
2012-04-28 10:36:58 +00:00
Andy Polyakov
3e181369dd
C64x+ assembler pack. linux-c64xplus build is *not* tested nor can it be
...
tested, because kernel is not in shape to handle it *yet*. The code is
committed mostly to stimulate the kernel development.
2012-04-18 13:01:36 +00:00
Andy Polyakov
b1fd0ccb38
aes-s390x.pl: fix crash in AES_set_decrypt_key in linux32-s390x build.
2012-04-09 15:12:13 +00:00
Andy Polyakov
45cd45bbbc
aes-armv4.pl: make it more foolproof [inspired by aes-s390x.pl in 1.0.1].
2012-04-05 08:30:22 +00:00
Andy Polyakov
bc9583efa2
aes-s390x.pl: make it more foolproof [inspired by 1.0.1].
2012-04-05 08:22:09 +00:00
Andy Polyakov
5db9645f1b
vpaes-x86[_64].pl: handle zero length in vpaes_cbc_encrypt.
...
PR: 2775
2012-03-31 16:53:34 +00:00
Andy Polyakov
df27a35137
vpaes-x86_64.pl: out-of-date Apple assembler fails to calculate
...
distance between local labels.
PR: 2762
2012-03-17 16:06:31 +00:00
Andy Polyakov
f9ef874a21
bsaes-x86_64.pl: optimize key conversion.
2012-03-16 21:44:19 +00:00
Andy Polyakov
442c9f13d4
bsaes-armv7.pl: optmize Sbox and key conversion.
2012-03-16 21:41:48 +00:00
Andy Polyakov
358c372d16
bsaes-armv7.pl: change preferred contact.
2012-03-03 13:04:53 +00:00
Andy Polyakov
c4a52a6dca
Add bit-sliced AES for ARM NEON. This initial version is effectively
...
reference implementation, it does not interface to OpenSSL yet.
2012-03-03 12:33:28 +00:00
Andy Polyakov
23b93b587b
aes-ppc.pl, sha512-ppc.pl: comply even with Embedded ABI specification
...
(most restrictive about r2 and r13 usage).
2012-01-13 09:16:52 +00:00
Andy Polyakov
e255024bf7
aes-sparcv9.pl: clean up regexp
...
PR: 2685
2012-01-11 15:30:53 +00:00
Andy Polyakov
0e1467a64c
vpaes-x86.pl: revert previous commit and solve the problem through x86masm.pl.
...
PR: 2657
2011-12-15 22:20:05 +00:00
Andy Polyakov
405edfdcab
vpaes-x86.pl: portability fix.
...
PR: 2657
2011-12-14 21:29:32 +00:00
Andy Polyakov
d127ef78ad
bsaes-x86_64.pl: fix buffer overrun in tail processing.
2011-11-16 23:34:01 +00:00
Andy Polyakov
fe06864836
bsaes-x86_64.pl: add Win64 SEH and "hadrware" calls to aes-x86_64.pl.
2011-11-13 20:33:41 +00:00
Andy Polyakov
60d4e99cf3
bsaes-x86_64.pl: add bsaes_xts_[en|de]crypt.
2011-11-10 22:41:31 +00:00
Andy Polyakov
a75a52a43e
bsaes-x86_64.pl: add CBC decrypt and engage it in e_aes.c.
2011-10-30 12:15:56 +00:00
Andy Polyakov
b08259cdfe
bsaes-x86_64.pl: optimize InvMixColumns.
2011-10-29 11:56:21 +00:00
Andy Polyakov
28507577b1
bsaes-x86_64.pl: add decryption procedure (with unoptimized reference
...
InvMixColumns).
2011-10-29 11:47:20 +00:00
Andy Polyakov
227a822ab6
vxworks-mips: unify and add assembler.
2011-10-19 21:49:20 +00:00
Andy Polyakov
5a326467dc
bsaes-x86_64.pl: make it work with ml64.
2011-10-18 09:22:04 +00:00
Andy Polyakov
3b7c14bb90
[bs|vp]aes-x86[_64].pl: typos and clarifications.
2011-10-18 08:03:02 +00:00
Andy Polyakov
9ee5916d97
aesni-x86[_64].pl: fix bug in CCM code.
2011-10-14 09:15:19 +00:00
Andy Polyakov
112726486d
bsaes-x86_64.pl: add due credit.
2011-09-27 19:34:40 +00:00
Andy Polyakov
4ec93a10bd
Add bit-sliced AES x86_64 assembler, see http://homes.esat.kuleuven.be/~ekasper/#software for background information. It's not integrated into build system yet.
2011-09-25 15:31:51 +00:00
Andy Polyakov
2b1f17f83f
Make latest assembler additions (vpaes and e_padlock) work in Windows build.
2011-09-18 15:40:11 +00:00
Andy Polyakov
8ca28da0a7
Integrate Vector Permutation AES into build system.
2011-09-15 20:22:59 +00:00
Andy Polyakov
543dfa9f0e
vpaes-x86[_64]*.pl: fix typo.
2011-09-12 12:50:00 +00:00
Andy Polyakov
a87ff751b7
Add so called Vector Permutation AES x86[_64] assembler, see
...
http://crypto.stanford.edu/vpaes/ for background information.
It's not integrated into build system yet.
2011-09-12 08:25:14 +00:00
Andy Polyakov
c608171d9c
Add RC4-MD5 and AESNI-SHA1 "stitched" implementations.
2011-08-23 20:51:38 +00:00
Andy Polyakov
267b481c47
aes/asm/aesni-*.pl: fix CCM and further optimize it.
...
modes/ccm128.c: minor branch optimization.
2011-08-07 17:47:56 +00:00
Andy Polyakov
7b41f350d4
aes-ppc.pl: minor optimization favoring embedded processors (performance
...
of "big" processors is unaffected).
2011-07-20 22:16:27 +00:00
Andy Polyakov
0c237e42a4
s390x assembler pack: add s390x-gf2m.pl and harmonize AES_xts_[en|de]crypt.
2011-06-27 10:00:31 +00:00
Andy Polyakov
0a9a692e4e
Minor x86_64 perlasm update.
2011-06-27 09:45:10 +00:00
Andy Polyakov
8da721ee2b
aesni-x86[_64].pl: relax alignment requirement.
2011-05-30 09:15:16 +00:00
Andy Polyakov
cf3aeae419
aes-ppc.pl: handle unaligned data on page boundaries.
2011-05-28 09:41:36 +00:00
Andy Polyakov
6715034002
PPC assembler pack: adhere closer to ABI specs, add PowerOpen traceback data.
2011-05-27 13:32:34 +00:00
Andy Polyakov
f8501464cc
aesni-x86[_64].pl: optimize for Sandy Bridge and add XTS mode.
2011-05-22 18:38:00 +00:00
Andy Polyakov
fb2f3411ea
aesni-x86_64.pl: make it compile on MacOS X.
2011-05-18 17:05:24 +00:00
Andy Polyakov
1e86318091
ARM assembler pack: profiler-assisted optimizations and NEON support.
2011-04-01 20:58:34 +00:00
Andy Polyakov
0ab8fd58e1
s390x assembler pack: tune-up and support for new z196 hardware.
2011-03-04 13:09:16 +00:00
Andy Polyakov
e822c756b6
s390x assembler pack: adapt for -m31 build, see commentary in Configure
...
for more details.
2010-11-29 20:52:43 +00:00
Andy Polyakov
bb55003882
Add aes-mips.pl assembler module.
2010-10-21 15:56:55 +00:00
Andy Polyakov
90ba3a28f8
s390x assembler pack: extend OPENSSL_s390xcap_P to 128 bits.
2010-09-18 08:46:53 +00:00
Andy Polyakov
20d171377f
aes-x86_64.pl: commit#19797 was overzealous, partially reverse.
2010-07-26 22:56:07 +00:00
Andy Polyakov
058d83cfe9
aes-x86_64.pl: remove redundant instructions.
2010-07-26 21:48:39 +00:00
Andy Polyakov
02f358da49
aesni-x86_64.pl: fix typos.
2010-07-26 21:44:03 +00:00
Andy Polyakov
133a7f9a50
perlasm/x86asm.pl: move aesni and pclmulqdq opcodes to aesni-x86.pl and
...
ghash-x86.pl.
2010-07-26 21:42:07 +00:00
Andy Polyakov
d7d119a3c9
aesni-x86[_64].pl: fine-tune, add CCM subroutine, add performance data.
2010-07-25 15:17:01 +00:00
Andy Polyakov
26064d7f77
aes-s390x.pl: revisit buffer allocation and add performance data.
2010-07-14 08:43:38 +00:00
Andy Polyakov
2d22e08083
ARM assembler pack: reschedule instructions for dual-issue pipeline.
...
Modest improvement coefficients mean that code already had some
parallelism and there was not very much room for improvement. Special
thanks to Ted Krovetz for benchmarking the code with such patience.
2010-07-13 14:03:31 +00:00
Andy Polyakov
874a3757af
Rework framework for assembler support for AES counter mode and add
...
AES_ctr32_encrypt to aes-s390x.pl.
2010-07-09 12:21:52 +00:00
Andy Polyakov
1cbdca7bf2
Harmonize s390x assembler modules with "catch-all" rules from commit#19749.
2010-07-09 12:11:12 +00:00
Andy Polyakov
396df7311e
crypto/*/Makefile: unify "catch-all" assembler make rules and harmonize
...
ARM assembler modules.
2010-07-08 15:03:42 +00:00
Andy Polyakov
3efe51a407
Revert previous Linux-specific/centric commit#19629. If it really has to
...
be done, it's definitely not the way to do it. So far answer to the
question was to ./config -Wa,--noexecstack (adopted by RedHat).
2010-05-05 22:05:39 +00:00
Ben Laurie
0e3ef596e5
Non-executable stack in asm.
2010-05-05 15:50:13 +00:00
Andy Polyakov
109757d254
aes-ppc.pl: 10% performance improvement on Power6.
2010-04-10 14:53:17 +00:00
Andy Polyakov
6c83629bd9
AESNI engine: add counter mode.
2010-04-10 13:56:59 +00:00