aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn.h
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2014-04-08 20:15:18 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2014-04-08 20:15:18 +0000
commit06369e3974fbc83d3778807c090fbe69f20a27d4 (patch)
tree287eb1e7dc05df721bd9cce14889bd9c693295e3 /crypto/bn/bn.h
parent2dc7f78169ea4545102b8d9b0604f785cdc798f5 (diff)
downloadsrc-06369e3974fbc83d3778807c090fbe69f20a27d4.tar.gz
src-06369e3974fbc83d3778807c090fbe69f20a27d4.zip
Import OpenSSL 1.0.1g.vendor/openssl/1.0.1g
Approved by: benl (maintainer)
Notes
Notes: svn path=/vendor-crypto/openssl/dist/; revision=264271 svn path=/vendor-crypto/openssl/1.0.1g/; revision=264272; tag=vendor/openssl/1.0.1g
Diffstat (limited to 'crypto/bn/bn.h')
-rw-r--r--crypto/bn/bn.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h
index f34248ec4f87..21a1a3fe35c0 100644
--- a/crypto/bn/bn.h
+++ b/crypto/bn/bn.h
@@ -538,6 +538,8 @@ BIGNUM *BN_mod_inverse(BIGNUM *ret,
BIGNUM *BN_mod_sqrt(BIGNUM *ret,
const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);
+void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords);
+
/* Deprecated versions */
#ifndef OPENSSL_NO_DEPRECATED
BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe,
@@ -774,11 +776,20 @@ int RAND_pseudo_bytes(unsigned char *buf,int num);
#define bn_fix_top(a) bn_check_top(a)
+#define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2)
+#define bn_wcheck_size(bn, words) \
+ do { \
+ const BIGNUM *_bnum2 = (bn); \
+ assert(words <= (_bnum2)->dmax && words >= (_bnum2)->top); \
+ } while(0)
+
#else /* !BN_DEBUG */
#define bn_pollute(a)
#define bn_check_top(a)
#define bn_fix_top(a) bn_correct_top(a)
+#define bn_check_size(bn, bits)
+#define bn_wcheck_size(bn, words)
#endif