Go to file
Brian Smith 24493a4ff4 Always cache Montgomery contexts in RSA.
Simplify the code by always caching Montgomery contexts in the RSA
structure, regardless of the |RSA_FLAG_CACHE_PUBLIC| and
|RSA_FLAG_CACHE_PRIVATE| flags. Deprecate those flags.

Now that we do this no more than once per key per RSA exponent, the
private key exponents better because the initialization of the
Montgomery contexts isn't perfectly side-channel protected.

Change-Id: I4fbcfec0f2f628930bfeb811285b0ae3d103ac5e
Reviewed-on: https://boringssl-review.googlesource.com/7521
Reviewed-by: David Benjamin <davidben@google.com>
2016-03-25 20:04:24 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto Always cache Montgomery contexts in RSA. 2016-03-25 20:04:24 +00:00
decrepit Add |DH_generate_parameters| to decrepit. 2016-03-10 17:44:59 +00:00
fuzz Update FUZZING documentation about max_len. 2016-03-22 18:46:35 +00:00
include/openssl Always cache Montgomery contexts in RSA. 2016-03-25 20:04:24 +00:00
ssl Print an error if no tests match in runner. 2016-03-24 19:30:29 +00:00
tool Move function declarations to internal header. 2016-03-20 16:56:32 +00:00
util Fixing assembly coverage 2016-03-23 18:23:42 +00:00
.clang-format Inital import. 2014-06-20 13:17:32 -07:00
.gitignore
BUILDING.md Enable upstream's ChaCha20 assembly for x86 and ARM (32- and 64-bit). 2016-02-23 17:19:45 +00:00
CMakeLists.txt Build with -Wmissing-prototypes -Wmissing-declarations. 2016-03-20 17:05:03 +00:00
codereview.settings
CONTRIBUTING.md Add a CONTRIBUTING.md file. 2016-02-10 21:38:19 +00:00
FUZZING.md Update FUZZING documentation about max_len. 2016-03-22 18:46:35 +00:00
LICENSE Add some bug references to the LICENSE file. 2016-02-22 20:16:48 +00:00
PORTING.md Document the d2i object reuse changes in PORTING.md. 2016-02-02 16:21:20 +00:00
README.md Add a CONTRIBUTING.md file. 2016-02-10 21:38:19 +00:00
STYLE.md Update link to Google style guide. 2015-11-03 02:02:12 +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: