Emilia Kasper
be109b9eec
Fix undefined behaviour in shifts.
...
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 8b37e5c14f
)
2015-03-13 21:14:20 -07:00
Andy Polyakov
13c1807041
Fix crash in SPARC T4 XTS.
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 775b669de3
)
2015-02-24 10:12:57 +01:00
Andy Polyakov
2fc2649173
Fix macosx-ppc build (and typos in unwind info).
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit c462a6817b
)
2015-01-22 12:15:34 +01:00
Matt Caswell
ae5c8664e5
Run util/openssl-format-source -v -c .
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22 09:31:38 +00:00
Matt Caswell
0f344da8f7
Manually reformat aes_x86core.c and add it to the list of files skipped by
...
openssl-format-source
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22 09:28:14 +00:00
Matt Caswell
e4e5457c29
Manually reformat aes_core.c
...
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-22 09:27:10 +00:00
Tim Hudson
6977c7e2ba
mark all block comments that need format preserving so that
...
indent will not alter them when reformatting comments
(cherry picked from commit 1d97c84351
)
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-22 09:23:04 +00:00
Andy Polyakov
2d63d0c84a
Fix irix-cc build.
...
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit e464403d0b
)
2015-01-07 18:41:17 +01:00
Andy Polyakov
f4868c9921
Remove inconsistency in ARM support.
...
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 c1669e1c20
)
2015-01-06 11:14:23 +01:00
Andy Polyakov
3e3cc471c2
aesni-x86_64.pl: make ECB subroutine Windows ABI compliant.
...
RT: 3553
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit 69d5747f90
)
2014-10-15 11:12:24 +02:00
Andy Polyakov
9dd6240201
x86[_64] assembly pack: add Silvermont performance data.
...
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit b59f92e75d
)
2014-08-30 19:14:49 +02:00
Andy Polyakov
c991d8ae8b
Initial POWER8 support from development branch.
...
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-07-20 14:36:49 +02:00
Andy Polyakov
371feee876
x86_64 assembly pack: improve masm support.
...
(cherry picked from commit 1b0fe79f3e
)
2014-07-09 22:46:13 +02:00
Andy Polyakov
377551b9c4
x86_64 assembly pack: refine clang detection.
...
(cherry picked from commit a356e488ad
)
Resolved conflicts:
crypto/bn/asm/rsaz-avx2.pl
2014-06-28 17:26:03 +02:00
Andy Polyakov
52f856526c
x86_64 assembly pack: addendum to last clang commit.
...
(cherry picked from commit 7eb0488280
)
2014-06-27 22:55:22 +02:00
Andy Polyakov
912f08dd5e
x86_64 assembly pack: allow clang to compile AVX code.
...
(cherry picked from commit ac171925ab
)
2014-06-27 22:55:07 +02:00
Andy Polyakov
1536bcfd56
aesv8-armx.pl: rigid input verification in key setup.
...
(cherry picked from commit 7b8c8c4d79
)
2014-06-25 22:12:08 +02:00
Andy Polyakov
a073ceeff4
aesv8-armx.pl: inclrease interleave factor.
...
This is to compensate for higher aes* instruction latency on Cortex-A57.
(cherry picked from commit 015364baf3
)
2014-06-24 08:10:37 +02:00
Andy Polyakov
d940b3b9c7
aesni-sha[1|256]-x86_64.pl: fix logical error and MacOS X build.
...
(cherry picked from commit 9024b84b7c
)
2014-06-16 10:12:56 +02:00
Andy Polyakov
8301245a5e
aesni-sha256-x86_64.pl: add missing rex in shaext.
...
PR: 3405
(cherry picked from commit 91a6bf80f8
)
2014-06-14 16:04:04 +02:00
Andy Polyakov
56ba280ccd
Facilitate back-porting of AESNI and SHA modules.
...
Fix SEH and stack handling in Win64 build.
(cherry picked from commit 977f32e852
)
2014-06-12 21:51:35 +02:00
Andy Polyakov
70fddbe32a
Add support for Intel SHA extension.
...
(cherry picked from commit 619b94667c
)
2014-06-11 10:30:31 +02:00
Andy Polyakov
7e03acf2be
Engage ARMv8 AES support [from HEAD].
2014-06-11 00:08:03 +02:00
Andy Polyakov
9af4cb3d3b
Add AES module for ARMv8 Crypto Extension [from HEAD].
2014-06-11 00:06:27 +02:00
Andy Polyakov
56d973709c
aesni-mb-x86_64.pl: add Win64 SEH.
...
(cherry picked from commit e2eabed110
)
2014-06-10 23:09:04 +02:00
Andy Polyakov
3a97ebb16b
ARM assembly pack: get ARMv7 instruction endianness right.
...
Pointer out and suggested by: Ard Biesheuvel.
(cherry picked from commit 5dcf70a1c5
)
2014-06-10 22:51:15 +02:00
Andy Polyakov
c90c694bc4
vpaes-ppc.pl: comply with ABI.
...
(cherry picked from commit b83d09f552
)
2014-05-23 20:16:21 +02:00
Andy Polyakov
ffdff9f12f
aes/asm/bsaes-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 558ff0f0c1
)
2014-04-24 10:14:46 +02:00
Andy Polyakov
dacb698ada
vpaes-[x86_64|ppc].pl: fix typo, which for some reason triggers rkhunter.
...
(cherry picked from commit 6eebcf3459
)
2014-04-06 12:53:17 +02:00
Andy Polyakov
aa1bb606f3
aes/asm/vpaes-ppc.pl: fix traceback info.
...
(cherry picked from commit e704741bf3
)
2014-02-25 20:13:41 +01:00
Andy Polyakov
2d4d9623da
aes/asm/aesni-x86[_64].pl: minor Atom-specific performance tweak.
...
(cherry picked from commit 214368ffee
)
2014-02-21 12:15:07 +01:00
Andy Polyakov
b347341c75
aes/asm/aesni-x86_64.pl: further optimization for Atom Silvermont.
...
Improve CBC decrypt and CTR by ~13/16%, which adds up to ~25/33%
improvement over "pre-Silvermont" version. [Add performance table to
aesni-x86.pl].
(cherry picked from commit 5599c7331b
)
2014-02-14 17:17:39 +01:00
Andy Polyakov
41c373fa3e
[aesni|sha*]-mb-x86_64.pl: add multi-block assembly modules [from master].
2014-02-05 14:33:44 +01:00
Andy Polyakov
50f1b47c7f
PPC assembly pack: jumbo update from master.
...
Add Vector Permutation AES and little-endian support.
2014-02-01 21:48:31 +01:00
Andy Polyakov
5572bc4e2f
crypto/aes/asm/aesni-x86[_64].pl: jumbo update from master.
2014-02-01 21:27:46 +01:00
Andy Polyakov
729d334106
crypto/sha/asm/sha1-x86_64.pl: jumbo update from master.
2014-02-01 21:24:55 +01:00
Andy Polyakov
acd9121085
aesni-sha1-x86_64.pl: harmonize [Atom-specific optimizations] with master branch.
2014-01-04 17:42:13 +01:00
Andy Polyakov
b76310ba74
ARM assembly pack: AES update from master (including bit-sliced module).
2013-12-09 23:44:45 +01:00
Dr. Stephen Henson
bc35b8e435
make update
2013-12-01 23:09:44 +00:00
Andy Polyakov
e41a49c625
PPC assembly pack: make new .size directives profiler-friendly.
...
Suggested by: Anton Blanchard
(cherry picked from commit 76c15d790e
)
2013-10-15 23:42:18 +02:00
Andy Polyakov
43ce9cdde9
PPC assembly pack: update from master branch.
...
Includes multiple updates: AES module to comply with more ABI
flavors, SHA512 for PPC32, .size directives.
2013-10-15 00:31:45 +02:00
Andy Polyakov
9ed6fba2b4
aes/asm/bsaes-x86_64.pl: update from master.
...
Performance improvement and Windows-specific bugfix (PR#3139).
2013-10-12 21:47:54 +02:00
Dr. Stephen Henson
c6f3386577
EVP support for wrapping algorithms.
...
Add support for key wrap algorithms via EVP interface.
Generalise AES wrap algorithm and add to modes, making existing
AES wrap algorithm a special case.
Move test code to evptests.txt
(cherry picked from commit 97cf1f6c28
)
Conflicts:
CHANGES
2013-10-01 14:01:17 +01:00
Andy Polyakov
fccec89084
aesni-sha256-x86_64.pl: fix typo in Windows SEH.
...
(cherry picked from commit 42386fdb62
)
2013-06-30 23:14:04 +02:00
Andy Polyakov
6c7fa27404
PA-RISC assembler pack: switch to bve in 64-bit builds.
...
PR: 3074
(cherry picked from commit 02450ec69d
)
2013-06-30 23:13:23 +02:00
Ben Laurie
e887c4187e
Backport single makefile from master.
2013-06-13 15:09:48 +01:00
Andy Polyakov
f00962aaf3
aesni-sha1-x86_64.pl: update performance data.
...
(cherry picked from commit 3b848d3401
)
2013-06-10 22:52:06 +02:00
Andy Polyakov
3eccd2e53a
aesni-sha256-x86_64.pl: harmonize with latest sha512-x86_64.pl.
...
(cherry picked from commit 42b9a4177b
)
2013-06-10 22:51:55 +02:00
Andy Polyakov
75063c1527
aesni-sha1-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 4df2280b4f
)
2013-05-25 19:09:47 +02:00
Andy Polyakov
a0675d8149
vpaes-x86[_64].pl: minor Atom-specific optimization.
...
(cherry picked from commit 988d11b641
)
2013-05-25 18:58:54 +02:00