diff options
author | David Benjamin <davidben@google.com> | 2023-02-13 18:33:02 -0500 |
---|---|---|
committer | Boringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-07-11 19:05:08 +0000 |
commit | 417069f8b2fd6dd4f8c2f5f69de7c038a2397050 (patch) | |
tree | a756b9a6d276c71b0b978fc9911cef88d7a934de /decrepit | |
parent | 8267582590020ca2877592084f3a56b2f6e3209b (diff) | |
download | boringssl-417069f8b2fd6dd4f8c2f5f69de7c038a2397050.zip boringssl-417069f8b2fd6dd4f8c2f5f69de7c038a2397050.tar.gz boringssl-417069f8b2fd6dd4f8c2f5f69de7c038a2397050.tar.bz2 |
Make built-in curves static.
This replaces our dynamically creating singleton EC_GROUPs from curve
data with static EC_GROUP instances.
They're just shy of being fully static because delocate still forces us
go to through CRYPTO_once to initialize structures with pointers.
(Though, without delocate, the loader would need similar initialization
via a runtime relocation.)
This means we can now have functions like EC_group_p256(), analogous to
EVP_sha256(). These are infallible functions that return const EC_GROUP
pointers. Although there is an initial 2KiB hit to binary size (now we
precompute a few more Montgomery values), I'm hoping it'll eventually
help binaries that only use a few of the curves to drop the others. Also
it removes some locks used to initialize the static curve objects, as
well as removing an annoying error condition.
Bug: 20
Change-Id: Id051c5439f2b2fe2b09bf10964d656503ee27d9e
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/60931
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'decrepit')
0 files changed, 0 insertions, 0 deletions