1656c5bc7SDima Dorfman /* $FreeBSD$ */ 2656c5bc7SDima Dorfman 3656c5bc7SDima Dorfman #ifndef _MP_H_ 4656c5bc7SDima Dorfman #define _MP_H_ 5656c5bc7SDima Dorfman 6cb9c19ffSMark Murray #ifndef HEADER_BN_H_ 7656c5bc7SDima Dorfman #include <openssl/bn.h> 8cb9c19ffSMark Murray #endif 9656c5bc7SDima Dorfman 10656c5bc7SDima Dorfman typedef struct _mint { 11656c5bc7SDima Dorfman BIGNUM *bn; 12656c5bc7SDima Dorfman } MINT; 13656c5bc7SDima Dorfman 14b3aaa0ccSEd Schouten void mp_gcd(const MINT *, const MINT *, MINT *); 15b3aaa0ccSEd Schouten MINT *mp_itom(short); 16b3aaa0ccSEd Schouten void mp_madd(const MINT *, const MINT *, MINT *); 17b3aaa0ccSEd Schouten int mp_mcmp(const MINT *, const MINT *); 18b3aaa0ccSEd Schouten void mp_mdiv(const MINT *, const MINT *, MINT *, MINT *); 19b3aaa0ccSEd Schouten void mp_mfree(MINT *); 20b3aaa0ccSEd Schouten void mp_min(MINT *); 21b3aaa0ccSEd Schouten void mp_mout(const MINT *); 22b3aaa0ccSEd Schouten void mp_move(const MINT *, MINT *); 23b3aaa0ccSEd Schouten void mp_msqrt(const MINT *, MINT *, MINT *); 24b3aaa0ccSEd Schouten void mp_msub(const MINT *, const MINT *, MINT *); 25b3aaa0ccSEd Schouten char *mp_mtox(const MINT *); 26b3aaa0ccSEd Schouten void mp_mult(const MINT *, const MINT *, MINT *); 27b3aaa0ccSEd Schouten void mp_pow(const MINT *, const MINT *, const MINT *, MINT *); 28b3aaa0ccSEd Schouten void mp_rpow(const MINT *, short, MINT *); 29b3aaa0ccSEd Schouten void mp_sdiv(const MINT *, short, MINT *, short *); 30b3aaa0ccSEd Schouten MINT *mp_xtom(const char *); 31656c5bc7SDima Dorfman 32656c5bc7SDima Dorfman #endif /* !_MP_H_ */ 33