Blob


1 #include "os.h"
2 #include <mp.h>
3 #include <libsec.h>
5 DSApub*
6 dsapuballoc(void)
7 {
8 DSApub *dsa;
10 dsa = mallocz(sizeof(*dsa), 1);
11 if(dsa == nil)
12 sysfatal("dsapuballoc");
13 return dsa;
14 }
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 }
29 DSApriv*
30 dsaprivalloc(void)
31 {
32 DSApriv *dsa;
34 dsa = mallocz(sizeof(*dsa), 1);
35 if(dsa == nil)
36 sysfatal("dsaprivalloc");
37 return dsa;
38 }
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 }
53 DSAsig*
54 dsasigalloc(void)
55 {
56 DSAsig *dsa;
58 dsa = mallocz(sizeof(*dsa), 1);
59 if(dsa == nil)
60 sysfatal("dsasigalloc");
61 return dsa;
62 }
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 }