bn_int.h 1.3 KB

123456789101112131415161718192021222324
  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. int bn_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen);
  21. BIGNUM *bn_lebin2bn(const unsigned char *s, int len, BIGNUM *ret);
  22. int bn_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen);