1 #include "os.h"
2 #include <mp.h>
3 #include <libsec.h>
4 
5 EGpub*
egpuballoc(void)6 egpuballoc(void)
7 {
8 	EGpub *eg;
9 
10 	eg = mallocz(sizeof(*eg), 1);
11 	if(eg == nil)
12 		sysfatal("egpuballoc");
13 	return eg;
14 }
15 
16 void
egpubfree(EGpub * eg)17 egpubfree(EGpub *eg)
18 {
19 	if(eg == nil)
20 		return;
21 	mpfree(eg->p);
22 	mpfree(eg->alpha);
23 	mpfree(eg->key);
24 	free(eg);
25 }
26 
27 
28 EGpriv*
egprivalloc(void)29 egprivalloc(void)
30 {
31 	EGpriv *eg;
32 
33 	eg = mallocz(sizeof(*eg), 1);
34 	if(eg == nil)
35 		sysfatal("egprivalloc");
36 	return eg;
37 }
38 
39 void
egprivfree(EGpriv * eg)40 egprivfree(EGpriv *eg)
41 {
42 	if(eg == nil)
43 		return;
44 	mpfree(eg->pub.p);
45 	mpfree(eg->pub.alpha);
46 	mpfree(eg->pub.key);
47 	mpfree(eg->secret);
48 	free(eg);
49 }
50 
51 EGsig*
egsigalloc(void)52 egsigalloc(void)
53 {
54 	EGsig *eg;
55 
56 	eg = mallocz(sizeof(*eg), 1);
57 	if(eg == nil)
58 		sysfatal("egsigalloc");
59 	return eg;
60 }
61 
62 void
egsigfree(EGsig * eg)63 egsigfree(EGsig *eg)
64 {
65 	if(eg == nil)
66 		return;
67 	mpfree(eg->r);
68 	mpfree(eg->s);
69 	free(eg);
70 }
71