boringssl/crypto/ec
Brian Smith 92d60c2059 Use Fermat's Little Theorem when converting points to affine.
Fermat's Little Theorem is already used for the custom curve implementations.
Use it, for the same reasons, for the ec_montgomery-based implementations.

I tested the performance (only) on x86-64 Windows.

Change-Id: Ibf770fd3f2d3e2cfe69f06bc12c81171624ff557
Reviewed-on: https://boringssl-review.googlesource.com/8924
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2016-07-28 18:29:32 +00:00
..
asm Switch perlasm calling convention. 2016-06-27 21:59:26 +00:00
CMakeLists.txt Add Intel's P-256 2015-11-03 22:08:47 +00:00
ec_asn1.c Decouple crypto/ec from the OID table. 2016-03-31 22:12:09 +00:00
ec_key.c Don't bother storing the cofactor. 2016-06-20 17:26:02 +00:00
ec_montgomery.c Use Fermat's Little Theorem when converting points to affine. 2016-07-28 18:29:32 +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 Move & rename |ec_GFp_simple_point_get_affine_coordinates|. 2016-03-28 17:21:32 +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