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