boringssl/crypto/ec
Brian Smith a432757acb Use BN_mod_inverse_odd instead of |BN_mod_inverse| for ECC.
BN_mod_inverse_odd was always being used on 64-bit platforms and was being used
for all curves with an order of 450 bits or smaller (basically, everything but
P-521). We generally don't care much about minor differences in the speed of
verifying signatures using curves other than P-256 and P-384. It is better to
always use the same algorithm.

This also allows |bn_mod_inverse_general|, |bn_mod_inverse_no_branch|, and
|BN_mod_inverse| to be dropped from programs that can somehow avoid linking in
the RSA key generation and RSA CRT recovery code.

Change-Id: I79b94bff23d2b07d5e0c704f7d44538797f8c7a0
Reviewed-on: https://boringssl-review.googlesource.com/9103
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2016-08-05 22:09:35 +00:00
..
asm Switch perlasm calling convention. 2016-06-27 21:59:26 +00:00
CMakeLists.txt
ec_asn1.c Decouple crypto/ec from the OID table. 2016-03-31 22:12:09 +00:00
ec_key.c Add BN_rand_range_ex and use internally. 2016-07-29 16:09:26 +00:00
ec_montgomery.c Use BN_mod_inverse_odd instead of |BN_mod_inverse| for ECC. 2016-08-05 22:09:35 +00:00
ec_test.cc Revert "Move C++ helpers into |bssl| namespace." 2016-07-12 08:09:33 -07:00
ec.c Don't bother storing the cofactor. 2016-06-20 17:26:02 +00:00
example_mul.c Remove some easy obj.h dependencies. 2016-03-31 20:50:33 +00:00
internal.h Don't bother storing the cofactor. 2016-06-20 17:26:02 +00:00
oct.c Require compressed x EC coordinate to be a field element. 2016-03-11 19:13:20 +00:00
p224-64.c Don't bother storing the cofactor. 2016-06-20 17:26:02 +00:00
p256-64.c Don't bother storing the cofactor. 2016-06-20 17:26:02 +00:00
p256-x86_64-table.h Use |alignas| for alignment. 2016-01-25 23:05:04 +00:00
p256-x86_64.c Ensure result affine coordinates in nistz256 are fully reduced. 2016-07-19 22:26:53 +00:00
simple.c Use BN_mod_inverse_odd instead of |BN_mod_inverse| for ECC. 2016-08-05 22:09:35 +00:00
util-64.c Remove unused code for multiple-point ECC multiplication. 2016-03-09 19:47:19 +00:00
wnaf.c Remove |EC_POINTs_mul| & simplify p256-x86_64. 2015-11-19 01:08:46 +00:00