Matt Caswell
c695ebe2a0
Additional comment changes for reformat of 1.0.2
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22 09:23:58 +00:00
Matt Caswell
e19d4a99b8
Further comment amendments to preserve formatting prior to source reformat
...
(cherry picked from commit 4a7fa26ffd65bf36beb8d1cb8f29fc0ae203f5c5)
Conflicts:
crypto/x509v3/pcy_tree.c
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-01-22 09:23:50 +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
10771e3421
Add Broadwell performance results.
...
Reviewed-by: Emilia Käsper <emilia@openssl.org>
(cherry picked from commit b3d7294976
)
2015-01-13 21:42:13 +01:00
Andy Polyakov
49446ea62f
Fix for CVE-2014-3570 (with minor bn_asm.c revamp).
...
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit 56df92efb6893abe323307939425957ce878c8f0)
2015-01-08 11:20:29 +00:00
Andy Polyakov
2996157127
Revert "CHANGES: mention "universal" ARM support."
...
This reverts commit caeed719fe
.
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-01-06 12:12:15 +01:00
Andy Polyakov
caeed719fe
CHANGES: mention "universal" ARM support.
...
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 4fec915069
)
2015-01-06 11:21:12 +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
Richard Levitte
553affbef7
Clear warnings/errors within BN_CTX_DEBUG code sections
...
Reviewed-by: Andy Polyakov <appro@openssl.org>
2014-12-17 14:17:54 +01:00
Bodo Möller
bb565cd29e
Backport regression test
...
master branch has a specific regression test for a bug in x86_64-mont5 code,
see commit cdfe0fdde6
.
This code is now in 1.0.2/1.0.1, so also backport the test.
Reviewed-by: Richard Levitte <levitte@openssl.org>
2014-12-17 12:00:17 +01:00
Emilia Kasper
a43bcd9e96
Check for invalid divisors in BN_div.
...
Invalid zero-padding in the divisor could cause a division by 0.
Reviewed-by: Richard Levitte <levitte@openssl.org>
2014-12-17 10:00:17 +01:00
Emilia Kasper
6af16ec5ee
Fix unused variable warning
...
The temporary variable causes unused variable warnings in opt mode with clang,
because the subsequent assert is compiled out.
Reviewed-by: Rich Salz <rsalz@openssl.org>
2014-12-15 13:15:30 +01:00
Emilia Kasper
b32474a40b
Make 'make update' succeed and run it
...
Reviewed-by: Dr Stephen Henson <steve@openssl.org>
2014-12-05 18:20:51 +01:00
Matt Caswell
bffd5a7f35
make update
...
Reviewed-by: Stephen Henson <steve@openssl.org>
2014-09-25 21:31:40 +01:00
Andy Polyakov
ec65b83d65
crypto/bn/bn_nist.c: work around MSC ARM compiler bug.
...
RT: 3541
Reviewed-by: Emilia Kasper <emilia@openssl.org>
(cherry picked from commit 8b07c005fe
)
2014-09-25 00:46:45 +02:00
Andy Polyakov
dfb5de6fc0
Harmonize Tru64 and Linux make rules.
...
RT: 3333,3165
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit d475b2a3bf
)
2014-09-20 10:22:13 +02:00
Adam Langley
0600a5cd49
Ensure that x**0 mod 1 = 0.
...
(cherry picked from commit 2b0180c37f
)
Reviewed-by: Ben Laurie <ben@openssl.org>
2014-09-04 16:05:57 +02:00
Andy Polyakov
ef90877721
bn/asm/rsaz-*.pl: allow spaces in Perl path name.
...
RT: 2835
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
(cherry picked from commit 15735e4f0e
)
2014-08-21 00:19:24 +02:00
Dr. Stephen Henson
89d2f8f1a9
make update
...
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-08-01 21:21:03 +01:00
Matt Caswell
0e32035292
make update
...
Reviewed-by: Stephen Henson <steve@openssl.org>
2014-07-22 21:30:33 +01:00
Matt Caswell
14b5d0d029
Fixed valgrind complaint due to BN_consttime_swap reading uninitialised data.
...
This is actually ok for this function, but initialised to zero anyway if
PURIFY defined.
This does have the impact of masking any *real* unitialised data reads in bn though.
Patch based on approach suggested by Rich Salz.
PR#3415
(cherry picked from commit 77747e2d9a5573b1dbc15e247ce18c03374c760c)
2014-07-13 22:20:15 +01: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
47b9e06cfd
bn_exp.c: fix x86_64-specific crash with one-word modulus.
...
PR: #3397
(cherry picked from commit eca441b2b4
)
2014-07-02 21:16:45 +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
1067663d85
bn/asm/rsaz-avx2.pl: fix occasional failures.
...
(cherry picked from commit 406d4af050
)
2014-06-27 22:43:43 +02:00
Huzaifa Sidhpurwala
b7a4f98b15
Make sure BN_sqr can never return a negative value.
...
PR#3410
(cherry picked from commit e14e764c0d5d469da63d0819c6ffc0e1e9e7f0bb)
2014-06-26 23:56:32 +01:00
Andy Polyakov
82a9dafe32
bn_exp.c: move check for AD*X to rsaz-avx2.pl.
...
This ensures high performance is situations when assembler supports
AVX2, but not AD*X.
(cherry picked from commit f3f620e1e0
)
Resolved conflicts:
crypto/bn/asm/rsaz-avx2.pl
2014-06-27 00:36:05 +02:00
Dr. Stephen Henson
fa7a0efbac
make update
2014-06-12 10:52:49 +01: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
Geoff Thorpe
bf43446835
bignum: allow concurrent BN_MONT_CTX_set_locked()
...
The lazy-initialisation of BN_MONT_CTX was serialising all threads, as
noted by Daniel Sands and co at Sandia. This was to handle the case that
2 or more threads race to lazy-init the same context, but stunted all
scalability in the case where 2 or more threads are doing unrelated
things! We favour the latter case by punishing the former. The init work
gets done by each thread that finds the context to be uninitialised, and
we then lock the "set" logic after that work is done - the winning
thread's work gets used, the losing threads throw away what they've done.
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
2014-05-06 18:01:59 -04:00
Geoff Thorpe
3cc546a3bb
bignum: fix boundary condition in montgomery logic
...
It's not clear whether this inconsistency could lead to an actual
computation error, but it involved a BIGNUM being passed around the
montgomery logic in an inconsistent state. This was found using flags
-DBN_DEBUG -DBN_DEBUG_RAND, and working backwards from this assertion
in 'ectest';
ectest: bn_mul.c:960: BN_mul: Assertion `(_bnum2->top == 0) ||
(_bnum2->d[_bnum2->top - 1] != 0)' failed
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
(cherry picked from commit a529261891
)
2014-04-30 11:53:09 -04:00
Andy Polyakov
0fb3d5b4fd
bn/asm/armv4-gf2m.pl, modes/asm/ghash-armv4.pl: faster multiplication
...
algorithm suggested in following paper:
Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
Polynomial Multiplication on ARM Processors using the NEON Engine.
http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
(cherry picked from commit f8cee9d081
)
2014-04-24 10:27:52 +02:00
Dr. Stephen Henson
0a9f7780e5
Fix for CVE-2014-0076
...
Fix for the attack described in the paper "Recovering OpenSSL
ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack"
by Yuval Yarom and Naomi Benger. Details can be obtained from:
http://eprint.iacr.org/2014/140
Thanks to Yuval Yarom and Naomi Benger for discovering this
flaw and to Yuval Yarom for supplying a fix.
(cherry picked from commit 2198be3483
)
Conflicts:
CHANGES
2014-03-12 14:23:21 +00:00
Dr. Stephen Henson
d2a3c4497f
make update
2014-02-24 13:50:38 +00:00
Adam Langley
45d010255f
Add volatile qualifications to two blocks of inline asm to stop GCC from
...
eliminating them as dead code.
Both volatile and "memory" are used because of some concern that the compiler
may still cache values across the asm block without it, and because this was
such a painful debugging session that I wanted to ensure that it's never
repeated.
(cherry picked from commit 7753a3a684
)
2014-02-01 22:01:46 +01:00
Andy Polyakov
7e569022c5
PPC assembly pack: ppc64-mont update from master.
2014-02-01 21:51:51 +01:00
Andy Polyakov
392fd8f89c
bn/asm/x86_64-mont5.pl: fix compilation error on Solaris.
...
(cherry picked from commit eedab5241e
)
2014-01-09 13:47:53 +01:00
Andy Polyakov
d7d7e7b038
ARM assembly pack: make it work with older toolchain.
...
(cherry picked from commit 2218c296b4
)
2013-12-28 12:18:11 +01:00
Andy Polyakov
c012f6e576
bn/asm/armv4-mont.pl: add NEON code path.
...
(cherry picked from commit d1671f4f1a
)
2013-12-09 22:46:29 +01:00
Andy Polyakov
cf6d55961c
crypto/bn/asm/x86_64-mont*.pl: update from master.
...
Add MULX/AD*X code paths and optimize even original code path.
2013-12-09 22:40:53 +01:00
Andy Polyakov
e5eab8a199
bn/asm/x86_64-mont5.pl: comply with Win64 ABI.
...
PR: 3189
Submitted by: Oscar Ciurana
(cherry picked from commit c5d5f5bd0f
)
2013-12-04 00:02:18 +01:00
Andy Polyakov
7bab6eb6f0
crypto/bn/asm/rsaz-x86_64.pl: make it work on Win64.
...
(cherry picked from commit 8bd7ca9996
)
2013-12-03 22:30:00 +01:00
Andy Polyakov
87d9526d0c
crypto/bn/rsaz*: fix licensing note.
...
rsaz_exp.c: harmonize line terminating;
asm/rsaz-*.pl: minor optimizations.
asm/rsaz-x86_64.pl: sync from master.
(cherry picked from commit 31ed9a2131
)
2013-12-03 22:17:55 +01:00
Andy Polyakov
36982f056a
bn/asm/rsaz-x86_64.pl: fix prototype.
...
(cherry picked from commit 6efef384c6
)
2013-12-03 09:44:24 +01:00
Dr. Stephen Henson
bc35b8e435
make update
2013-12-01 23:09:44 +00:00
Andy Polyakov
ca44f72938
Make Makefiles OSF-make-friendly.
...
PR: 3165
(cherry picked from commit d1cf23ac86
)
2013-11-12 21:53:39 +01: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
958608ca1c
Initial aarch64 bits.
...
(cherry picked from commit 039081b809
)
2013-10-13 19:24:22 +02:00
Andy Polyakov
1aecb23f5b
MIPS assembly pack: get rid of deprecated instructions.
...
Latest MIPS ISA specification declared 'branch likely' instructions
obsolete. To makes code future-proof replace them with equivalent.
(cherry picked from commit 0c2adb0a9b
)
2013-10-13 13:18:21 +02:00
Andy Polyakov
df5c435c0b
bn/asm/rsax-avx2.pl: minor optimization [for Decoded ICache].
...
(cherry picked from commit fa104be35e
)
2013-10-10 23:09:54 +02:00
Andy Polyakov
08853158b6
crypto/bn/asm/x86_64-mont.pl: minor optimization.
...
(cherry picked from commit 72a158703b
)
2013-09-09 21:42:48 +02:00
Andy Polyakov
f15c16200b
crypto/bn/asm/rsax-x86_64.pl: make it work on Darwin.
...
(cherry picked from commit fd8ad019e1
)
2013-08-03 16:30:40 +02:00
Andy Polyakov
82ae22ef4d
bn/asm/rsaz-avx2.pl: Windows-specific fix.
...
(cherry picked from commit 5c57c69f9e
)
2013-07-12 19:01:23 +02:00
Ben Laurie
b56bae5126
s/rsaz_eligible/rsaz_avx2_eligible/.
...
(cherry picked from commit 852f837f5e
)
2013-07-12 18:53:05 +02:00
Andy Polyakov
ab8233ab81
Take RSAZ modules into build loop, add glue and engage.
...
RT: 2582, 2850
(cherry picked from commit ca48ace5c5
)
Conflicts:
Configure
2013-07-05 21:53:05 +02:00
Andy Polyakov
d5572bdc64
Add RSAZ assembly modules.
...
RT: 2582, 2850
(cherry picked from commit 0b4bb91db6
)
2013-07-05 21:49:19 +02:00
Andy Polyakov
e3990db59c
bn/asm/x86_86-mont.pl: optimize reduction for Intel Core family.
...
(cherry picked from commit 26e43b48a3
)
2013-07-05 21:15:16 +02:00
Andy Polyakov
87d90528ac
bn/bn_exp.c: harmonize.
...
(cherry picked from commit cbce8c4644
)
2013-07-05 21:01:51 +02:00
Andy Polyakov
8508a80998
bn/bn_exp.c: Solaris-specific fix, T4 MONTMUL relies on alloca.
...
(cherry picked from commit b74ce8d948
)
2013-06-30 23:14:31 +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
Andy Polyakov
03c8441b14
Optimize SPARC T4 MONTMUL support.
...
Improve RSA sing performance by 20-30% by:
- switching from floating-point to integer conditional moves;
- daisy-chaining sqr-sqr-sqr-sqr-sqr-mul sequences;
- using MONTMUL even during powers table setup;
(cherry picked from commit 4ddacd9921
)
2013-06-18 11:07:16 +02:00
Andy Polyakov
8c1f9c56fd
crypto/bn/bn_exp.c: SPARC portability fix.
...
(cherry picked from commit b69437e1e5
)
2013-06-01 09:59:54 +02:00
Andy Polyakov
c92989d2b7
Add BN support for SPARC VIS3 and T4 [from master].
2013-05-20 15:48:13 +02:00
Andy Polyakov
2d9be79407
x86_64-gf2m.pl: fix typo.
...
(cherry picked from commit 342dbbbe4e
)
2013-03-01 22:37:53 +01:00
Andy Polyakov
2e4b7eede3
x86_64-gf2m.pl: add missing Windows build fix for #2963 .
...
PR: 3004
(cherry picked from commit 7c43601d44
)
2013-03-01 21:57:25 +01:00
Andy Polyakov
b9eef98883
bn_nist.c: work around clang 3.0 bug.
...
(cherry picked from commit 750398acd8
)
2013-02-16 11:37:38 +01:00
Andy Polyakov
2a713eadc3
bn_word.c: fix overflow bug in BN_add_word.
...
(cherry picked from commit 134c00659a
)
2013-02-02 22:37:35 +01:00
Andy Polyakov
2e7900b624
x86_64 assembly pack: keep making Windows build more robust.
...
PR: 2963 and a number of others
(cherry picked from commit 4568182a8b
)
2013-02-02 19:56:43 +01:00
Andy Polyakov
3f233a1e77
x86_64 assembly pack: make Windows build more robust [from master].
...
PR: 2963 and a number of others
2013-01-22 22:51:29 +01:00
Andy Polyakov
b17ffba915
bn/asm/mips.pl: hardwire local call to bn_div_words.
2013-01-22 21:16:02 +01:00
Ben Laurie
2a2e537983
Ignore more.
2012-12-13 12:43:18 +00:00
Andy Polyakov
a060fc3b8e
x86_64-gcc.c: resore early clobber constraint [from HEAD].
...
Submitted by: Florian Weimer
2012-11-19 15:02:34 +00:00
Andy Polyakov
d46a1a6178
bn_lcl.h: gcc removed support for "h" constraint, which broke inline
...
assembler [from HEAD].
2012-09-01 13:21:24 +00:00
Andy Polyakov
0e05b51fe5
Add linux-x32 target [from HEAD].
2012-08-29 14:12:10 +00:00
Andy Polyakov
8e1c33e160
MIPS assembly pack updates from HEAD.
2012-08-17 09:41:30 +00:00
Andy Polyakov
fd6a72fa1c
crypto/bn/*.h: move PTR_SIZE_INT to private header [from HEAD].
2012-07-04 08:51:44 +00:00
Andy Polyakov
5b7af6de43
bn_nist.c: harmonize buf in BN_nist_mod_256 with other mod functions and
...
compensate for VC buf [from HEAD].
PR: 2837
2012-07-02 14:38:22 +00:00
Andy Polyakov
8b654459be
x86_64 assembly pack: make it possible to compile with Perl located
...
on path with spaces [from HEAD].
PR: 2835
2012-06-27 12:48:50 +00:00
Ben Laurie
68d2cf51bc
Reduce version skew: trivia (I hope).
2012-06-03 22:03:37 +00:00
Andy Polyakov
265863c6a4
bn/bn_gf2m.c: make new BN_GF2m_mod_inv work with BN_DEBUG_RAND [from HEAD].
2012-03-30 17:41:00 +00:00
Andy Polyakov
d06f047b04
bn_nist.c: make new optimized code dependent on BN_LLONG [from HEAD].
2012-02-02 07:46:19 +00:00
Dr. Stephen Henson
7b23c126e6
undef some symbols that cause problems with make depend for fips builds
2012-01-18 01:40:36 +00:00
Andy Polyakov
7b467c6b81
modexp512-x86_64.pl: Solaris portability fix [from HEAD].
...
PR: 2656
2011-12-12 15:12:09 +00:00
Andy Polyakov
8ee0591f28
x86-mont.pl: fix bug in integer-only squaring path.
...
PR: 2648
2011-12-09 14:26:28 +00:00
Ben Laurie
825e1a7c56
Fix warnings.
2011-12-02 14:39:41 +00:00
Andy Polyakov
62f685a9cd
bn/asm/mips.pl: fix typos [from HEAD].
2011-12-01 12:17:20 +00:00
Andy Polyakov
2357ae17e7
x86 assembler pack update from HEAD.
2011-11-14 21:06:50 +00:00
Andy Polyakov
9f1c5491d2
BN update from HEAD.
2011-11-14 21:05:42 +00:00
Andy Polyakov
70b52222f5
x86_64 assembler pack update from HEAD.
2011-11-14 21:01:21 +00:00
Andy Polyakov
88cb59727c
ARM assembler pack update from HEAD.
2011-11-14 20:58:01 +00:00
Andy Polyakov
b66723b23e
MIPS assembler pack update from HEAD.
2011-11-14 20:55:24 +00:00
Andy Polyakov
cf96d71c22
PPC assembler pack update from HEAD.
2011-11-14 20:54:17 +00:00
Andy Polyakov
1a111921da
PA-RISC assembler pack update from HEAD.
2011-11-14 20:50:15 +00:00
Andy Polyakov
9833757b5d
s390x assembler pack update from HEAD.
2011-11-14 20:47:22 +00:00
Andy Polyakov
4195343c0d
IA64 assembler pack update from HEAD.
2011-11-14 20:45:57 +00:00
Andy Polyakov
4afba1f3d9
Mafiles updates to accomodate assembler update from HEAD.
2011-11-14 20:42:22 +00:00
Andy Polyakov
02597f2885
ppc.pl: fix bug in bn_mul_comba4 [from HEAD].
...
PR: 2636
Submitted by: Charles Bryant
2011-11-05 10:16:30 +00:00
Bodo Möller
2d95ceedc5
BN_BLINDING multi-threading fix.
...
Submitted by: Emilia Kasper (Google)
2011-10-19 14:58:59 +00:00