1 2 #ifndef _MP_H_ 3 #define _MP_H_ 4 5 #ifndef HEADER_BN_H_ 6 #include <openssl/bn.h> 7 #endif 8 9 typedef struct _mint { 10 BIGNUM *bn; 11 } MINT; 12 13 void mp_gcd(const MINT *, const MINT *, MINT *); 14 MINT *mp_itom(short); 15 void mp_madd(const MINT *, const MINT *, MINT *); 16 int mp_mcmp(const MINT *, const MINT *); 17 void mp_mdiv(const MINT *, const MINT *, MINT *, MINT *); 18 void mp_mfree(MINT *); 19 void mp_min(MINT *); 20 void mp_mout(const MINT *); 21 void mp_move(const MINT *, MINT *); 22 void mp_msqrt(const MINT *, MINT *, MINT *); 23 void mp_msub(const MINT *, const MINT *, MINT *); 24 char *mp_mtox(const MINT *); 25 void mp_mult(const MINT *, const MINT *, MINT *); 26 void mp_pow(const MINT *, const MINT *, const MINT *, MINT *); 27 void mp_rpow(const MINT *, short, MINT *); 28 void mp_sdiv(const MINT *, short, MINT *, short *); 29 MINT *mp_xtom(const char *); 30 31 #endif /* !_MP_H_ */ 32