summaryrefslogtreecommitdiffstats
path: root/crypto/aes
AgeCommit message (Collapse)Author
2017-11-07{aes-armv4|bsaes-armv7|sha256-armv4}.pl: make it work with binutils-2.29Andy Polyakov
It's not clear if it's a feature or bug, but binutils-2.29[.1] interprets 'adr' instruction with Thumb2 code reference differently, in a way that affects calculation of addresses of constants' tables. Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> Reviewed-by: Kurt Roeckx <kurt@roeckx.be> (Merged from https://github.com/openssl/openssl/pull/4673)
2017-03-26aes/asm/bsaes-armv7.pl: relax stack alignment requirement.Andy Polyakov
Even though Apple refers to Procedure Call Standard for ARM Architecture (AAPCS), they apparently adhere to custom version that doesn't follow stack alignment constraints in the said standard. [Why or why? If it's vendor lock-in thing, then it would be like worst spot ever.] And since bsaes-armv7 relied on standard alignment, it became problematic to execute the code on iOS. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 0822d41b6d54132df96c02cc6f6fa9b179378351)
2017-03-22aes/asm/aesni-sha*-x86_64.pl: fix IV handling in SHAEXT paths.Andy Polyakov
Initial IV was disregarded on SHAEXT-capable processors. Amazingly enough bulk AES128-SHA* talk-to-yourself tests were passing. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2992) (cherry picked from commit 08d09628d2c9f3ef599399d8cad021a07ab98347)
2017-02-16Cleanup *.S files.Bernd Edlinger
Fixes #2220 Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2645)
2016-10-18Fix strict-warnings buildPatrick Steuer
crypto/evp/e_aes.c: Types of inp and out parameters of AES_xts_en/decrypt functions need to be changed from char to unsigned char to avoid build error due to -Werror=incompatible-pointer-types. crypto/aes/asm/aes-s390x.pl: Comments need to reflect the above change. Signed-off-by: Patrick Steuer <psteuer@mail.de> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> CLA: trivial
2016-06-20aes/asm/bsaes-armv7.pl: omit redundant stores in XTS subroutines.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 4973a60cb92dc121fc09246bff3815afc0f8ab9a)
2016-06-20aes/asm/bsaes-armv7.pl: fix XTS decrypt test failure.Andy Polyakov
RT#4578 Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 3d32bab8f1742a3b57742e18f92a408f0403df8d)
2016-04-25s390x assembly pack: cache capability query results.Andy Polyakov
IBM argues that in certain scenarios capability query is really expensive. At the same time it's asserted that query results can be safely cached, because disabling CPACF is incompatible with reboot-free operation. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 670ad0fbf6ebcf113e278d8174081a7e2d2fa44c)
2016-04-07PPC assembly pack: remove branch hints.Andy Polyakov
As it turns out branch hints grew as kind of a misconception. In addition their interpretation by GNU assembler is affected by assembler flags and can end up with opposite meaning on different processors. As we have to loose quite a lot on misinterprerations, especially on newer processors, we just omit them altogether. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 20b88bb160865b0c2998056fe841b1cbacd6d4c7)
2015-12-18Remove the "eay" c-file-style indicatorsRichard Levitte
Since we don't use the eay style any more, there's no point tryint to tell emacs to use it. Reviewed-by: Ben Laurie <ben@openssl.org>
2015-12-13x86_64 assembly pack: tune clang version detection even further.Andy Polyakov
RT#4171 Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit b9749432346f69b29d82070041e71b237d718ce7)
2015-11-30x86_64 assembly pack: tune clang version detection.Andy Polyakov
RT#4142 Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 76eba0d94bb418325be6409b272eac5e2bd4a0a9) Resolved conflicts: crypto/bn/asm/x86_64-mont.pl crypto/bn/asm/x86_64-mont5.pl Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2015-11-18aes/asm/vpaes-ppc.pl: eliminate overhung stores in misaligned cases.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit ce24d2ed232a095349886aecc8cb959d5dda8342)
2015-11-16aesni-sha256-x86_64.pl: fix crash on AMD Jaguar.Andy Polyakov
It was also found that stich performs suboptimally on AMD Jaguar, hence execution is limited to XOP-capable and Intel processors. Reviewed-by: Kurt Roeckx <kurt@openssl.org> (cherry picked from commit a5fd24d19bbb586b1c6d235c2021e9bead22c9f5)
2015-10-23Fix typosAlessandro Ghedini
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit d900a015b5a89ea2018e6122dd2738925e4d68ab)
2015-09-15RT4044: Remove .cvsignore files.Rich Salz
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-07-14Conversion to UTF-8 where neededRichard Levitte
This leaves behind files with names ending with '.iso-8859-1'. These should be safe to remove. If something went wrong when re-encoding, there will be some files with names ending with '.utf8' left behind. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-05-23Fix the update target and remove duplicate file updatesRichard Levitte
We had updates of certain header files in both Makefile.org and the Makefile in the directory the header file lived in. This is error prone and also sometimes generates slightly different results (usually just a comment that differs) depending on which way the update was done. This removes the file update targets from the top level Makefile, adds an update: target in all Makefiles and has it depend on the depend: or local_depend: targets, whichever is appropriate, so we don't get a double run through the whole file tree. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 0f539dc1a2f45580435c39dada44dd276e79cb88) Conflicts: Makefile.org apps/Makefile test/Makefile
2015-05-13aes/asm/aesni-sha256-x86_64.pl: fix Windows compilation failure with old ↵Andy Polyakov
assembler. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 82c4a079395223c0063100854a0981976db9848f)
2015-04-20aes/asm/aesni-x86.pl: fix typo affecting Windows build.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 7be6bc68c6baef87d4d730c2505a05810a5a1684)
2015-04-20aes/asm/aesni-x86[_64].pl update.Andy Polyakov
This addresses - request for improvement for faster key setup in RT#3576; - clearing registers and stack in RT#3554 (this is more of a gesture to see if there will be some traction from compiler side); - more commentary around input parameters handling and stack layout (desired when RT#3553 was reviewed); - minor size and single block performance optimization (was lying around); Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 23f6eec71dbd472044db7dc854599f1de14a1f48)
2015-04-02aes/asm/aesv8-armx.pl: optimize for Cortex-A5x.Andy Polyakov
ARM has optimized Cortex-A5x pipeline to favour pairs of complementary AES instructions. While modified code improves performance of post-r0p0 Cortex-A53 performance by >40% (for CBC decrypt and CTR), it hurts original r0p0. We favour later revisions, because one can't prevent future from coming. Improvement on post-r0p0 Cortex-A57 exceeds 50%, while new code is not slower on r0p0, or Apple A7 for that matter. [Update even SHA results for latest Cortex-A53.] Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 94376cccb4ed5b376220bffe0739140ea9dad8c8)
2015-03-13Fix undefined behaviour in shifts.Emilia Kasper
Td4 and Te4 are arrays of u8. A u8 << int promotes the u8 to an int first then shifts. If the mathematical result of a shift (as modelled by lhs * 2^{rhs}) is not representable in an integer, behaviour is undefined. In other words, you can't shift into the sign bit of a signed integer. Fix this by casting to u32 whenever we're shifting left by 24. (For consistency, cast other shifts, too.) Caught by -fsanitize=shift Submitted by Nick Lewycky (Google) Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit 8b37e5c14f0eddb10c7f91ef91004622d90ef361)
2015-02-24Fix crash in SPARC T4 XTS.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 775b669de3ba84d8dce16ff5e2bdffe263c05c4b)
2015-01-22Fix macosx-ppc build (and typos in unwind info).Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit c462a6817bb05a4c8dded1aa9fa3aa8fd7e176bf)
2015-01-22Run util/openssl-format-source -v -c .Matt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22Manually reformat aes_x86core.c and add it to the list of files skipped byMatt Caswell
openssl-format-source Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22Manually reformat aes_core.cMatt Caswell
Add aes_core.c to the list of files not processed by openssl-format-source Conflicts: crypto/aes/aes_core.c Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22mark all block comments that need format preserving so thatTim Hudson
indent will not alter them when reformatting comments (cherry picked from commit 1d97c8435171a7af575f73c526d79e1ef0ee5960) Conflicts: crypto/bn/bn_lcl.h crypto/bn/bn_prime.c crypto/engine/eng_all.c crypto/rc4/rc4_utl.c crypto/sha/sha.h ssl/kssl.c ssl/t1_lib.c Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-07Fix irix-cc build.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit e464403d0bda2f1f74eb68582e4988e591c32433)
2015-01-06Remove inconsistency in ARM support.Andy Polyakov
This facilitates "universal" builds, ones that target multiple architectures, e.g. ARMv5 through ARMv7. See commentary in Configure for details. Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit c1669e1c205dc8e695fb0c10a655f434e758b9f7)
2014-10-15aesni-x86_64.pl: make ECB subroutine Windows ABI compliant.Andy Polyakov
RT: 3553 Reviewed-by: Emilia Kasper <emilia@openssl.org> (cherry picked from commit 69d5747f90136aa026a96204f26ab39549dfc69b)
2014-08-30x86[_64] assembly pack: add Silvermont performance data.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit b59f92e75d334c9281082a02faa6c68afb614fd2)
2014-07-20Initial POWER8 support from development branch.Andy Polyakov
Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-07-09x86_64 assembly pack: improve masm support.Andy Polyakov
(cherry picked from commit 1b0fe79f3ee27ebd20510da3af9ec04c6ee0f800)
2014-06-28x86_64 assembly pack: refine clang detection.Andy Polyakov
(cherry picked from commit a356e488ad50ca9de3fc4955839441c5aff11ed3) Resolved conflicts: crypto/bn/asm/rsaz-avx2.pl
2014-06-27x86_64 assembly pack: addendum to last clang commit.Andy Polyakov
(cherry picked from commit 7eb048828008f195fb6edceb8f767622694e7426)
2014-06-27x86_64 assembly pack: allow clang to compile AVX code.Andy Polyakov
(cherry picked from commit ac171925ab527a55fbb27872ff69af94f7ec995b)
2014-06-25aesv8-armx.pl: rigid input verification in key setup.Andy Polyakov
(cherry picked from commit 7b8c8c4d7973f17bbbee45d4718224c5853d9dc7)
2014-06-24aesv8-armx.pl: inclrease interleave factor.Andy Polyakov
This is to compensate for higher aes* instruction latency on Cortex-A57. (cherry picked from commit 015364baf3328b93dbed2613e59170715a2a11a6)
2014-06-16aesni-sha[1|256]-x86_64.pl: fix logical error and MacOS X build.Andy Polyakov
(cherry picked from commit 9024b84b7c9a36f75bffc5c77cc86bbe2911653e)
2014-06-14aesni-sha256-x86_64.pl: add missing rex in shaext.Andy Polyakov
PR: 3405 (cherry picked from commit 91a6bf80f8af5fcafececc443e7fbc7981af127b)
2014-06-12Facilitate back-porting of AESNI and SHA modules.Andy Polyakov
Fix SEH and stack handling in Win64 build. (cherry picked from commit 977f32e85241cba8be53e44dade32231e8a91718)
2014-06-11Add support for Intel SHA extension.Andy Polyakov
(cherry picked from commit 619b94667cc7a097f6d1e2123c4f4c2c85afb8f7)
2014-06-11Engage ARMv8 AES support [from HEAD].Andy Polyakov
2014-06-11Add AES module for ARMv8 Crypto Extension [from HEAD].Andy Polyakov
2014-06-10aesni-mb-x86_64.pl: add Win64 SEH.Andy Polyakov
(cherry picked from commit e2eabed110b6d88fd15ac3063cab23dcd5090b44)
2014-06-10ARM assembly pack: get ARMv7 instruction endianness right.Andy Polyakov
Pointer out and suggested by: Ard Biesheuvel. (cherry picked from commit 5dcf70a1c57c2019bfad640fe14fd4a73212860a)
2014-05-23vpaes-ppc.pl: comply with ABI.Andy Polyakov
(cherry picked from commit b83d09f5528990364e0f7ed498eb8a9b56d95b58)
2014-04-24aes/asm/bsaes-x86_64.pl: Atom-specific optimization.Andy Polyakov
(cherry picked from commit 558ff0f0c1d87d74e70b0a70ddd67c0ff7f596ad)