#include "os.h" | |
#include <mp.h> | |
#include <libsec.h> | |
RSApub* | |
rsapuballoc(void) | |
{ | |
RSApub *rsa; | |
rsa = mallocz(sizeof(*rsa), 1); | |
if(rsa == nil) | |
sysfatal("rsapuballoc"); | |
return rsa; | |
} | |
void | |
rsapubfree(RSApub *rsa) | |
{ | |
if(rsa == nil) | |
return; | |
mpfree(rsa->ek); | |
mpfree(rsa->n); | |
free(rsa); | |
} | |
RSApriv* | |
rsaprivalloc(void) | |
{ | |
RSApriv *rsa; | |
rsa = mallocz(sizeof(*rsa), 1); | |
if(rsa == nil) | |
sysfatal("rsaprivalloc"); | |
return rsa; | |
} | |
void | |
rsaprivfree(RSApriv *rsa) | |
{ | |
if(rsa == nil) | |
return; | |
mpfree(rsa->pub.ek); | |
mpfree(rsa->pub.n); | |
mpfree(rsa->dk); | |
mpfree(rsa->p); | |
mpfree(rsa->q); | |
mpfree(rsa->kp); | |
mpfree(rsa->kq); | |
mpfree(rsa->c2); | |
free(rsa); | |
} |