Go to file
David Benjamin f11ea19043 Actually benchmark RSA verification with a fresh key.
https://boringssl-review.googlesource.com/10522 didn't actually do what
it was supposed to do. In fact, it appears, not paying attention to it,
we've managed to make RSA verify slower than ECDSA verify. Oops.

Did 32000 RSA 2048 verify (same key) operations in 1016746us (31473.0 ops/sec)
Did 5525 RSA 2048 verify (fresh key) operations in 1067209us (5177.1 ops/sec)
Did 8957 ECDSA P-256 verify operations in 1078570us (8304.5 ops/sec)

The difference is in setting up the BN_MONT_CTX, either computing R^2 or n0.
I'm guessing R^2. The current algorithm needs to be constant-time, but we can
split out a variable-time one if necessary.

Change-Id: Ie064a0e464aaa803815b56a6734bc9e2becef1a7
Reviewed-on: https://boringssl-review.googlesource.com/27244
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2018-04-10 00:58:31 +00:00
.github
crypto Don't write out a bad OID 2018-04-05 23:56:01 +00:00
decrepit fix compilation error for non-english windows (like cjk) 2018-03-15 17:52:23 +00:00
fipstools Merge NIAP and FIPS test suites. 2018-02-20 19:41:45 +00:00
fuzz Add a function which folds BN_MONT_CTX_{new,set} together. 2018-02-02 20:23:25 +00:00
include/openssl Implement TLS 1.3 draft28. 2018-04-05 03:36:11 +00:00
infra/config CQ: use new luci.boringssl.try bucket. 2018-03-20 16:31:15 +00:00
ssl Implement TLS 1.3 draft28. 2018-04-05 03:36:11 +00:00
third_party Fix typo in point_add. 2018-03-23 21:12:29 +00:00
tool Actually benchmark RSA verification with a fresh key. 2018-04-10 00:58:31 +00:00
util Revert "Update SDE to 8.16.0." 2018-03-30 17:59:40 +00:00
.clang-format Import `newhope' (post-quantum key exchange). 2016-04-26 22:53:59 +00:00
.gitignore [ndk] Change ndk deps in src and relocate to third_party/boringssl 2018-01-22 21:08:28 +00:00
API-CONVENTIONS.md Fix API-CONVENTIONS.md typos. 2017-01-04 01:46:32 +00:00
BUILDING.md Add -DOPENSSL_SMALL to CMake. 2018-03-23 21:07:48 +00:00
CMakeLists.txt Add -DOPENSSL_SMALL to CMake. 2018-03-23 21:07:48 +00:00
codereview.settings No-op change to trigger the new Bazel bot. 2016-07-07 12:07:04 -07:00
CONTRIBUTING.md
FUZZING.md Fix typo in FUZZING.md. 2017-07-06 18:25:07 +00:00
INCORPORATING.md Update links to Bazel's site. 2016-10-31 18:16:58 +00:00
LICENSE Note licenses for support code in the top-level LICENSE file. 2018-03-27 17:03:47 +00:00
PORTING.md Add cpu-aarch64-fuchsia.c 2018-02-13 20:12:47 +00:00
README.md Add an API-CONVENTIONS.md document. 2016-08-04 23:27:49 +00:00
sources.cmake Add some EC base point multiplication test vectors. 2018-03-27 23:33:24 +00:00
STYLE.md Fix some style guide samples. 2017-08-31 14:24:45 +00:00

BoringSSL

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.

There are other files in this directory which might be helpful: