boringssl/crypto/fipsmodule/ec
David Benjamin 5b05988add Implement field_{mul,sqr} in p224-64.c with p224_felems.
This is in preparation for representing field elements with
stack-allocated types in the generic code. While there is likely little
benefit in threading all the turned field arithmetic through all the
generic code, and the P-224 logic, in particular, does not have a tight
enough abstraction for this, the current implementations depend on
BN_div, which is not compatible with stack-allocating things and avoiding
malloc.

This also speeds things up slightly, now that benchmarks cover point
validation.

Before:
Did 82786 ECDH P-224 operations in 10024326us (8258.5 ops/sec)
After:
Did 89991 ECDH P-224 operations in 10012429us (8987.9 ops/sec)

Change-Id: I468483b49f5dc69187aebd62834365ce5caab795
Reviewed-on: https://boringssl-review.googlesource.com/26971
Reviewed-by: Adam Langley <agl@google.com>
2018-04-02 18:27:45 +00:00
..
asm Merge Intel copyright notice into standard 2018-02-12 21:44:27 +00:00
ec_key.c Store EC_KEY's private key as an EC_SCALAR. 2018-03-07 21:17:31 +00:00
ec_montgomery.c Add a function which folds BN_MONT_CTX_{new,set} together. 2018-02-02 20:23:25 +00:00
ec_scalar_base_mult_tests.txt Add some EC base point multiplication test vectors. 2018-03-27 23:33:24 +00:00
ec_test.cc Add test coverage for the a != -3 case. 2018-04-02 18:25:08 +00:00
ec.c Don't crash when failing to set affine coordinates when the generator is missing. 2018-02-07 23:08:17 +00:00
internal.h Implement field_{mul,sqr} in p224-64.c with p224_felems. 2018-04-02 18:27:45 +00:00
make_ec_scalar_base_mult_tests.go Add some EC base point multiplication test vectors. 2018-03-27 23:33:24 +00:00
make_p256-x86_64-table.go Add utility program for emitting P-256 x86-64 table. 2018-03-26 16:28:42 +00:00
oct.c Name constant-time functions more consistently. 2018-03-29 23:30:55 +00:00
p224-64.c Implement field_{mul,sqr} in p224-64.c with p224_felems. 2018-04-02 18:27:45 +00:00
p256-x86_64_test.cc Add a function which folds BN_MONT_CTX_{new,set} together. 2018-02-02 20:23:25 +00:00
p256-x86_64_tests.txt
p256-x86_64-table.h Add utility program for emitting P-256 x86-64 table. 2018-03-26 16:28:42 +00:00
p256-x86_64.c Merge Intel copyright notice into standard 2018-02-12 21:44:27 +00:00
p256-x86_64.h Merge Intel copyright notice into standard 2018-02-12 21:44:27 +00:00
simple.c Implement field_{mul,sqr} in p224-64.c with p224_felems. 2018-04-02 18:27:45 +00:00
util.c ec/p256.c: fiat-crypto field arithmetic (64, 32) 2017-12-11 17:55:46 +00:00
wnaf.c Remove redundant length-check in |ec_wNAF_mul|. 2018-02-21 17:03:14 +00:00