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