xref: /inferno-os/libsec/port/dsaalloc.c (revision c094a1409b780cc543c077e8469fdb28b4c90afb)
1 #include "os.h"
2 #include <mp.h>
3 #include <libsec.h>
4 
5 DSApub*
6 dsapuballoc(void)
7 {
8 	DSApub *dsa;
9 
10 	dsa = mallocz(sizeof(*dsa), 1);
11 	if(dsa == nil)
12 		sysfatal("dsapuballoc");
13 	return dsa;
14 }
15 
16 void
17 dsapubfree(DSApub *dsa)
18 {
19 	if(dsa == nil)
20 		return;
21 	mpfree(dsa->p);
22 	mpfree(dsa->q);
23 	mpfree(dsa->alpha);
24 	mpfree(dsa->key);
25 	free(dsa);
26 }
27 
28 
29 DSApriv*
30 dsaprivalloc(void)
31 {
32 	DSApriv *dsa;
33 
34 	dsa = mallocz(sizeof(*dsa), 1);
35 	if(dsa == nil)
36 		sysfatal("dsaprivalloc");
37 	return dsa;
38 }
39 
40 void
41 dsaprivfree(DSApriv *dsa)
42 {
43 	if(dsa == nil)
44 		return;
45 	mpfree(dsa->pub.p);
46 	mpfree(dsa->pub.q);
47 	mpfree(dsa->pub.alpha);
48 	mpfree(dsa->pub.key);
49 	mpfree(dsa->secret);
50 	free(dsa);
51 }
52 
53 DSAsig*
54 dsasigalloc(void)
55 {
56 	DSAsig *dsa;
57 
58 	dsa = mallocz(sizeof(*dsa), 1);
59 	if(dsa == nil)
60 		sysfatal("dsasigalloc");
61 	return dsa;
62 }
63 
64 void
65 dsasigfree(DSAsig *dsa)
66 {
67 	if(dsa == nil)
68 		return;
69 	mpfree(dsa->r);
70 	mpfree(dsa->s);
71 	free(dsa);
72 }
73