rsa/rsa_ossl.c: fix and extend commentary [skip ci].
[openssl.git] / crypto / bn_int.h
1 /*
2  * Some BIGNUM functions assume most significant limb to be non-zero, which
3  * is customarily arranged by bn_correct_top. Output from below functions
4  * is not processed with bn_correct_top, and for this reason it may not be
5  * returned out of public API. It may only be passed internally into other
6  * functions known to support non-minimal or zero-padded BIGNUMs.
7  */
8 int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
9                           BN_MONT_CTX *mont, BN_CTX *ctx);
10 int bn_from_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
11                            BN_CTX *ctx);
12 int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,
13                          BN_CTX *ctx);
14 int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
15                          const BIGNUM *m);
16 int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
17                          const BIGNUM *m);
18 int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
19 int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx);
20
21 int bn_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen);