1 /* $FreeBSD$ */ 2 3 #ifndef _MP_H_ 4 #define _MP_H_ 5 6 #ifndef HEADER_BN_H_ 7 #include <openssl/bn.h> 8 #endif 9 10 typedef struct _mint { 11 BIGNUM *bn; 12 } MINT; 13 14 void gcd(const MINT *, const MINT *, MINT *); 15 MINT *itom(short); 16 void madd(const MINT *, const MINT *, MINT *); 17 int mcmp(const MINT *, const MINT *); 18 void mdiv(const MINT *, const MINT *, MINT *, MINT *); 19 void mfree(MINT *); 20 void min(MINT *); 21 void mout(const MINT *); 22 void move(const MINT *, MINT *); 23 void msqrt(const MINT *, MINT *, MINT *); 24 void msub(const MINT *, const MINT *, MINT *); 25 char *mtox(const MINT *); 26 void mult(const MINT *, const MINT *, MINT *); 27 void pow(const MINT *, const MINT *, const MINT *, MINT *); 28 void rpow(const MINT *, short, MINT *); 29 void sdiv(const MINT *, short, MINT *, short *); 30 MINT *xtom(const char *); 31 32 #endif /* !_MP_H_ */ 33