diff options
author | Brian Smith <brian@briansmith.org> | 2016-07-25 23:36:58 +0300 |
---|---|---|
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | 2016-07-29 19:09:26 +0300 |
commit | 4edca0b308eae525ccb54ed61ef92b61b51c114c (patch) | |
tree | 135d791b4188088f0d8826b754b542e1aeac561a /include/openssl/bn.h | |
parent | 4792110b2bb1a5833e761e49f41b6c1fd83066aa (diff) |
Add BN_rand_range_ex and use internally.
There are many cases where we need |BN_rand_range| but with a minimum
value other than 0. |BN_rand_range_ex| provides that.
Change-Id: I564326c9206bf4e20a37414bdbce16a951c148ce
Reviewed-on: https://boringssl-review.googlesource.com/8921
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Diffstat (limited to 'include/openssl/bn.h')
-rw-r--r-- | include/openssl/bn.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/include/openssl/bn.h b/include/openssl/bn.h index a6866964..51a63e65 100644 --- a/include/openssl/bn.h +++ b/include/openssl/bn.h @@ -436,6 +436,10 @@ OPENSSL_EXPORT int BN_sqrt(BIGNUM *out_sqrt, const BIGNUM *in, BN_CTX *ctx); * less than, equal to or greater than |b|, respectively. */ OPENSSL_EXPORT int BN_cmp(const BIGNUM *a, const BIGNUM *b); +/* BN_cmp_word is like |BN_cmp| except it takes its second argument as a + * |BN_ULONG| instead of a |BIGNUM|. */ +int BN_cmp_word(const BIGNUM *a, BN_ULONG b); + /* BN_ucmp returns a value less than, equal to or greater than zero if the * absolute value of |a| is less than, equal to or greater than the absolute * value of |b|, respectively. */ @@ -587,10 +591,16 @@ OPENSSL_EXPORT int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); /* BN_pseudo_rand is an alias for |BN_rand|. */ OPENSSL_EXPORT int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); -/* BN_rand_range sets |rnd| to a random value [0..range). It returns one on - * success and zero otherwise. */ +/* BN_rand_range is equivalent to |BN_rand_range_ex| with |min_inclusive| set + * to zero and |max_exclusive| set to |range|. */ OPENSSL_EXPORT int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); +/* BN_rand_range_ex sets |rnd| to a random value in + * [min_inclusive..max_exclusive). It returns one on success and zero + * otherwise. */ +OPENSSL_EXPORT int BN_rand_range_ex(BIGNUM *r, BN_ULONG min_inclusive, + const BIGNUM *max_exclusive); + /* BN_pseudo_rand_range is an alias for BN_rand_range. */ OPENSSL_EXPORT int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); |