Rename ECDH benchmark -> ECDHComputeKey and add ECDHKeyGen. This makes clearer what the benchmarks measure, and also allows tracking keygen performance separately as well. This is a follow-up to commit ed2f7e8c26006ff9284279702708797b46d590d6. Overview: ``` -------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------- BM_SpeedECDHKeyGen/p224/threads:1 86029 ns 86029 ns 8127 BM_SpeedECDHKeyGen/p256/threads:1 7060 ns 7058 ns 98374 BM_SpeedECDHKeyGen/p384/threads:1 309585 ns 309301 ns 2267 BM_SpeedECDHKeyGen/p521/threads:1 776386 ns 775704 ns 899 BM_SpeedECDHComputeKey/p224/threads:1 91222 ns 91195 ns 7664 BM_SpeedECDHComputeKey/p256/threads:1 39382 ns 39329 ns 17586 BM_SpeedECDHComputeKey/p384/threads:1 333345 ns 333123 ns 2092 BM_SpeedECDHComputeKey/p521/threads:1 848211 ns 846023 ns 828 BM_SpeedECDHEphemeral/p224/threads:1 183712 ns 183670 ns 3809 BM_SpeedECDHEphemeral/p256/threads:1 50315 ns 50290 ns 13886 BM_SpeedECDHEphemeral/p384/threads:1 666594 ns 666588 ns 1046 BM_SpeedECDHEphemeral/p521/threads:1 1692489 ns 1692147 ns 414 ``` Change-Id: I562a6b51dd4d75dc559a70375b437f416a6a6964 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/101087 Auto-Submit: Rudolf Polzer <rpolzer@google.com> Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: David Benjamin <davidben@google.com>
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.
Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.
Programs ship their own copies of BoringSSL when they use it and we update everything as needed when deciding to make API changes. This allows us to mostly avoid compromises in the name of compatibility. It works for us, but it may not work for you.
BoringSSL arose because Google used OpenSSL for many years in various ways and, over time, built up a large number of patches that were maintained while tracking upstream OpenSSL. As Google's product portfolio became more complex, more copies of OpenSSL sprung up and the effort involved in maintaining all these patches in multiple places was growing steadily.
Currently BoringSSL is the SSL library in Chrome/Chromium, Android (but it's not part of the NDK) and a number of other apps/programs.
Project links:
To file a security issue, use the Chromium process and mention in the report this is for BoringSSL. You can ignore the parts of the process that are specific to Chromium/Chrome.
There are other files in this directory which might be helpful: