mirror of https://github.com/0intro/conterm
53 lines
657 B
C
53 lines
657 B
C
#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);
|
|
}
|