1*8ccd4a63SDavid du Colombier #include "os.h" 2*8ccd4a63SDavid du Colombier #include <mp.h> 3*8ccd4a63SDavid du Colombier #include <libsec.h> 4*8ccd4a63SDavid du Colombier 5*8ccd4a63SDavid du Colombier RSApub* rsapuballoc(void)6*8ccd4a63SDavid du Colombierrsapuballoc(void) 7*8ccd4a63SDavid du Colombier { 8*8ccd4a63SDavid du Colombier RSApub *rsa; 9*8ccd4a63SDavid du Colombier 10*8ccd4a63SDavid du Colombier rsa = mallocz(sizeof(*rsa), 1); 11*8ccd4a63SDavid du Colombier if(rsa == nil) 12*8ccd4a63SDavid du Colombier sysfatal("rsapuballoc"); 13*8ccd4a63SDavid du Colombier return rsa; 14*8ccd4a63SDavid du Colombier } 15*8ccd4a63SDavid du Colombier 16*8ccd4a63SDavid du Colombier void rsapubfree(RSApub * rsa)17*8ccd4a63SDavid du Colombierrsapubfree(RSApub *rsa) 18*8ccd4a63SDavid du Colombier { 19*8ccd4a63SDavid du Colombier if(rsa == nil) 20*8ccd4a63SDavid du Colombier return; 21*8ccd4a63SDavid du Colombier mpfree(rsa->ek); 22*8ccd4a63SDavid du Colombier mpfree(rsa->n); 23*8ccd4a63SDavid du Colombier free(rsa); 24*8ccd4a63SDavid du Colombier } 25*8ccd4a63SDavid du Colombier 26*8ccd4a63SDavid du Colombier 27*8ccd4a63SDavid du Colombier RSApriv* rsaprivalloc(void)28*8ccd4a63SDavid du Colombierrsaprivalloc(void) 29*8ccd4a63SDavid du Colombier { 30*8ccd4a63SDavid du Colombier RSApriv *rsa; 31*8ccd4a63SDavid du Colombier 32*8ccd4a63SDavid du Colombier rsa = mallocz(sizeof(*rsa), 1); 33*8ccd4a63SDavid du Colombier if(rsa == nil) 34*8ccd4a63SDavid du Colombier sysfatal("rsaprivalloc"); 35*8ccd4a63SDavid du Colombier return rsa; 36*8ccd4a63SDavid du Colombier } 37*8ccd4a63SDavid du Colombier 38*8ccd4a63SDavid du Colombier void rsaprivfree(RSApriv * rsa)39*8ccd4a63SDavid du Colombierrsaprivfree(RSApriv *rsa) 40*8ccd4a63SDavid du Colombier { 41*8ccd4a63SDavid du Colombier if(rsa == nil) 42*8ccd4a63SDavid du Colombier return; 43*8ccd4a63SDavid du Colombier mpfree(rsa->pub.ek); 44*8ccd4a63SDavid du Colombier mpfree(rsa->pub.n); 45*8ccd4a63SDavid du Colombier mpfree(rsa->dk); 46*8ccd4a63SDavid du Colombier mpfree(rsa->p); 47*8ccd4a63SDavid du Colombier mpfree(rsa->q); 48*8ccd4a63SDavid du Colombier mpfree(rsa->kp); 49*8ccd4a63SDavid du Colombier mpfree(rsa->kq); 50*8ccd4a63SDavid du Colombier mpfree(rsa->c2); 51*8ccd4a63SDavid du Colombier free(rsa); 52*8ccd4a63SDavid du Colombier } 53