bn_int.h revision 340704
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 */ 8int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, 9 BN_MONT_CTX *mont, BN_CTX *ctx); 10int bn_from_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, 11 BN_CTX *ctx); 12int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, 13 BN_CTX *ctx); 14int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, 15 const BIGNUM *m); 16int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, 17 const BIGNUM *m); 18int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); 19int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); 20 21int bn_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); 22