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