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