Blob


1 #include "os.h"
2 #include <mp.h>
3 #include <libsec.h>
5 RSApub*
6 rsapuballoc(void)
7 {
8 RSApub *rsa;
10 rsa = mallocz(sizeof(*rsa), 1);
11 if(rsa == nil)
12 sysfatal("rsapuballoc");
13 return rsa;
14 }
16 void
17 rsapubfree(RSApub *rsa)
18 {
19 if(rsa == nil)
20 return;
21 mpfree(rsa->ek);
22 mpfree(rsa->n);
23 free(rsa);
24 }
27 RSApriv*
28 rsaprivalloc(void)
29 {
30 RSApriv *rsa;
32 rsa = mallocz(sizeof(*rsa), 1);
33 if(rsa == nil)
34 sysfatal("rsaprivalloc");
35 return rsa;
36 }
38 void
39 rsaprivfree(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 }