boringssl/crypto/fipsmodule/ec
David Benjamin eb9232f06f Fully reduce scalars in EC_POINT_mul.
Along the way, this allows us to tidy up the invariants associated with
EC_SCALAR. They were fuzzy around ec_point_mul_scalar and some
computations starting from the digest in ECDSA. The latter I've put into
the type system with EC_LOOSE_SCALAR.

As for the former, Andres points out that particular EC implementations
are only good for scalars within a certain range, otherwise you may need
extra work to avoid the doubling case. To simplify curve
implementations, we reduce them fully rather than do the looser bit size
check, so they can have the stronger precondition to work with.

Change-Id: Iff9a0404f89adf8f7f914f8e8246c9f3136453f1
Reviewed-on: https://boringssl-review.googlesource.com/23664
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-12-08 17:55:54 +00:00
..
asm Revert ADX due to build issues. 2017-08-15 18:56:09 +00:00
ec_key.c Don't allow negative EC_KEY private keys. 2017-12-05 19:46:27 +00:00
ec_montgomery.c Refcount EC_GROUP. 2017-10-27 17:48:27 +00:00
ec_test.cc Don't allow negative EC_KEY private keys. 2017-12-05 19:46:27 +00:00
ec.c Fully reduce scalars in EC_POINT_mul. 2017-12-08 17:55:54 +00:00
internal.h Fully reduce scalars in EC_POINT_mul. 2017-12-08 17:55:54 +00:00
oct.c Check EC_POINT/EC_GROUP compatibility more accurately. 2017-10-28 08:02:50 +00:00
p224-64.c Make ECDSA signing 10% faster and plug some timing leaks. 2017-11-22 22:51:40 +00:00
p256-64.c Make ECDSA signing 10% faster and plug some timing leaks. 2017-11-22 22:51:40 +00:00
p256-x86_64_test.cc Align the tables in P-256 select w[57] tests. 2017-08-09 01:04:57 +00:00
p256-x86_64_tests.txt Move ec/ and ecdsa/ into fipsmodule/ 2017-05-04 20:27:23 +00:00
p256-x86_64-table.h Run the comment converter on libcrypto. 2017-08-18 21:49:04 +00:00
p256-x86_64.c Make ECDSA signing 10% faster and plug some timing leaks. 2017-11-22 22:51:40 +00:00
p256-x86_64.h Run the comment converter on libcrypto. 2017-08-18 21:49:04 +00:00
simple.c Remove unused function. 2017-11-20 18:32:44 +00:00
util-64.c Run the comment converter on libcrypto. 2017-08-18 21:49:04 +00:00
wnaf.c Make ECDSA signing 10% faster and plug some timing leaks. 2017-11-22 22:51:40 +00:00