summaryrefslogtreecommitdiffstats
path: root/freebsd/crypto/openssl/crypto/bn_int.h
blob: 9c42d6f35dc343d01d6608ea18a6605fe8c16830 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
 * Some BIGNUM functions assume most significant limb to be non-zero, which
 * is customarily arranged by bn_correct_top. Output from below functions
 * is not processed with bn_correct_top, and for this reason it may not be
 * returned out of public API. It may only be passed internally into other
 * functions known to support non-minimal or zero-padded BIGNUMs.
 */
int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
                          BN_MONT_CTX *mont, BN_CTX *ctx);
int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
                         BN_CTX *ctx);
int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
                         const BIGNUM *m);

int bn_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen);